是否遵循ANSI颜色代码的Eclipse控制台视图?


74

ScalaTest的输出是彩色的,以区分不同的状态,但最终以控制代码和

[34m Annoying garbage 

是否有任何方法可以说服Eclipse控制台尊重或忽略这些序列,或插入一个将遵循的视图?

Answers:


103

我已成功将此插件用于Eclipse- ANSIConsole


6
如果对我有用,肯定比接受的答案少的痛苦,谢谢。
邓肯·麦格雷戈

@DuncanMcGregor您未正确切换选中标记的事实是否表明它无效
Tobias Kienzler 2012年

抱歉,没有使用Eclipse ATM
Duncan McGregor

1
优秀的。像魅力一样工作,并且使用常规的Eclipse控制台。比接受的答案容易得多。
达米安

1
这似乎不适用于jansi库。添加System.setProperty(“ jansi.passthrough”,“ true”); 以使其工作并覆盖jansi的通过检测。
Eisenknurr

28

用于Eclipse的Target Management Terminal插件可以理解ANSI转义字符,包括颜色代码。我用它来运行sbt使用ScalaTest

最初的Target Management Terminal插件旨在访问远程系统。但是,如果您在Linux,Mac或Solaris上而不是Windows上运行,则可以使用Local Terminal插件,该插件增加了直接附加到本地Shell或程序的功能。

安装本地终端插件会自动安装Target Management Terminal,因此您只需要安装本地终端即可:

安装本地终端插件

  1. 从Eclipse菜单中选择Help-> Install New Software ...
  2. 选择要发布的Eclipse的主要更新站点(例如,Ganymede,Helios,Indigo)
  3. 选择常规工具->本地终端
  4. 按照正常过程安装插件(单击下一步,接受许可,重新启动eclipse等)。

如果在本地终端插件不支持的平台上运行,则仍可以将目标管理终端与SSH或Telnet结合使用:

安装目标管理终端插件

  1. 从Eclipse菜单中选择Help-> Install New Software ...
  2. 选择要发布的Eclipse的主要更新站点(例如,Ganymede,Helios,Indigo)
  3. 选择移动和设备开发->目标管理控制台
  4. 按照正常过程安装插件(单击下一步,接受许可,重新启动eclipse等)。

使用

  1. 从Eclipse菜单中选择Window-> Show View-> Other
  2. 选择终端->终端视图。
  3. 单击视图中绿色的“连接”按钮,然后输入详细信息以连接到本地系统。如果安装了本地终端插件,则选项之一是“本地程序”。默认情况下,为本地外壳程序定义了程序,但是您可以设置其他程序。例如,我有一个sbt条目。

如果您更习惯于黑白色,则可能需要:

  1. 打开Eclipse首选项
  2. 选择终端
  3. 检查反转端子颜色

1
哇,我放弃了这一点。感谢您的光临!
Duncan McGregor

如何将stdout调用定向System.out.println()到此终端,而不定向到默认的Eclipse Console?
2013年

1
@Mark:如果您提出新问题(而不是发表评论),则可能会更好地得到答案。
Jim Hurne 2013年

@Mark,检查ianinini的答案。在默认控制台中有效。如果未指定,则控制台字体和颜色保持默认值;如果使用ANSI进行转义,则将着色。
WesternGun

11

这对我来说很棒:

https://marketplace.eclipse.org/content/ansi-escape-console

只需安装它,它就会自动修改Eclipse默认控制台的行为。(您可以使用提供的按钮轻松禁用它。)

我已将此代码用于运行输出转义代码以修改文本颜色的代码。它的行为完全符合预期。


先前的答案有些旧,但是此插件是较新的并且效果很好。
giZm0


1

将输出重定向到文件,然后仅“ tail -f”怎么样?与此问题类似:如何使Eclipse输出std:out到标准Windows控制台

更新:在eclipse控制台中的Colorize logs上也列出了一些选项。即使这不起作用,也可能是如何换出标准控制台插件的起点。


1
如果可以的话,我希望将输出保留在Eclipse中。
邓肯·麦格雷戈

谢谢詹姆斯!非常感激!
Hendy Irawan

1
对此表示不满。问题是“尊重ANSI颜色代码的Eclipse控制台视图”。不是如何将日食输出管道到终端。
凯文·帕克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.