57

我想禁用从 sbt/play 记录的颜色转义码。这可能吗?如果是这样,有没有办法在不更改配置的情况下做到这一点 - 即通过命令行开关或系统属性。

4

5 回答 5

60

从版本0.13.8(可能更早)开始,您现在可以简单地使用-no-colorssbt 选项。例如

sbt -no-colors test
于 2015-07-01T00:21:04.883 回答
56

您可以简单地将系统属性设置sbt.log.noformattrue. 如果你想在 Vim 中使用 SBT,你可以创建一个这样的脚本:

#!/bin/bash
java -Dsbt.log.noformat=true $JAVA_OPTS -jar "${HOME}/bin/sbt-launch.jar" "$@"
于 2010-11-24T16:49:38.623 回答
2

这听起来像您的平台与实际的 jline.terminal 属性不匹配。我只是在这里猜测,但是当我按照 Daniel 在 Windows 命令行上的建议传递参数时,我也看到了颜色转义码。

因此,您必须确保该属性与您的平台相匹配,即 Windows 上的 WindowsTerminal 和 Unix 上的 UnixTerminal。

如果这没有帮助,那么您可能在不受支持的平台上,在这种情况下,网站建议使用:

-Djline.terminal=jline.UnsupportedTerminal
于 2010-11-24T16:32:14.557 回答
0

通过添加以下内容,我能够从 Cygwin 中的 SBT 获得彩色输出:

-Djline.terminal=jline.UnixTerminal

此外,我发现我还需要将以下行添加到 Cygwin.bat:

set CYGWIN=tty ntsec

之后添加 SBT 会提供非常漂亮的彩色输出。此外,我建议查看 Console2,因为它可以通过 Cygwin 挂钩,但在我看来提供了更好的界面:

http://sourceforge.net/projects/console/

于 2010-12-11T15:52:28.363 回答
0

好吧,您可以通过安装 Cygwin 并传递以下参数在 Windows 上获取颜色:

-Djline.terminal=jline.UnixTerminal

所以我会查找 jline 参数以查看禁用颜色编码的原因。

于 2010-11-24T16:12:39.193 回答