彩色terminal输出如何被禁止/播放?
我想禁用从sbt / playlogging的颜色转义码。 这可能吗? 如果是这样,有没有办法做到这一点,而不需要改变configuration – 即通过命令行开关或系统属性。
您可以简单地将系统属性sbt.log.noformat
设置为true
。 如果你想在Vim中使用SBT,你可以创build一个如下的脚本:
#!/bin/bash java -Dsbt.log.noformat=true $JAVA_OPTS -jar "${HOME}/bin/sbt-launch.jar" "$@"
从版本0.13.8
(也可能更早)开始,您现在可以简单地使用-no-colors
选项来解决问题。 例如
sbt -no-colors test
这听起来像你的平台不符合实际的jline.terminal属性。 我只是猜测在这里,但是当我通过丹尼尔build议在Windows命令行上传递参数,我也看到颜色转义代码。
因此,您必须确保属性与您的平台相匹配,即Windows上的WindowsTerminal和Unix上的UnixTerminal。
如果这没有帮助,那么你可能在一个不受支持的平台,在这种情况下, 网站build议使用:
-Djline.terminal=jline.UnsupportedTerminal
那么,你可以通过安装Cygwin并传递这个参数来获得 Windows上的颜色:
-Djline.terminal=jline.UnixTerminal
所以我会查找jline参数来查看什么禁用了颜色编码。
我能够从Cytwin中的SBT中获得彩色输出:
-Djline.terminal=jline.UnixTerminal
另外我想通了,我还需要添加以下行Cygwin.bat:
set CYGWIN=tty ntsec
之后添加SBT给出非常好的彩色输出。 此外,我build议看看Console2,因为它可以通过Cygwin钩,但提供了一个更好的接口在我看来: