Scala 如何为';sbt控制台';?

Scala 如何为';sbt控制台';?,scala,sbt,Scala,Sbt,从Scala 2.11.4开始,您可以通过调用Scala-Dscala.color获得一个。我的问题是,在我的sbt项目中调用sbt控制台时,是否可能得到相同颜色的REPL 以同样的方式: sbt -Dscala.color console 如果您只需调用sbt-Dscala.color,然后跳转到控制台将其放入~/.sbt/0.13/user.sbt: initialize ~= { _ => val ansi = System.getProperty("sbt.log.nofor

从Scala 2.11.4开始,您可以通过调用
Scala-Dscala.color
获得一个。我的问题是,在我的sbt项目中调用
sbt控制台
时,是否可能得到相同颜色的REPL

以同样的方式:

sbt -Dscala.color console

如果您只需调用
sbt-Dscala.color
,然后跳转到
控制台
将其放入~/.sbt/0.13/user.sbt:

initialize ~= { _ =>
  val ansi = System.getProperty("sbt.log.noformat", "false") != "true"
  if (ansi) System.setProperty("scala.color", "true")
}

使用以下内容创建
~/.sbt/0.13/color.sbt

initialize ~= (_ => if (ConsoleLogger.formatEnabled) sys.props("scala.color") = "true")

从scala 2.12.2开始,repl默认为彩色;因此,您只需在
~/.sbt/user.sbt
文件中设置
scalaVersion
属性:

scalaVersion := "2.12.2"

感谢我试过了,得到了警告:无效的系统属性“scala.color”。您试用了什么版本的SBT和Scala?我有SBT 0.13.9和Scala 2.11.7。它似乎也适用于较旧的版本:
sbt-sbt版本0.13.5-scala版本2.11.4-Dscala.color
(这些标志来自paulp/sbt extras,尽管我最初的sbt是普通的)仍然不适用于我…:/。我使用的是sbt版本0.13.8和scala 2.11.4。哪个系统发出警告,scala,JVM,sbt,它的启动脚本?您是否有一个定制的、可能已经过时的启动器,就像早期的自制安装一样?你能检查一下它是否能和paulp/sbt extras一起工作吗?我想你有什么发现。我在Mac上使用的是一个相对较旧的SBT安装,使用的是端口(不是自制的)。这对我来说很有用!尽管这个解决方案不是很优雅,但我喜欢它,因为你将它添加到回购协议中,然后所有参与回购的人都将享受彩色REPL.OSX/Homebrew:最新的sbt(0.13.12)默认情况下仍然只使用Scala 2.10.6,所以只需添加
scalaVersion:=“2.11.8”
作为
初始化之前的第一行~=…
获得颜色支持!谢谢你的评论!我对它进行了升级,因为它对2.12.2用户来说非常好。但是,我们中的许多人都被2.11所困扰,因此我现在将保留原来的答案作为官方认可的答案。我为sbt console的新用户和未来用户添加了此答案,以防他们发现此线程。请从dotty处尝试
dotr
-