Eclipse Foundation Member
TM Terminal

Add this URL to your Eclipse Installation to reach this Solution's Update Site.

Mars (4.5)
Luna (4.4)
Kepler (4.3)
Juno (4.2, 3.8)

Learn more...

Details Group Tabs

Stefan Berger's picture

Great work, thanks for the plugin. On the screenshot the cmd shell background is black. For me it's always white, where can I change it?

Martin Oberhuber [Wind River]'s picture

Hi Stefan, you can switch to a "Dark Terminal" by using "Preferences : Terminal : Invert Colors".

It should also work automatically when you choose "Preferences : Appearance : Theme : Dark", but it seems that got broken with the recent TM 4.0 Refactoring. I've filed https://bugs.eclipse.org/bugs/show_bug.cgi?id=467985 for that issue.

Ivo Leitao's picture

I've tried to install from marketplace but when the "Confirm the Selected Features" appear under Tm Terminal 4.0 20150430 (Mars M7) http://download.eclipse.org/tm/terminal/marketplace there's only a feature (org.eclipse.tm.terminal.feature) which I cannot install

Martin Oberhuber [Wind River]'s picture

Hi Ivo, I just tried with a fresh Eclipse LunaSR2 JEE package on Linux x86_64, used Help > Marketplace to install Terminal into it ... no issues, works fine for me. Can you please report a bug on http://eclip.se/4a and let us know the exact version of Luna you use, your host platform, as well as any error messages from Window > Show View > Other > Error Log. Thanks !

Johan Wannheden's picture

Even though I have configured the custom shell in the preferences, a new Terminal does not start it automatically. (Example: Git bash).

Martin Oberhuber [Wind River]'s picture

Hi Johan,

many thanks for your feedback. I think your request is a known issue, as of today the custom shells only affect the rightclick > Show In menu which makes them a bit hard to use. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=460496 and check whether the proposal matches your needs.

Thanks!
Martin

Timothy Truckle's picture

I configured git bash on my windows7 PC in Eclipse/Mars

I even restarted eclipse but I do not see the entry for the git command in the "show in" submenu regardless whether I click on a Project, a folder or on a resource.

what could have gone wrong?

bye
TT

Johan Wannheden's picture

As commented in the Bugzilla issue.

nimo mayr's picture

I am using Eclipse Luna SR2 and installed this plugin (v 1.3.0.201...). It does not work. When open a new local terminal, the following error is shown:

org.eclipse.e4.core.di.InjectionException: java.lang.NoClassDefFoundError: org/eclipse/cdt/utils/pty/PTY$Mode
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:62)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.executeItem(HandledContributionItem.java:825)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.handleWidgetSelection(HandledContributionItem.java:701)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem.access$6(HandledContributionItem.java:685)
at org.eclipse.e4.ui.workbench.renderers.swt.HandledContributionItem$4.handleEvent(HandledContributionItem.java:613)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.sendEvent(Display.java:4199)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1467)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1490)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1475)
at org.eclipse.swt.widgets.Widget.notifyListeners(Widget.java:1279)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4042)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3669)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
Caused by: java.lang.NoClassDefFoundError: org/eclipse/cdt/utils/pty/PTY$Mode
at org.eclipse.tcf.te.ui.terminals.local.launcher.LocalLauncherDelegate.createTerminalConnector(LocalLauncherDelegate.java:300)
at org.eclipse.tcf.te.ui.terminals.services.TerminalService.createTerminalConnector(TerminalService.java:252)
at org.eclipse.tcf.te.ui.terminals.services.TerminalService.executeServiceOperation(TerminalService.java:169)
at org.eclipse.tcf.te.ui.terminals.services.TerminalService.openConsole(TerminalService.java:267)
at org.eclipse.tcf.te.ui.terminals.local.launcher.LocalLauncherDelegate.execute(LocalLauncherDelegate.java:212)
at org.eclipse.tcf.te.ui.terminals.internal.handler.LaunchTerminalCommandHandler.execute(LaunchTerminalCommandHandler.java:85)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
... 40 more
Caused by: java.lang.ClassNotFoundException: org.eclipse.cdt.utils.pty.PTY$Mode cannot be found by org.eclipse.tcf.te.ui.terminals.local_1.3.0.201502201446
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:382)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 53 more

Another thing is: Why reinventing a new terminal view? Would be nice to integrate the host terminal within the eclipse view. For example, when opening a word-document within eclipse, then a new window opens with the associated host application within eclipse. How can I make this work with the terminal on mac os? I want to have the host terminal of mac os within the eclipse-window, so I have not switch from one app to another.

Martin Oberhuber [Wind River]'s picture

Hello Nimo,

Your backtrace seems to indicate a missing CDT Fragment. Which Eclipse Luna SR2 package did you start from, and how, exactly, did you install ? - Only installing from the Marketplace Repo is supported at this time and ensures all dependencies are there:

http://download.eclipse.org/tm/terminal/marketplace

For follow-up on your issue, please file a bug at http://eclip.se/4a

Regarding the suggestion to embed the native terminal, I'm afraid that native terminals generally don't support the OLE / DDE APIs that Word has for these kind of things. But we hope that you'll like our integrated Terminal too :)

Jörg Hohwiller's picture

I do not understand why you are using a standard key-binding that is already in use by eclipse (JDT).
Please consider a different default to avoid clashes. All Java developers are used to [ctrl][alt][t] opening the "open type" popup.

Martin Oberhuber [Wind River]'s picture

Hello Jörg, the default binding for JDT "Open Type" is [ctrl][shift][t] -- our bindings with [ctrl][alt] are usually unbound.
Perhaps you've been using a custom configuration, or your host has been remapping modifiers in a nonstandard way ?

Jörg Hohwiller's picture

I just downloaded a fresh Eclipse Luna SR2 JEE Edition for Win64 and TCF. When I open a terminal I get this error:
java.lang.ClassNotFoundException: org.eclipse.tcf.te.runtime.services.interfaces.ITerminalService cannot be found by org.eclipse.tcf.te.ui.terminals_1.2.0.201405271222
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:432)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:345)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:337)
at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at org.eclipse.osgi.internal.framework.EquinoxBundle.loadClass(EquinoxBundle.java:568)
at org.eclipse.tcf.te.runtime.services.ServiceManager.loadServices(ServiceManager.java:116)
at org.eclipse.tcf.te.runtime.services.AbstractServiceManager.(AbstractServiceManager.java:300)
at org.eclipse.tcf.te.runtime.services.ServiceManager.(ServiceManager.java:40)
at org.eclipse.tcf.te.runtime.services.ServiceManager$LazyInstance.(ServiceManager.java:33)
at org.eclipse.tcf.te.runtime.services.ServiceManager.getInstance(ServiceManager.java:47)
at org.eclipse.tcf.te.ui.terminals.local.launcher.LocalLauncherDelegate.execute(LocalLauncherDelegate.java:127)
at org.eclipse.tcf.te.ui.terminals.internal.handler.LaunchTerminalCommandHandler.execute(LaunchTerminalCommandHandler.java:86)
at org.eclipse.ui.internal.handlers.HandlerProxy.execute(HandlerProxy.java:294)
at org.eclipse.ui.internal.handlers.E4HandlerProxy.execute(E4HandlerProxy.java:90)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.e4.core.internal.di.MethodRequestor.execute(MethodRequestor.java:55)
at org.eclipse.e4.core.internal.di.InjectorImpl.invokeUsingClass(InjectorImpl.java:247)
at org.eclipse.e4.core.internal.di.InjectorImpl.invoke(InjectorImpl.java:229)
at org.eclipse.e4.core.contexts.ContextInjectionFactory.invoke(ContextInjectionFactory.java:132)
at org.eclipse.e4.core.commands.internal.HandlerServiceHandler.execute(HandlerServiceHandler.java:149)
at org.eclipse.core.commands.Command.executeWithChecks(Command.java:499)
at org.eclipse.core.commands.ParameterizedCommand.executeWithChecks(ParameterizedCommand.java:508)
at org.eclipse.e4.core.commands.internal.HandlerServiceImpl.executeHandler(HandlerServiceImpl.java:210)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.executeCommand(KeyBindingDispatcher.java:286)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.press(KeyBindingDispatcher.java:507)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.processKeyEvent(KeyBindingDispatcher.java:558)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.filterKeySequenceBindings(KeyBindingDispatcher.java:378)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher.access$0(KeyBindingDispatcher.java:324)
at org.eclipse.e4.ui.bindings.keys.KeyBindingDispatcher$KeyDownFilter.handleEvent(KeyBindingDispatcher.java:86)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Display.filterEvent(Display.java:1262)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1060)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1085)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1070)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1112)
at org.eclipse.swt.widgets.Text.sendKeyEvent(Text.java:1734)
at org.eclipse.swt.widgets.Widget.sendKeyEvent(Widget.java:1108)
at org.eclipse.swt.widgets.Widget.wmKeyDown(Widget.java:1831)
at org.eclipse.swt.widgets.Text.wmKeyDown(Text.java:3025)
at org.eclipse.swt.widgets.Control.WM_KEYDOWN(Control.java:4975)
at org.eclipse.swt.widgets.Control.windowProc(Control.java:4642)
at org.eclipse.swt.widgets.Text.windowProc(Text.java:2610)
at org.eclipse.swt.widgets.Display.windowProc(Display.java:5036)
at org.eclipse.swt.internal.win32.OS.DispatchMessageW(Native Method)
at org.eclipse.swt.internal.win32.OS.DispatchMessage(OS.java:2549)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3759)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1151)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:1032)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:148)
at org.eclipse.ui.internal.Workbench$5.run(Workbench.java:636)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:579)
at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:150)
at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:135)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:380)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:235)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:648)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:603)
at org.eclipse.equinox.launcher.Main.run(Main.java:1465)
at org.eclipse.equinox.launcher.Main.main(Main.java:1438)

Martin Oberhuber [Wind River]'s picture

Hello Jörg, as per your log "org.eclipse.tcf.te.ui.terminals_1.2.0.201405271222" is way too old, so I suspect you created an inconsistent install somehow. The Terminal works fine on top of Luna SR2 JEE, but you need to install it from this Marketplace Listing. Only then will you get the TCF updates from the Mars Stream that Terminal needs to function.
The Update Site as per the download button is currently http://download.eclipse.org/tools/tcf/terminals_lunasr2

Digant Shah's picture

I found this plugin very helpful especially when you have to use windows shell extensively. I give this plugin 5 stars.

Wayne Beaton [The Eclipse Foundation]'s picture

In the process of installing on Eclipse Kepler, I opted to update several TM features (the other option being to install an older version of the terminal support). It works well so far...

Paul Verest's picture

Finally local terminal for Windows and Linux, see http://stackoverflow.com/questions/1562600/is-there-an-eclipse-plugin-to...

Please vote for Git Bash on Windows support
https://bugs.eclipse.org/bugs/show_bug.cgi?id=435014