有没有一个 Eclipse 插件可以在控制台中运行系统 shell?

108

您是否知道有没有Eclipse插件可以在内置控制台中运行系统Shell?

如果有的话,那就太好了。KDE文件浏览器Dolphin拥有这个功能,你可以按F4,一个控制台会显示在你当前所在的目录。

在Eclipse中也有类似的功能会很棒,让Shell显示在你正在工作的项目/文件所在的目录中。

这个插件是否存在呢?

如果不存在,编写这样的插件是否过于复杂?我对Eclipse插件开发一无所知。


7
关闭此问题的理由是无效的。"倾向于吸引持有主观观点的答案和垃圾邮件"?这个问题非常具体,只会引出非常具体的答案。这已经失控了。 - Blessed Geek
1
是的,我不再使用Eclipse了,但这是一种“是的,这是其中之一”的问题。它并没有询问哪一个是最好的,或者是否是一个好的实践。此外,被接受的答案非常具体。 - Fernando Briano
请查看 EasyShell https://github.com/anb0s/EasyShell,它非常可配置。我在 Windows 上使用它与 cmd 和 git bash 一起使用。如果您希望将 shell 作为 Eclipse 中的视图,请使用 https://marketplace.eclipse.org/content/tm-terminal,它可以与 cmd 和 git bash 等一起使用。 - successhawk
15个回答

97

它存在,并且已经内置于Eclipse中!进入“远程系统视图”,您将看到一个名为“本地”的条目。右键单击“本地Shell”并选择“启动Shell”。

您无法直接从项目导航器中启动它。但是您可以在导航器中右键单击并选择“显示在远程系统视图中”。从那里,您可以右键单击父文件夹并选择“启动Shell”。

Aptana还具有Terminal视图和一条命令,可在终端中打开所选文件。


43
如果您尚未安装任何依赖于它的软件,您首先需要执行“安装新软件”->“通用工具”->“远程系统资源管理器终端用户运行时”。 - Glyph
4
非常粗糙。我尝试在这样的视图中运行sbt,结果崩溃了。 - nfelger
3
本地 Shell 已不再推荐使用,建议默认替代方案为 TCF 终端(控制台)视图,在移动和设备开发支持下。 - Gerbrand
3
仅供参考,因为我是新手:前往“窗口”→“显示视图”→“其他...”→“远程系统”→“远程系统”以显示远程系统视图。 - takanuva15
1
这需要一个插件(来自Eclipse Marketplace的Remote System Explorer插件),它可能随您安装的Eclipse一起提供,也可能不提供。 - LightCC
显示剩余3条评论

69
您无需插件(包括远程系统视图插件),只需使用基本平台即可完成此操作。您只需创建一个外部工具配置即可,下面是演示图片: screenshot from Mac of external tools configuration dialog with colored arrows 橙色箭头:在工具栏上使用外部工具按钮并选择External Tools Configuration...。单击Program然后在上方单击New launch configuration图标。 绿色箭头:使用Name字段并将新工具命名为"Launch Shell"等巧妙的名称。在Location区域输入Shell命令,例如/bin/bash。更通用的方法是使用${env_var:SHELL},在Mac(我希望Linux也一样)下启动默认Shell。然后在Working Directory中可以使用变量${project_loc}将默认目录设置为当前项目位置。这意味着当您启动该工具时,必须确保光标位于资源管理器中的活动项目或适当的编辑器窗口中。在Arguments区域下使用-i进行交互模式。 蓝色箭头:切换到Build选项卡并取消选中Build before launch。然后切换到Common选项卡,单击将命令添加到收藏夹菜单。现在单击ApplyClose。确保控制台视图正在显示( Window->Show View->Console)。点击包资源管理器中的一个项目或编辑窗口中的代码,然后单击外部工具图标并选择Launch Shell,您现在拥有一个交互式Shell窗口。
在图片的左下方,您可以看到tcsh Shell在运行。

Windows 注意:这在 Windows 中同样适用,但你需要在位置字段中使用 ${env_var:ComSpec} ,并且可以将参数字段留空。


找到了@Andre的答案,并合并到这个答案中。 - Paul Verest
2
不,它会在Eclipse控制台窗口中打开控制台窗口。 - Tod
5
这是一个优雅的解决方案,但它创建的会话功能不完整。我收到以下错误消息: “bash:cannot set terminal process group(1893):Inappropriate ioctl for device” “bash:no job control in this shell” - Luís de Sousa
1
另一个问题: <kbd>Tab</kbd> 键无法正常工作。 - Luís de Sousa
2
我发现(至少在Windows下),即使在导航器中选择了一个简单的文件,使用${workspace_loc}${project_name}也可以工作,而${project_loc}在这种情况下会给我一个错误。我正在使用mintty(cygwin),它不会在eclipse控制台中打开,但我比Windows cmd更喜欢它;)为了使其工作,而不是-i,给出这些参数:“-e /bin/xhere /bin/bash.exe”。 - Antiphon0x
显示剩余5条评论

57

3
虽然需要一些设置,但每次我都需要进入适当的目录。 - dalvarezmartinez1
在当今这个时代,这是唯一的功能性解决方案。请确保安装TM终端版本4.0。 - Luís de Sousa
我简直不敢相信他们禁用了在远程系统中右键单击文件夹并启动终端的功能。这真的削弱了可用性。 - Bostone
@Paul Verest,您是如何更改终端的颜色方案的? - Melad Basilius
1
为了让TM终端使用当前Eclipse用户启动bash而不需要登录shell("此帐户当前不可用"),我必须在Eclipse下进行以下配置:首选项终端本地终端Shell命令/usr/bin/bash参数 -c bash - Abdull
显示剩余3条评论

12

Eclipse终端插件提供一个命令行视图(=在Eclipse内部),目前仅支持Linux和Mac OS X,缺少Windows。对于Windows,请使用JW的方法。


(来源: developerblogs.com)

更新1:
他们正在开发Windows支持,参见此问题和一个基本实现

更新2:自2013年8月以来不再工作。


自2013年8月以来,它们就没有再工作了。引用自http://alexruiz.developerblogs.com/?p=2428的话:“Alex Ruiz于2013年8月3日下午12:49说:不幸的是,我不再维护这个项目,主要是因为缺乏空闲时间。” - Paul Verest
1
从我尝试过的解决方案来看,这个对我来说效果最好,谢谢! - Dário

11

在Linux中使用/bin/bash。然而,在Luna上路径自动补全无法工作。 - user77115

5

只需从Eclipse运行 -> 外部工具创建新的外部工具配置

例如 - 打开当前资源目录上的Cygwin终端:

位置:

C:\cygwin\bin\mintty.exe

工作目录:

${container_loc}

参数:

-i /Cygwin-Terminal.ico  
-"cygpath -p '${container_loc}' | xargs cd"

你也可以使用${env_var:ComSpec}作为要执行的程序,并添加参数:/C start C:\cygwin64\bin\bash.exe --login -i,或省略--login -i以在Eclipse指定的目录中启动bash。 - user1050755
我该如何使用这种方法打开多个窗口?它们似乎都堆积在一个控制台视图中。 - Brad

4

我非常喜欢StartExplorer,但它是一种上下文启动器而不是IDE shell,所以不确定这是否符合您的需求。


3

Aptana Studio 3 包含了这样的终端。与其他答案提到的终端相比,我发现它与本地终端非常相似。


Aptana主要专注于Web开发。 - user188276

3
我找到的最佳解决方案是TCF Terminals 1.2 (Luna)
您可以从Windows命令提示符开始。 enter image description here 如果您喜欢git bash,您可以像这样在其中启动git bash: Eclipse with TCF Terminals 1.2 and running Git Bash 关键是以下命令:
D:\Apps\Git\bin\sh.exe --login -i

将此命令路径更改为您安装 Git 的位置。参数 --login -i 是关键。


2

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接