为 IntelliJ IDEA 设置 scalacOptions
Setting scalacOptions for IntelliJ IDEA
我有一个已导入 IntelliJ IDEA 的 sbt 项目。该项目包括 splain 编译器插件,它在一些编译器消息中包含颜色代码。
在 IntelliJ IDEA 中编译时,不会解释这些颜色代码。我可以将 "-P:splain:color:false"
添加到 Preferences 中的 Additional compiler options 中,它有效但在我刷新 sbt 项目时丢失了。
有没有办法在 sbt 中设置 scalacOptions
使其仅适用于 IntelliJ IDEA?
我找到了解决此特定颜色输出和 splain 问题的方法,但它不是设置 scalacOptions
的通用解决方案,仅适用于 IntelliJ IDEA。
scalacOptions += if (ConsoleAppender.formatEnabledInEnv) {
"-P:splain:color:true"
} else {
"-P:splain:color:false"
}
我已经 运行 在构建过程中使用 -no-colors
sbt,因此让编译器选项依赖于此是有意义的。这是一个有根据的猜测,这也将解决 IntelliJ IDEA 中的问题。
IntelliJ Scala 插件在启动 sbt 实例时设置 -Didea.managed=true
系统 属性,所以这可以工作:
scalacOptions += if (System.getProperty("idea.managed") == "true") {
"-P:splain:color:false"
} else {
"-P:splain:color:true"
}
我有一个已导入 IntelliJ IDEA 的 sbt 项目。该项目包括 splain 编译器插件,它在一些编译器消息中包含颜色代码。
在 IntelliJ IDEA 中编译时,不会解释这些颜色代码。我可以将 "-P:splain:color:false"
添加到 Preferences 中的 Additional compiler options 中,它有效但在我刷新 sbt 项目时丢失了。
有没有办法在 sbt 中设置 scalacOptions
使其仅适用于 IntelliJ IDEA?
我找到了解决此特定颜色输出和 splain 问题的方法,但它不是设置 scalacOptions
的通用解决方案,仅适用于 IntelliJ IDEA。
scalacOptions += if (ConsoleAppender.formatEnabledInEnv) {
"-P:splain:color:true"
} else {
"-P:splain:color:false"
}
我已经 运行 在构建过程中使用 -no-colors
sbt,因此让编译器选项依赖于此是有意义的。这是一个有根据的猜测,这也将解决 IntelliJ IDEA 中的问题。
IntelliJ Scala 插件在启动 sbt 实例时设置 -Didea.managed=true
系统 属性,所以这可以工作:
scalacOptions += if (System.getProperty("idea.managed") == "true") {
"-P:splain:color:false"
} else {
"-P:splain:color:true"
}