【发布时间】:2011-05-15 02:22:59
【问题描述】:
我想禁用从 sbt/play 记录的颜色转义码。这可能吗?如果是,有没有办法在不更改配置的情况下做到这一点 - 即通过命令行开关或系统属性。
【问题讨论】:
-
现在考虑接受 Steven Shaws 的回答吗?
标签: scala playframework sbt
我想禁用从 sbt/play 记录的颜色转义码。这可能吗?如果是,有没有办法在不更改配置的情况下做到这一点 - 即通过命令行开关或系统属性。
【问题讨论】:
标签: scala playframework sbt
从0.13.8(可能更早)版本开始,您现在可以简单地使用-no-colors 选项来进行sbt。例如
sbt -no-colors test
【讨论】:
dependencies 在我的 sbt 设置中甚至不是有效的 sbt 命令。
test 而不是dependencies,并明确说明了关于 sbt 版本的隐含点。这应该解决@matanster 点。
通过添加以下内容,我能够从 Cygwin 中的 SBT 获得彩色输出:
-Djline.terminal=jline.UnixTerminal
另外我发现我还需要在 Cygwin.bat 中添加以下行:
set CYGWIN=tty ntsec
添加后,SBT 提供了非常漂亮的彩色输出。此外,我建议查看 Console2,因为它可以通过 Cygwin 挂钩,但在我看来提供了更好的界面:
【讨论】:
您可以简单地将系统属性sbt.log.noformat 设置为true。如果你想例如在 Vim 中使用 SBT 你可以创建这样的脚本:
#!/bin/bash
java -Dsbt.log.noformat=true $JAVA_OPTS -jar "${HOME}/bin/sbt-launch.jar" "$@"
【讨论】:
sbt -Dsbt.log.noformat=true,如果你使用sbt "the rebel cut",你可以使用参数-no-colors。
听起来您的平台与实际的 jline.terminal 属性不匹配。我只是在这里猜测,但是当我按照 Daniel 在 Windows 命令行上的建议传递参数时,我也看到了颜色转义码。
因此,您必须确保该属性与您的平台相匹配,即 Windows 上的 WindowsTerminal 和 Unix 上的 UnixTerminal。
如果这没有帮助,那么您可能在不受支持的平台上,在这种情况下,website 建议使用:
-Djline.terminal=jline.UnsupportedTerminal
【讨论】:
好吧,您可以通过安装 Cygwin 并传递此参数在 Windows 上获取颜色:
-Djline.terminal=jline.UnixTerminal
所以我会查找 jline 参数,看看是什么禁用了颜色编码。
【讨论】:
←[0m[←[0minfo←[0m] ←[0mBuilding project...