【问题标题】:Colored output in netbeans console with ansicodes带有 ansicodes 的 netbeans 控制台中的彩色输出
【发布时间】:2014-12-13 02:15:11
【问题描述】:

我正在尝试在我的 Netbeans 输出窗口中获得彩色输出。

Linux 和 Windows 控制台中的 Ansi-Output 运行良好。但不在 IDE 中。

有没有办法在 Netbeans 的输出窗口中进行这项工作?

据此 https://netbeans.org/bugzilla/show_bug.cgi?id=214546 它应该可以工作,但在我当前的 Netbeans 8.0.1 安装(Linux 和 Windows 都没有)中没有。

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

【问题讨论】:

    标签: netbeans colors output ansi-escape


    【解决方案1】:

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

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

    【讨论】:

    • 现在已经有一段时间了,所以我没有我测试过的代码了,我不能告诉你我做错了什么。但是,这工作得很好。非常感谢!最后彩色输出:)
    • 我做了一些测试,显然颜色有效,但不是清晰的屏幕! github.com/ramonchiara/Cores
    【解决方案2】:

    使用 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>
    

    【讨论】:

    • 另一种解决方法是简单地删除 jansi。在我的 Linux 机器上,我做了 chmod -r /path/to/netbeans/java/maven/lib/jansi* 并且 bug 似乎消失了,直到现在还没有任何不利影响(但我不是 Netbeans 的重度用户)
    【解决方案3】:

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

    我在设置中更改了 Maven 的位置:

    【讨论】:

    • 您能解释一下您是如何实际进行更改的吗?
    • 在 Java/Maven 下的 Options 中你可以改变 Maven 的位置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-09-15
    • 2020-07-13
    • 1970-01-01
    • 2020-06-03
    • 2017-12-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多