我想禁用从sbt/play记录的颜色转义代码。这可能吗?如果可能的话,是否有一种方法可以在不更改配置的情况下完成 - 例如通过命令行开关或系统属性。
我想禁用从sbt/play记录的颜色转义代码。这可能吗?如果可能的话,是否有一种方法可以在不更改配置的情况下完成 - 例如通过命令行开关或系统属性。
自从版本0.13.8
(可能更早)起,现在您可以简单地使用sbt的-no-colors
选项。例如:
sbt -no-colors test
dependencies
甚至不是一个有效的sbt命令。 - matanstertest
代替了dependencies
,并明确了有关sbt版本的隐含点。这应该解决了@matanster提出的问题。 - samthebest您可以简单地将系统属性sbt.log.noformat
设置为true
。如果您想在 Vim 中使用 SBT,您可以创建以下脚本:
#!/bin/bash
java -Dsbt.log.noformat=true $JAVA_OPTS -jar "${HOME}/bin/sbt-launch.jar" "$@"
这似乎是您的平台与实际的jline.terminal属性不匹配。我猜测,当我像Daniel建议的那样在Windows命令行中传递参数时,我也会看到颜色转义代码。
因此,您必须确保属性与您的平台相匹配,即在Windows上为WindowsTerminal,在Unix上为UnixTerminal。
如果这并没有帮助您,那么您可能正在使用不受支持的平台,此时网站建议使用:
-Djline.terminal=jline.UnsupportedTerminal
嗯,在Windows上,您可以通过安装Cygwin并传递此参数来获取颜色:
-Djline.terminal=jline.UnixTerminal
所以我会查找 jline 参数,看看哪些禁用颜色编码。
←[0m[←[0minfo←[0m] ←[0mBuilding project
... - huynhjl我通过在Cygwin中添加以下内容,成功实现了从SBT获得彩色输出:
-Djline.terminal=jline.UnixTerminal
set CYGWIN=tty ntsec
添加后,SBT会给出非常好的彩色输出。此外,我建议看一下Console2,因为它可以通过Cygwin钩取,但在我看来提供了更好的界面: