ScalaTest的输出被着色以区分不同的状态,但最终它们变成了控制代码和
[34m Annoying garbage
有没有办法说服Eclipse控制台要么尊重要么忽略这些序列,或者插入一个视图来解决这个问题?
ScalaTest的输出被着色以区分不同的状态,但最终它们变成了控制代码和
[34m Annoying garbage
有没有办法说服Eclipse控制台要么尊重要么忽略这些序列,或者插入一个视图来解决这个问题?
Eclipse的Target Management Terminal插件支持ANSI转义字符,包括颜色代码。我会用它来运行sbt
和ScalaTest
。
原始的Target Management Terminal插件是为了访问远程系统而设计的。但是,如果你在Linux、Mac或Solaris上运行,而不是Windows,你可以使用Local Terminal插件,它增加了直接附加到本地shell或程序的能力。
安装Local Terminal插件会自动安装Target Management Terminal,所以你只需要安装本地终端:
如果你正在运行不支持Local Terminal插件的平台,则仍然可以使用SSH或Telnet与Target Management Terminal一起使用:
如果您更习惯白底黑字,您可能需要:
System.out.println()
的标准输出重定向到这个终端,而不是默认的 Eclipse 控制台? - Mark这对我非常有效:
https://marketplace.eclipse.org/content/ansi-escape-console
只需安装它,它就会自动修改Eclipse的默认控制台行为。 (您可以使用提供的按钮轻松禁用它。)
我已将其用于运行输出转义代码以修改文本颜色的代码。 它表现出所期望的行为。
在Eclipse 4.25(Eclipse 2022-09同时发布的一部分)中,无需使用Eclipse插件:
控制台解释ANSI转义码以生成样式化输出。
支持16种颜色/256种颜色/真彩色前景色和背景色、调色板,以及加粗、斜体、下划线、反转、隐藏、删除线和框架等属性:
仅支持 "CSI n m
" (SGR, 选择图形呈现) 控制序列。
它们设置显示属性,但不能用于更改输出内容(擦除操作、光标定位、滚动)。
非 SGR 序列不被解释,但会被识别并隐藏,因此您将看不到它们。
此功能适用于所有标准输出或标准错误的文本输出。
它适用于Java、C/C++、Perl、Python、shell、Groovy、Maven以及任何Eclipse支持的语言。
首选项:
将输出重定向到文件,然后只需使用“tail -f”命令如何?类似于这个问题:我如何使Eclipse将std:out输出到标准Windows控制台。
更新:Eclipse控制台中的日志着色选项也列出了一些选项。即使这不起作用,它也可能是替换标准控制台插件的起点。