配置SBT全局设置

时间:2020-07-08 04:32:32

标签: scala sbt

我需要永久打开SBT的groupby('col_name', as_index=False)设置,而不必每次都键入。最好的方法是什么?将-verbose放入$ SBT_OPTS无效。

2 个答案:

答案 0 :(得分:4)

如果您使用unix友好的环境,则可以在sbt中为~/.bash/profile创建别名

alias sbt=sbt -verbose

答案 1 :(得分:3)

通过将

-verbose标志保存在global sbtopts配置文件中,可以在系统范围内启用该标志。例如,在我的机器上,它位于

/usr/local/etc/sbtopts

这里是其内容的示例

# set memory options
-mem   2048

# java version (default: java from PATH, currently $(java -version |& grep version))
-java-home /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home

-verbose

在谈到有关IntelliJ的评论时,请注意IntelliJ Scala插件当前不读取全局sbtopts,但是它确实支持本地.sbtopts配置文件,但它not支持每个通过提供选项sbt launcher script正确:

Supported options:
    -no-share, -no-global, -sbt-boot, -sbt-dir, -ivy, -jvm-debug,
    all options with -D and -J prefixes

Unsupported options:
    -S prefix seems to be unsupported by sbt-launcher itself
    -mem has a bit untrivial algorithm, same thing can be achieved
        by configuring -Xmx, -Xms, -XX:ReservedCodeCacheSize options
    -sbt-version, -sbt-rc, -sbt-snapshot, -sbt-jar
        and -java-home are overriden by IDEA options

Other options have no impact on project importing process

SbtOpts.scala应该列出所有受支持的选项。对-mem的支持是一个值得注意的缺席,这意味着如果我们将-mem 4096放在.sbtopts中,则IntelliJ只会忽略它。同样,IntelliJ sbt运行程序也不会拾取标志-verbose

因此,关键是要了解sbt运行程序脚本的正确性与IntelliJ定制的sbt运行程序组件不同。