IntelliJ IDEA 2025.1 Help

Scala 工作表、Scala REPL 和 Ammonite

您可以使用 Scala 工作表、Scala REPL 或 Ammonite 快速评估和运行 Scala 代码。

Scala REPL 在 IntelliJ IDEA 和 Scala 工作表中都使用 Scala 编译器中的 Scala REPL。 因此,您可以使用 Scala worksheet 而不是 Scala REPL 来评估表达式。

由于在 IntelliJ IDEA 中 Scala 工作表和 Ammonite 文件具有相同的文件扩展名 .sc ,您需要告诉 IntelliJ IDEA 如何在项目中处理这些文件。

  1. 设置 对话框(Ctrl+Alt+S )中,前往 语言与框架 | Scala

  2. 工作表 选项卡上,在 将 .sc 文件视为 字段中,默认选择 始终是工作簿 选项。

    选择 永远 Ammonite 以支持 Ammonite。

    您还可以选择 测试源中的 Ammonite,其他情况为 Worksheet 选项,仅将测试文件视为 Ammonite。

    Scala 工作表设置
  3. 请保存您的更改。

在设置中,您还可以设置输出限制,指定您想要以何种模式运行 worksheet 或 Ammonite script,或者配置您希望 IntelliJ IDEA 如何处理 .sc 和临时文件。

创建一个 .sc 文件

  1. 右键点击您的项目并选择 新建 | Scala 工作表。 我们建议您在 .sc 文件夹中创建一个 文件,以避免代码高亮问题。

  2. 新的 Scala 工作表 窗口中,输入文件名并点击 OK

    结果,具有 .sc 扩展名的文件打开。 根据 文件配置 ,它被视为 Scala worksheet 或 Ammonite。

使用 Scala 工作表运行 Scala 代码

  1. 创建一个 Scala worksheet文件并在编辑器中打开。

    Scala 工作表
  2. 添加您的代码。

    除了代码补全和字符串格式化等标准操作外,IntelliJ IDEA 还支持以下操作:

    • 评估 Scala 对象

    • 在不影响左侧代码的情况下折叠输出,并且仅展开与特定语句匹配的输出块。

      Scala 工作表 - 展开的结果
  3. 点击 运行按钮 查看结果。

启动 Scala REPL

  1. 您可以通过按下 Scala REPL 来打开。 Ctrl+Shift+D 或者您可以在 工具 菜单中找到它。

    工具窗口中的 Scala REPL

    您也可以打开 操作 选项卡在 随处搜索 窗口,开始输入 Scala REPL ,然后从搜索结果中选择它。

    随处搜索
  2. 要运行您项目中的方法,请导入给定的类或模块,并调用它,就像编写常规代码一样。

  3. 请在 运行 工具窗口中检查结果。

    Scala REPL

使用当前工作表设置

  1. 在编辑器中打开一个 Scala 工作表文件。 点击 "设置"图标 工作表编辑器工具栏上的 工作表设置 对话框。

  2. 工作表设置 对话框中,配置当前工作表设置或整个项目的默认工作表设置,默认设置将影响其他工作表。

    sc_ws_settings.png
  3. 请使用以下选项进行配置:

    • 交互模式 :选择此复选框以自动显示结果。

    • 创建项目 :清除此勾选框以禁用项目变更的自动检查,从而提高评估性能。

    • 运行类型 :从此列表中选择合适的评估模式。 例如,选择 REPL类型以快速评估 Scala 表达式。 当您添加新表达式时,它们会被逐步执行。

    • 使用模块的 class path :此字段已被禁用,因为该工作表是一个文件,您可以在其他项目之间共享,并且应保留在创建它的位置。 您可以在默认设置中更改其位置,但它将应用于整个项目,并影响其他工作表。

      如果您需要更改类路径,我们建议您创建并使用 scratch file

      sc_scratch_file.png
    • 编译器配置文件 :在此字段中选择您的工作表的编译器配置文件。 从列表中选择一个或点击 "设置"图标 访问 Scala 编译器设置以获取更多选项。

在 IntelliJ IDEA 中配置 Ammonite 支持

  • 根据您的项目,执行以下操作:

    • 如果您有一个 sbt project ,请将以下代码添加到 build.sbt 文件:

      libraryDependencies += "com.lihaoyi" %% "ammonite" % "2.5.11" % "test" cross CrossVersion.full sourceGenerators in Test += Def.task { val file = (sourceManaged in Test).value / "amm.scala" IO.write(file, """object amm extends App { ammonite.Main.main(args) }""") Seq(file) }.taskValue

      刷新项目以导入更改。

    • 如果您有一个常规的 Scala 项目,请下载 Ammonite 并指定其可执行文件的位置。 例如,您可以修改 $path 变量或在默认的 Ammonite 运行/调试配置 中指定路径,在 Amm 可执行文件 字段中。

使用 Ammonite 运行 Scala 脚本

  1. 创建一个 Ammonite file 并在编辑器中打开。

  2. 添加您的代码。

    除了标准的代码补全和导入操作,IntelliJ IDEA 还支持以下 Ammonite 特定的操作:

    • 对于 Ammonite 特定命令的代码补全

      Ammonite 特定命令
    • 对其他 Ammonite 文件的代码引用以及代码完成

      Ammonite 文件参考
  3. 在左侧界栏中,点击 运行图标 并选择 运行脚本 以在 运行 工具窗口中查看结果。

    或者,您可以创建并运行一个 Ammonite run/debug configuration

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