netbeans控制台中的彩色输出与ansicodes

时间:2014-10-17 13:21:17

标签: netbeans colors output ansi-escape

我想在Netbeans输出窗口中获得彩色输出。

Linux和Windows控制台中的Ansi-Output工作得很好。但不在IDE中。

有没有办法让这项工作在Netbeans'输出窗口?

根据这个 https://netbeans.org/bugzilla/show_bug.cgi?id=214546  它应该可以工作,但它不适用于我当前的Netbeans 8.0.1安装(Linux和Windows)。

有关如何做到这一点的任何提示?

3 个答案:

答案 0 :(得分:4)

我自己在Windows 7上使用Netbeans 8.0.1。我只是尝试了ANSI转义码,它可以工作。例如:

String greenBold = "\033[32;1m";
String reset = "\033[0m";
System.out.println("before" + greenBold + " green " + reset + "after");

答案 1 :(得分:1)

我使用的是 NetBeans 12.3,但遇到了同样的问题。问题在于捆绑的 Maven(版本 3.6.3)。 当我更改为安装在系统上的 Maven 时,它可以工作。请注意,我系统上安装的 Maven 版本与捆绑版本相同 - 3.6.3。

enter image description here

我在设置中更改了 Maven 的位置: enter image description here

答案 2 :(得分:0)

使用Maven 3.5.x时似乎有问题。

请参阅:

我首先使用旧的Maven 3.3.9尝试了NB 8.2,并且开箱即用。整个输出保持原样,但是我的应用程序自己的日志按预期着色。

使用Maven 3.5.2和3.5.4时,颜色根本不起作用。因此,我必须将MAVEN_OPTS环境变量设置为“ -Djansi.passthrough = true”(如第一个链接中所述),然后重新启动NetBeans。问题在于,现在整个输出的颜色不同,并且错误堆栈跟踪不再包含代码链接。所以我转回去。

顺便说一句。使用log4j2的%highlight{}时,我还必须设置disableAnsi="false"才能获得所需的效果:

<Console name="Console" target="SYSTEM_OUT">
    <PatternLayout pattern="%d{HH:mm:ss.SSS} %highlight{%-5level} [%t] %location --- %msg%n%throwable" disableAnsi="false" />
</Console>