Scala 工作表、Scala REPL 和 Ammonite
最后修改时间:2023 年 8 月 24 日您可以使用 Scala 工作表、Scala REPL 或Ammonite快速评估和运行 Scala 代码。
IntelliJ IDEA 中的 Scala REPL 和 Scala 工作表都使用 Scala 编译器中的 Scala REPL。因此,您可以使用 Scala 工作表而不是 Scala REPL 来计算表达式。
由于在 IntelliJ IDEA 中 Scala 工作表和 Ammonite 文件具有相同的文件扩展名.sc,因此您需要让 IntelliJ IDEA 知道如何在项目中处理此类文件。
在“设置”对话框 ( ) 中,转至语言和框架 | Scala。CtrlAlt0S
在“工作表”选项卡上的“将 .sc 文件视为”字段中,默认选择“始终工作表”选项。
选择始终菊石以获得菊石支持。
您还可以在测试源中选择Ammonite,否则工作表选项将仅将测试文件视为 Ammonite。
保存您的更改。
在设置中,您还可以设置输出截止限制,指定要在什么模式下运行工作表或 Ammonite 脚本,或者配置您希望 IntelliJ IDEA 如何处理 .sc 和暂存文件。
笔记
如果选择使用“eclipse 兼容性”模式复选框,则对象内的所有语句都将包含在工作表的输出中。
创建 .sc 文件
右键单击您的项目并选择新建| Scala 工作表。我们建议您在src目录中创建一个.sc文件以避免代码突出显示问题。
在“新建 Scala 工作表”窗口中,输入文件名并单击“确定”。
结果,将打开一个扩展名为.sc的文件。根据文件配置,它被视为 Scala 工作表或 Ammonite。
使用 Scala 工作表运行 Scala 代码
创建Scala 工作表文件并在编辑器中打开它。
添加您的代码。
除了代码完成和字符串格式化等标准操作之外,IntelliJ IDEA 还支持以下操作:
评估 Scala 对象
折叠输出而不影响左侧的代码,并仅扩展与特定语句匹配的输出块。
单击查看结果。
启动 Scala REPL
您可以在“工具”菜单中找到Scala REPL。
或者,您可以在开始输入Scala REPL并从搜索结果中选择它后,在“搜索无处不在”窗口的“操作”Ctrl+Shift+D选项卡中按或找到它。
笔记
您还可以使用Scala 工作表来启动和使用 Scala REPL。
要运行项目中的方法,请导入给定的类或模块,然后调用它,就像编写常规代码一样。
在“运行”工具窗口中检查结果。
使用当前工作表设置
在编辑器中打开 Scala 工作表文件。单击工作表编辑器工具栏上的 ,打开工作表设置对话框。
在“工作表设置”对话框中,配置当前工作表设置或整个项目的默认工作表设置,这些设置将影响其他工作表。
使用以下选项进行配置:
交互模式:选择此复选框可自动显示结果。
制作项目:清除此复选框可禁用对项目更改的自动检查,从而提高评估性能。
运行类型:从此列表中选择适当的评估模式。例如,选择REPL类型以快速计算 Scala 表达式。当您添加新表达式时,它们会增量执行。
使用模块的类路径:此字段被禁用,因为工作表是一个可以在其他项目之间共享的文件,并且应该保留在您创建它的位置。您可以在默认设置中更改其位置,但它将应用于整个项目并会影响其他工作表。
如果您需要更改类路径,我们建议您创建并使用临时文件。
编译器配置文件:在此字段中为您的工作表选择编译器配置文件。从列表中选择一个或单击以访问 Scala 编译器设置以获取更多选项。
笔记
如果您通过编译器设置页面添加或更改配置文件并且您有一个sbt 项目,则您的更改将在下一次项目导入时被丢弃。
在 IntelliJ IDEA 中配置 Ammonite 支持
根据您的项目,执行以下操作:
如果您有sbt 项目,请将以下代码添加到 build.sbt 文件中:
libraryDependencies += { val version = scalaBinaryVersion.value match { case "2.10" => "1.0.3" case _ ⇒ "1.6.5" } "com.lihaoyi" % "ammonite" % version % "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变量或在Amm 可执行文件字段中指定默认Ammonite 运行/调试配置中的路径。
使用 Ammonite 运行 Scala 脚本
创建一个Ammonite 文件并在编辑器中打开它。
添加您的代码。
除了标准代码完成和导入操作之外,IntelliJ IDEA 还支持以下特定于 Ammonite 的操作:
菊石特定命令的代码完成
对其他 Ammonite 文件中的代码的引用以及它们的代码完成
在左侧装订线中,单击并选择“运行脚本”以在“运行”工具窗口中查看结果。
或者,您可以创建并运行Ammonite 运行/调试配置。
提示
要删除工作表的结果,请单击。
要将代码和评估结果复制到剪贴板,请单击。
感谢您的反馈意见!