如何阻止Intellij自动运行SBT

时间:2014-10-04 03:48:30

标签: intellij-idea sbt

我将一个SBT项目导入Intellij 13.1。

每当我更改build.sbt,plugins.sbt等时,Intellij都会重新运行SBT。

有时这很好,但是当我在控制台中做很多事情,经过频繁更改后,我必须等待因为我的IDE锁定了SBT(并且SBT是sloooow)。

无论如何,我可以关闭Intellij中的自动SBT运行吗?我更愿意在提供的SBT窗口中自己完成。

6 个答案:

答案 0 :(得分:23)

导入SBT项目时,我会取消选中autoimport复选框。

通过这种方式,它不会自动刷新,必须手动完成。

为了更改它,导入后,您可以手动编辑.idea/sbt.xml file

<project version="4">
  <component name="ScalaSbtSettings">
    <option name="linkedExternalProjectsSettings">
      <SbtProjectSettings>
        <option name="externalProjectPath" value="$PROJECT_DIR$" />
        <option name="jdk" value="1.7" />
        <option name="resolveClassifiers" value="true" />
        <option name="useAutoImport" value="true" />
      </SbtProjectSettings>
    </option>
  </component>
</project>

并更改useAutoImport设置。 如有必要,请重新启动IDEA。

更新:同样在设置页面中,搜索SBT,您可以在那里启用或禁用SBT文件的自动导入。

在对.sbt文件执行繁重工作时,我禁用自动导入。

答案 1 :(得分:20)

IntelliJ 14.1现在允许您在导入项目后调整SBT设置。

档案&gt;设置&gt;构建&gt;构建工具&gt; SBT (或单击SBT项目面板上的设置按钮。)

取消选中&#34;自动导入&#34;。

enter image description here

这是david.perez的答案的用户友好型等价物。

答案 2 :(得分:14)

在IntelliJ 2017.1及更高版本中,您打开右侧边栏上的SBT projects窗口,右键单击项目名称,然后取消选中Auto-import选项

答案 3 :(得分:0)

这并没有完全解决它,但我发现从IntelliJ项目中删除所有target/目录有很大帮助,并大大减少了常春藤锁的等待。

对于所有target/目录,右键单击,将目录标记为已排除。如果您正在使用sbt子项目,那么您将拥有其中的多个(否则只有一个)。

来源:https://twitter.com/andstuff/status/516987670170697728

相关问题:How to stop auto-refreshing of SBT modules upon opening project in IDEA?,建议升级到IDEA 14预览版。

答案 4 :(得分:0)

之前的答案都没有明确的Mac说明。

在Mac上,工作流程为IntellJ IDEA&gt;偏好&gt;构建,执行,部署&gt;构建工具&gt; SBT&gt;使用自动导入

Mac Version 16 SBT

答案 5 :(得分:0)

在社区2020.2(在MacOS上,但可能不会更改)中,路径为“设置”>“构建”,“执行,部署”>“构建工具”>“在构建脚本更改后重新加载项目”。可悲的是,它似乎只能为当前项目设置,而不能全局设置。

Intellij IDEA 2020.2 Build Tools Settings Window