IntelliJ IDEA 2025.1 Help

编译和构建 Scala 项目

默认情况下,Scala 项目使用 Scala 编译器和 IntelliJ IDEA 构建。 编译过程的输出显示在 构建 工具窗口中。 您也可以将构建操作委托给 sbt。 在这种情况下,您的构建输出显示在 sbt shell 中。

Scala 编译设置

默认情况下,您使用 Scala 编译器(scalac) 编译您的 Scala 项目。 Scala 编译器支持增量编译外,您还可以使用 Scala Compile 服务器,这是 Scala 编译子系统。 它帮助您减少编译开销,并且通过支持并行编译可以显著加快您的编译过程。 更多信息,请参阅 Scala 博文

配置编译设置

  1. Ctrl+Alt+S 打开设置,然后选择 构建、执行、部署 | 编译器 | Scala 编译器

  2. Scala 编译器 页面上,选择增量编译器,如 Zinc ,这是增量编译器的独立版本或 IntelliJ IDEA 原生版本。 您还可以选择代码应编译的编译顺序。 例如,先编译 Scala 代码,然后编译 Java 代码。

    Scala 编译器设置
  3. 请选择 Scala Compile 服务器 下的 Scala 编译器 以配置 Scala Compile 服务器。

  4. Scala Compile 服务器 页面上,您可以配置并行编译选项和 JVM 设置。

    Scala 编译器服务器设置

构建过程和编译图表

当您构建 (Ctrl+F9) Scala 项目时,编译是由 Scala 服务器完成的。 编译的输出显示在 Build 工具窗口中。 除了常规的编译输出,IntelliJ IDEA 会显示一个图表,可以帮助您优化项目模块的结构和 Scala Compile 服务器 的 VM 选项。

大型项目通常会被划分为模块。 每个模块都在 阶段中编译,一个阶段可能包含多个 单元 (源文件)。 虽然有些模块可以并行编译,但其他模块需要按顺序等待其他模块先行编译。 它们的顺序和关系在构建系统配置文件中描述,例如 sbt 的 build.sbt。 IntelliJ IDEA 可以读取这些文件,并且当您选择 构建 | 构建项目 时,它将使用这些信息生成编译图表。 默认情况下,图表仅显示正在编译的模块。 您可以使用 级别 下拉列表切换到 阶段单位 以查看编译过程中的不同详细级别。

将 Scala 项目构建委托给 sbt

您可以将项目的构建委托给 sbt。 在这种情况下,编译和源生成等步骤在 sbt 中运行,使该过程更接近实际的 CI 构建。 通过 sbt shell 执行构建,您可以查看输出。 打开 IDE 设置,然后选择 构建、执行、部署 | 构建工具 | sbt。 在 sbt 项目 部分,选择您要配置构建操作的项目。

sbt 设置:sbt 项目部分

然后,在 sbt shell 部分,选择 构建 选项。 点击 OK 保存更改。 现在,当您构建项目(Ctrl+F9 )时,构建将在 sbt shell 中运行。

sbt shell

如需了解更多信息,请参阅 SBT support

最后修改日期: 2025年 4月 24日