如何在IntelliJ的运行控制台中使用颜色?

3

我想知道是否可以在Java代码中从IntelliJ的运行控制台中着色输出。比如,如果我有类似以下内容的东西:

System.out.println("Error: " + message);

我希望能将“错误”信息显示为红色,其余信息显示为不同的颜色。或者整行文字用一种颜色也可以,这比所有内容都用同一种颜色要好很多。
提前感谢!
编辑:感谢一位善良的网友,他给出了一个链接回到了这里 Stack Overflow - ANSI颜色转义序列列表
虽然我认为还没有完全达到目标(IntelliJ比我能实现的颜色选项更多),但我已经能够使用8种颜色了。现在我创建了一个小助手函数,可以轻松地将文本打印到控制台:
public static void colorSystemOut(String text, Color color, 
                                    boolean bold, boolean underlined) {
    StringBuilder cString = new StringBuilder("\033[");
    if(color == Color.WHITE) {
        cString.append("30");
    }
    else if(color == Color.RED) {
        cString.append("31");
    }
    else if(color == Color.GREEN) {
        cString.append("32");
    }
    else if(color == Color.YELLOW) {
        cString.append("33");
    }
    else if(color == Color.BLUE) {
        cString.append("34");
    }
    else if(color == Color.MAGENTA) {
        cString.append("35");
    }
    else if(color == Color.CYAN) {
        cString.append("36");
    }
    else if(color == Color.GRAY) {
        cString.append("37");
    }
    else {
        cString.append("30");
    }
    if(bold) { cString.append(";1"); }
    if(underlined) { cString.append(";4"); }
    cString.append(";0m" + text + "\033[0m");
    System.out.print(cString.toString());
}

也许这不是最有效的方法,如果您有改进建议,请告诉我。但目前为止,我很高兴它能够工作!

1
如果作者想要突出显示错误,我不认为这是一个重复的问题... - Cargeh
遗憾的是,链接的答案并没有真正帮助我。除了最后一个答案已经是4年前的事情了,我仍然不知道对于我的情况哪个是正确的,以及如何实际操作。在发布之前,我确实看到了这个设置首选项>编辑器>颜色和字体>控制台颜色(如果这就是我应该使用的东西,我不知道),但我仍然不知道如何让它起作用。 - Markstar
重复的是什么?为什么关闭一个重复的问题而不提供被重复的问题的参考? - Al-Punk
1个回答

5
如果想要特别突出显示错误,那么在Intellij IDEA的控制台中有另一种以红色高亮显示的系统输出。
System.err.println("This line will be red");

然而,System.err 可能会与 System.out 不同步,详情请点击此处了解。


当我在寻找更多不仅仅是错误信息时,这是一个开始。所以谢谢!然而,我仍然希望让它工作,以便我也可以拥有绿色或黄色的线条/文本段落。 - Markstar

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