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

时间:2018-04-28 11:57:09

标签: java intellij-idea

我想知道是否可以从我的Java代码中对IntelliJ的运行控制台中的输出进行着色。 例如,如果我有类似

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

我想显示"错误"红色,其余颜色不同。或者,作为一种颜色的整条线也可以很好,并且已经比一种颜色的所有东西都有了很大的改进。

提前谢谢!

编辑:所以答案,感谢一个善良的redditor,是一个回到这里的链接Stack Overflow - List of ANSI color escape sequences

虽然我不认为我完全在那里(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 个答案:

答案 0 :(得分:1)

如果您想突出显示错误,那么在Intellij IDEA的控制台中会有一个不同的系统输出以红色突出显示。

System.err.println("This line will be red");

但是,System.err可能与System.outread about it here不同步。