Is there an Eclipse plugin to run system shell in the Console? [closed]
Asked Answered
G

15

108

Do you know of any Eclipse plugin to run a system shell in the included console? It would be awesome. Dolphin, KDE's file navigator, has this feature, you can press F4 and a console shows located on the directory you are standing.

It would be awesome to have a similar feature on Eclipse, with the shell located on the directory of the project/file you are working on.

Does this plugin exist?

If not, would it be too complicated to code such a plugin? I have no idea about eclipse plugin development (yet).

Gathering answered 13/10, 2009 at 20:2 Comment(3)
The justification given to close this is INVALID. "tend to attract opinionated answers and spam" ?? This question is very specific, and would elicit only very specific answers. This is getting out of hand.Petaloid
Yeah, I don't use Eclipse anymore, but it's a "Yes, here's one of them" kind of question. It doesn't ask which one is the best, or if it's a good practice. Also, the accepted answer is pretty specific.Gathering
Check out EasyShell github.com/anb0s/EasyShell it is very configurable. I use it with cmd and git bash on Windows. There is also marketplace.eclipse.org/content/tm-terminal if you want the shell to be a view in Eclipse, which works with cmd and git bash, etc.Discretional
E
97

It exists, and it's built into Eclipse! Go to the Remote Systems view, and you'll see an entry for "Local". Right-click "Local Shells" and choose "Launch Shell."

You can't launch it directly from the project navigator. But you can right-click in the navigator and choose "Show in Remote Systems view". From there you can right-click the parent folder and choose "Launch Shell."

Aptana also has a Terminal view, and a command to open the selected file in the terminal.

Erwin answered 13/10, 2009 at 20:14 Comment(8)
In case you haven't installed something that depends on it already, you will first have to do Install New Software -> General Purpose Tools -> Remote System Explorer End-User Runtime.Deadlock
Very rough indeed. I tried running sbt in such a view, and it crashed.Decor
Added note about Aptana.Erwin
I tried this solution but didn't work for me. If I right-click on 'Local Shells' and then select 'launch shell' this displays a so-called Remote Shell in Local. This shell actually does not response to commands (something I still don't understand). If instead of selecting 'launch shell' the option 'Commands>Shell Script>Open Terminal' is selected then a local terminal which actually works is displayed.Depreciable
Local shell is deprecated, the suggested default replacement is TCF Terminal (Console) View, under Mobile and Device Development supportIntima
Just for reference since I was brand new to this: Go to Window->Show View->Other...->Remote Systems->Remote Systems to show the Remote Systems ViewAlcaic
This requires a plugin (the Remote System Explorer plugin from Eclipse Marketplace) that may or may not come with whatever install of Eclipse you have.Wendell
There's a package TM Terminal that does the trick. After installing this one, there's a View Terminal available.Usherette
C
69

You don't need a plugin (including the Remote System View plugin), you can do this with the basic platform. You just create an external tool configuration. I've added an image to demonstrate.

screenshot from Mac of external tools configuration dialog with colored arrows

Orange Arrows: Use the external tool button on the toolbar and select External Tools Configuration.... Click on Program then up above click on the New launch configuration icon.

Green Arrows: Use the Name field and name your new tool something clever like "Launch Shell". In the Location area enter a shell command e.g. /bin/bash. A more generic approach would be to use ${env_var:SHELL} which under the Mac (and I hope Linux) launches the default shell. Then in the Working Directory you can use the variable ${project_loc} to set the default directory to your current project location. This will mean that when you launch the tool, you have to make sure you have your cursor in an active project on the explorer or in an appropriate editor window. Under the Arguments area use -i for interactive mode.

Blue arrows: Switch to the Build tab and uncheck Build before launch. Then switch to the Common tab and click to add your command to the favorites menu. Now click Apply and Close. Make sure the console view is showing (Window->Show View->Console). Click on a project in the Package or Project Explorer or click in an editor window that has code for a project of interest. Then click on the external tool icon and select Launch Shell, you now have an interactive shell window in the console view.

In the lower left of the image you can see the tcsh shell in action.

Windows Note: This also works in Windows but you use ${env_var:ComSpec} in the location field and you can leave the arguments field blank.

Carsick answered 10/9, 2013 at 22:25 Comment(10)
Will that be external window?Blatherskite
Found answer by @Andre, and combined into this one.Blatherskite
No it opens the console window in the Eclipse console window.Carsick
I noticed you saw a similar answer below. I added comments to my edits explaining my thinking, but I thought I would post a direct answer to your question here in the comment.Carsick
I edited this answer adding a screenshot, but it is gone. NevermindBlatherskite
I am getting this error: bash: no job control in this shellClemenciaclemency
This is an elegant solution, but the session it creates is not fully functional. I get the following error messages: bash: cannot set terminal process group (1893): Inappropriate ioctl for device bash: no job control in this shellEvette
Another issue: the <kbd>Tab</kbd> does not function.Evette
I found that (at least under windows) using ${workspace_loc}\${project_name} works even when a simple file is selected in the navigator, while ${project_loc} gives me an error in that case. I'm using mintty (cygwin), it doesn't open in the eclipse console but I like it better than windows cmd ;) to make it work give this arguments instead of -i: "-e /bin/xhere /bin/bash.exe"Venu
The {project_loc} is not working for me, I use {container_loc} instead which works better.Pears
B
57

Eclipse TCF team has just release terminal (SSH, Telnet, local)

originally named TCF Terminal, then renamed to TM Terminal

http://marketplace.eclipse.org/content/tcf-terminals

Finally Windows and Linux all supported

Support for Git Bash on Windows is resolved Bug 435014.

This plugin is included into Enide Studio 2014 and Enide 2015.

To access the terminal go to Window -> Show View -> Terminal or Ctrl+Alt+T

Blatherskite answered 16/5, 2014 at 2:27 Comment(8)
It needs some settings though...everytime I need to cd to the appropriate directory.Nitrobenzene
Wait for 1.3 released. If that would be not enough raise bug with request.Blatherskite
At this day and age this is the only functional solution. Make sure you install the TM Terminal version 4.0.Evette
I can't believe they nuked ability to right click a folder in Remote Systems and launch terminal. This is really undermines the usability.Nursemaid
@Paul Verest, How did you changed the colore scheme of the terminal ?Sammie
@MeladEzzat see #40459523Hebetude
has been renamed to TM TerminalPathos
For having TM Terminal start bash with the current Eclipse user not having a login shell ("This account is currently not available"), I had to make the following configurations under Eclipse: PreferencesTerminalLocal TerminalShell Command: /usr/bin/bash; Arguments -c bash.Alphonsoalphonsus
B
12

Terminal plug-in for Eclipse provides a command line view (= INSIDE Eclipse), at the moment Linux and Mac OS X only, Windows is missing. For Windows, use JW's aproach.


(source: developerblogs.com)

Update 1:
They are working on Windows support, see this issue and a basic implementation.

Update 2: Not working on it since Aug 2013.

Bashibazouk answered 25/7, 2012 at 9:11 Comment(2)
They are not working since August 2013. Quote from alexruiz.developerblogs.com/?p=2428 "Alex Ruiz August 3, 2013 at 12:49 pm Unfortunately I’m no longer maintaining this project, mostly due to a lack of spare time."Blatherskite
From the solutions I've tried this worked best for me, thanks!Alleneallentown
C
11

Add C:\Windows\System32\cmd.exe as an external tool. Once run, you can then access it via the normal eclipse console.

http://www.avajava.com/tutorials/lessons/how-do-i-open-a-windows-command-prompt-in-my-console.html


(source: avajava.com)

Consecutive answered 2/3, 2013 at 13:47 Comment(1)
use /bin/bash for linux. however path completion does not work (Luna)Milkwort
G
5

Simply create a new external tool configuration (from Eclipse Run -> External Tools)

for example - To open Cygwin terminal on the current resource directory:

Location:

C:\cygwin\bin\mintty.exe

Working Directory:

${container_loc}

Arguments:

-i /Cygwin-Terminal.ico  
-"cygpath -p '${container_loc}' | xargs cd"
Gawlas answered 20/8, 2015 at 14:34 Comment(2)
you can also use ${env_var:ComSpec} as the program to execute, and add as arguments: /C start C:\cygwin64\bin\bash.exe --login -i, or omit the --login -i to start bash in the directory specified by eclipseOrphaorphan
How can I open multiple, using this method? They all seem to pile into one console view.Jailer
Z
4

I really like StartExplorer but it is a contextual launcher rather than in - IDE shell so not sure if that is what you want

Zincate answered 23/11, 2011 at 12:41 Comment(0)
A
3

Aptana Studio 3 includes such terminal. I found it to be very similar to native terminal compared to what's mentioned in other answers.

Aileneaileron answered 29/3, 2011 at 13:6 Comment(1)
Aptana is mainly focused on web developmentPronucleus
C
3

The best solution I have been able to find is TCF Terminals 1.2 (Luna).

You start off with a Windows command prompt. enter image description here

If you like git bash, you can get git bash going inside it like this: Eclipse with TCF Terminals 1.2 and running Git Bash The trick is the command:

D:\Apps\Git\bin\sh.exe --login -i

Change this command path to wherever you installed git. The arguments --login -i are key.

Cutwork answered 18/8, 2014 at 20:7 Comment(0)
K
2

... just a little bit late :) you might give a try at http://code.google.com/p/tarlog-plugins/. It gives you options like open shell and open explorer from Project Explorer context menu.

There's also http://sourceforge.net/projects/explorerplugin/ but it seems kind of stuck at 2009.

Kathiekathleen answered 21/2, 2011 at 22:2 Comment(0)
G
2

You can also use the Termial view to ssh/telnet to your local machine. Doesn't have that funny input box for commands.

Gel answered 27/10, 2011 at 21:0 Comment(0)
J
2

I recommend EasyShell, which features 'open' (console), 'run', 'explore', and 'copy path'.

Jannette answered 13/7, 2012 at 18:48 Comment(3)
In Luna, Easy Shell is working only in Project Explorer view, not in Navigator view, unfortunately.Abdomen
EasyShell opens a system terminal application, it does not provide an Eclipse embedded shell.Evette
This is what i was looking for :)Eliason
D
1

I wrote this to get a native shell...it uses the same GTK widget the gnome-terminal uses so the behavior should be nearly identical.

http://github.com/maihde/Eclipse-Terminal

Deena answered 30/3, 2012 at 0:50 Comment(2)
Not updated for 2 yearsBlatherskite
Not updated for 8 yearsDuckweed
S
1

In Eclipse 3.7, I found a terminal view plugin that I installed through Eclipse Marketplace. Details are as follow:

Local Terminal (Incubation) http://market.eclipsesource.com/yoxos/node/org.eclipse.tm.terminal.local.feature.group

A terminal emulation for local shells and external tools. Requires CDT Core 7.0 or later. Works on Linux, Solaris and Mac. Includes Source.

Side note, this terminal does not execute .bash_profile or .bashrc so you can do

source ~/.bash_profile

and (if this isn't sourced by `.bash_profile)

source ~/.bashrc

Update:

This is actually was base for Terminal plug-in for Eclipse fork. Quote from http://alexruiz.developerblogs.com/?p=2428

Uwe Stieber July 23, 2013 at 12:57 am

Alex, why not aiming for rejoining your work with the original TM Terminal? I’ve checked and haven’t found any bugzilla asking for missing features or pointing out bugs. There had been changes to the original Terminal control, so I’m not sure if all of your original reasons to clone it are still true.

Sesqui answered 22/6, 2012 at 14:7 Comment(0)
G
0

I just found out about WickedShell, but it seems to work wrong with GNU/Linux and bash. Seems like some sort of encoding issue, all the characters in my prompt are displayed wrong.

Seems to be the best (only) tool for the job anyways, so I'll give it some more testing and see if it's good enough. I'll contact the developer anyways about this issue.

Gathering answered 13/10, 2009 at 20:11 Comment(1)
A warning: I installed wicked shell and started getting "Unexpected error" dialogs. So, If you get these also, just uninstall it.Rexford

© 2022 - 2024 — McMap. All rights reserved.