【问题标题】:How to stop Intellij from automatically running SBT如何阻止 Intellij 自动运行 SBT
【发布时间】:2020-08-22 01:18:44
【问题描述】:

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

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

有时这很好,但是当我在控制台中做很多事情时,并且在频繁更改之后,我不得不等待,因为我的 IDE 锁定了 SBT 无法运行(并且 SBT 很慢)。

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

【问题讨论】:

    标签: intellij-idea sbt


    【解决方案1】:

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

    这样,它不会自动刷新,必须手动完成。

    为了修改它,在它被导入后,你可以手动编辑.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 文件执行繁重的工作时,我禁用了自动导入。

    【讨论】:

    • resolveClassifiers 是否负责下载依赖项的源代码和文档?
    • 太棒了!由于某种原因,我很难找到该设置。
    【解决方案2】:

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

    文件 > 设置 > 构建 > 构建工具 > SBT (或单击 SBT 项目面板上的设置按钮。)

    取消选中“自动导入”。

    这是 david.perez 的回答的用户友好版本。

    【讨论】:

    • 他们似乎在 IDEA-2017.1 中放弃了对它的支持。很遗憾,它非常有用。当您真正完成迭代时,您可以刷新结构。除非您自己动手,否则工作项目不会中断。
    【解决方案3】:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

      • 2021.1 相同
      【解决方案5】:

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

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

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

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

      【讨论】:

        【解决方案6】:

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

        在 Mac 上,工作流程是 IntellJ IDEA > Preferences > Build, Execution, Deployment > Build Tools > SBT > Use Auto-Import

        【讨论】:

        • ... 它已经过时了。据我所知,截至 2017.1 没有这样的设置。
        • 我确实看到了这些设置,但其中没有“使用自动导入”复选框。对于我最近升级到的 2017.01 IDE 版本。你有2017.01吗?
        • .idea/sbt.xml 现在有一个&lt;option name="useOurOwnAutoImport" value="true" /&gt; 条目,用于从头开始从 sbt 文件导入的项目。我想就是这样。
        • 我显然有 2016.3.5。
        猜你喜欢
        • 2014-05-26
        • 2021-06-23
        • 2011-03-23
        • 2017-10-17
        • 1970-01-01
        • 2021-12-04
        • 1970-01-01
        • 1970-01-01
        • 2017-01-27
        相关资源
        最近更新 更多