探索适用于 Scala 的 IntelliJ IDEA
最后修改时间:2023 年 9 月 5 日安装 Scala 插件
要开始在 IntelliJ IDEA 中使用 Scala,您需要下载并启用 Scala 插件。如果您是第一次运行 IntelliJ IDEA,当 IntelliJ IDEA 建议下载特色插件时,您可以安装 Scala 插件。否则,您可以使用设置 | 用于安装的插件页面。
提示
要安装 Scala 插件,请按,打开插件页面,浏览存储库以找到 Scala 插件,单击安装并重新启动 IntelliJ IDEA。CtrlAlt0S
现在您可以成功地从 VCS 签出、创建或导入 Scala 项目。
频道更新
如果您想尽早访问具有最新改进的新插件版本,您可以更改插件更新频道:
在“设置/首选项”对话框 ( Ctrl+Alt+S) 中,转到语言和框架 | Scala
打开更新选项卡并将更新通道更改为三个选项之一:
稳定版本(默认)
抢先体验计划第一个版本在 IntelliJ IDEA 稳定版发布前约 2-3 个月发布。IntelliJ IDEA 发布后,它将在次要插件错误修复版本之间进行多次更新。
每晚构建插件构建每天晚上都会上传最新的改进。第一个版本在主要 IntelliJ IDEA 发布前约 2-3 个月发布。每晚构建可能包含未经正确测试的更改。
笔记
选择早期访问计划/夜间构建后,您可以随时恢复到稳定版本构建。
笔记
为了在 IntelliJ IDEA 发布之前使用Early Access Program/Nightly Builds频道,您需要安装 IntelliJ IDEA EAP。
用户界面
Scala 的用户界面看起来与常规用户界面类似,除非您使用 sbt 项目,在这种情况下,sbt 项目工具窗口和sbt Shell变得可用。
此外,IntelliJ IDEA 还允许您使用Scala 类型感知突出显示来跟踪基于 Scala 类型系统的错误分析。默认情况下,它处于启用状态,您可以看到位于用户界面底部的图标。您可以单击该图标或按来禁用此功能。CtrlAltShift0E
用户界面中最有趣的部分是 IntelliJ IDEA编辑器,因为它允许您调用几乎所有 IDE 功能而无需离开它,这有助于您组织布局,使您拥有更多屏幕空间,因为工具栏和窗口等辅助控件被隐藏。
通过快捷方式访问工具窗口会将输入焦点移至该窗口,因此您可以在其上下文中使用所有键盘命令。当您需要返回编辑器时,请按。Esc
以下是调用您最常需要的工具窗口的快捷方式列表:
工具窗口 | 捷径 |
---|---|
项目 | Alt01 |
版本控制 | Alt09 |
跑步 | Alt04 |
调试 | Alt05 |
终端 | AltF12 |
编辑 | Esc |
sbt项目工具窗口和sbt Shell可以通过主菜单( View | Tool Windows)访问,或者您可以随时按快速搜索这些项目。CtrlShift0A
当您想专注于代码时,请尝试无干扰模式。它删除所有工具栏、工具窗口和编辑器选项卡。要切换到此模式,请从主菜单中选择查看| 外观| 进入无干扰模式。
无干扰模式的替代方法可以通过按 来隐藏所有工具窗口。您可以通过再次按此快捷键将布局恢复为默认值。CtrlShiftF12
导航栏是项目工具窗口的紧凑替代品。要访问导航栏,请按。AltHome
IntelliJ IDEA 中的大多数组件(工具窗口和弹出窗口)都提供快速搜索。此功能允许您过滤列表,或使用搜索查询导航到特定项目。
提示
当您不知道某个操作的快捷方式时,请尝试按 来使用“查找操作”功能。开始键入以按名称查找操作、查看其快捷方式或调用它。CtrlShift0A
编辑器基础知识
由于在 IntelliJ IDEA 中,您可以撤消重构并恢复本地历史记录中的更改,因此每次都要求您保存更改是没有意义的。
最有用的编辑器快捷键是:
行动 | 描述 |
---|---|
移动当前代码行 | CtrlShift0↑ CtrlShift0↓ |
复制一行代码 | Ctrl0D |
删除一行代码 | Ctrl0Y |
注释或取消注释一行代码 | Ctrl0/ |
注释一段代码 | CtrlShift0/ |
在当前打开的文件中查找 | Ctrl0F |
在当前文件中查找并替换 | Ctrl0R |
下一次出现 | F3 |
上一次出现的情况 | ShiftF3 |
在打开的选项卡之间导航 | Alt0→ Alt0← |
向后/向前导航 | CtrlAlt0← CtrlAlt0→ |
在编辑器中展开或折叠代码块 | CtrlNumPad + CtrlNumPad - |
产生 | AltInsert |
环绕着 | CtrlAlt0T |
突出显示符号的用法 | CtrlF7 |
要根据语法扩展选择,请按。要缩小它,请按。Ctrl0WCtrlShift0W
IntelliJ IDEA 可以一次选择多于一段代码。您可以通过选择下一个出现的情况,并按 取消选择。您甚至可以通过按 一次选择所有出现的情况。Alt0JAltShift0JCtrlAltShift0J
有关更多信息,请参阅编辑器基础知识。
代码完成
当您通过按 访问基本完成时,您将获得有关变量、类型、方法、表达式的基本建议,对于参数名称,您将获得类型建议等。当您调用基本完成两次时,它会显示更多结果,包括您可以导入的隐式转换的方法。CtrlSpace
智能完成功能可以识别预期的类型和数据流,并提供与上下文相关的选项。要调用智能完成,请按。当您调用智能完成两次时,它会显示更多结果,包括链。CtrlShiftSpace
提示
要覆盖插入符号处的标识符,而不只是插入建议,请按。如果您正在编辑标识符的一部分(例如文件名),这会很有帮助。Tab
要让 IntelliJ IDEA 为您完成声明,请按。语句完成将自动添加缺少的圆括号、方括号、大括号和必要的格式。CtrlShiftEnter
如果您想查看任何方法或构造函数的建议参数,请按。IntelliJ IDEA 显示每个重载方法或构造函数的参数信息,并突出显示已键入参数的最佳匹配。Ctrl0P
后缀补全功能可让您根据在点后键入的后缀将已键入的表达式转换为另一个表达式。
有关更多信息,请参阅自动完成代码。
导航
最近的文件
大多数时候,您使用一组有限的文件,并且需要在它们之间快速切换。这里真正节省时间的是通过按 调用名为“Recent Files”的操作。默认情况下,焦点位于上次访问的文件上。请注意,您还可以通过此操作打开任何工具窗口:Ctrl0E
通过按可导航到类,并支持复杂的表达式,包括驼峰、路径、行导航到、中间名匹配等等。如果您调用它两次,它会显示项目类的结果。Ctrl0N
导航到文件的工作方式与按 类似,但用于文件和文件夹。要导航到文件夹,请以该字符结束表达式。CtrlShift0NSlash
通过按可以导航到符号,并允许您按名称查找方法或字段。CtrlAltShift0N
您可以使用“项目”工具窗口来探索文件的内部结构。单击,然后从打开的列表中选择树外观 | 显示会员。
结构
当您不在文件之间切换时,您很可能是在文件内导航。最简单的方法是按。弹出窗口向您显示文件的结构,并允许您快速导航到其中任何一个:CtrlF12
选择进入
如果您需要在特定工具窗口(或 Finder/Explorer)中打开文件,您可以通过按“选择”操作来执行此操作:AltF1
导航快捷方式包括:
行动 | 捷径 |
---|---|
到处搜索 | 双倍的Shift |
导航至班级 | Ctrl0N |
导航至文件 | CtrlShift0N |
导航至符号 | CtrlAltShift0N |
最近的文件 | Ctrl0E |
文件结构 | CtrlF12 |
选择于 | AltF1 |
导航至声明 | Ctrl0B |
导航至类型层次结构 | Ctrl0H |
显示 UML 弹出窗口 | CtrlAlt0U |
更多信息请参阅源码导航。
快速弹出窗口
快速弹出窗口有助于检查与插入符号处的符号相关的附加信息。如果您想提高工作效率,您应该了解以下弹出窗口列表:
行动 | 捷径 |
---|---|
类型信息 | Alt+Equals |
文档 | Ctrl0Q |
快速定义 | CtrlShift0I |
显示用法 | CtrlAltF7 |
显示实施 | CtrlAlt0B |
隐式转换 | Ctrl+Shift+Q |
隐式参数 | Ctrl+Shift+P |
提示
编辑器中的符号可使用快速弹出窗口;但是,它们也可通过相同的快捷方式用于任何其他列表中的项目。
重构基础知识
IntelliJ IDEA 提供了一套全面的自动化代码重构,如果使用正确,可以显着提高生产力。首先,在应用重构之前不要费心选择任何东西。IntelliJ IDEA 足够智能,可以确定您要重构的语句,并且仅在有多种选择可能时才要求确认。
提示
要撤消上次重构,请将焦点切换到项目工具窗口并按。Ctrl0Z
行动 | 捷径 |
---|---|
改名 | ShiftF6 |
提取变量或类型 | CtrlAlt0V |
提取字段 | CtrlAlt0F |
提取一个常数 | CtrlAlt0C |
提取一个方法 | CtrlAlt0M |
提取参数 | CtrlAlt0P |
排队 | CtrlAlt0N |
复制 | F5 |
移动 | F6 |
重构这个 | CtrlAltShift0T |
要提取特征,请使用主菜单(Refactor | Extract | Trait)。
提示
真正节省时间的是能够借助提取重构来提取字符串表达式的一部分。只需选择一个字符串片段并应用重构即可用引入的常量或变量替换所有选定的片段用法。
有关更多信息,请参阅代码重构。
寻找用途
查找用法可帮助您快速查找引用插入符号处的符号的所有代码段,无论该符号是类、方法、字段、参数还是其他语句。只需按下即可获取按使用类型、模块和文件分组的参考列表。AltF7
如果您想为“查找用法”算法设置自定义选项,请按,或单击带有搜索结果的右侧面板上的第一个按钮。CtrlAltShiftF7
如果您要查找的内容是纯文本,请按 来使用“在文件中查找”。CtrlShift0F
有关更多信息,请参阅搜索用法。
检查
检查是内置的静态代码分析工具,可帮助您发现可能的错误、定位死代码、检测性能问题并改进整体代码结构。
大多数检查不仅告诉您问题出在哪里,而且还提供快速修复以立即处理问题。按选择快速修复。AltEnter
提示
该编辑器可让您通过键盘快捷键在突出显示的问题之间快速导航。按转到下一个问题,按转到上一个问题。F2ShiftF2
当您对整个项目执行代码分析时,可以进行过于复杂而无法即时运行的检查。您可以通过以下两种方式之一执行此操作:通过选择代码| 使用配置文件“{0}”运行代码清理…从主菜单,或选择代码| 分析代码 | 按名称运行检查...按名称运行检查。
请注意,虽然检查可以为存在潜在问题的代码提供快速修复,但意图可以帮助您对正确的代码应用自动更改。要获取适用于插入符号处的代码的意图列表,请按。AltEnter
有关更多信息,请参阅代码检查。
代码风格和格式
IntelliJ IDEA 会在您编辑时自动应用您在“代码样式”设置中配置的代码样式,并且在大多数情况下,您不需要显式调用“重新格式化代码”操作。
但是,您可以充分利用Scalafmt并将其用于代码格式化。有关更多信息,请参阅Scala 格式化程序部分。
检查以下格式化快捷方式:
行动 | 捷径 |
---|---|
重新格式化代码 | CtrlAlt0L |
自动缩进行 | CtrlAlt0I |
优化进口 | CtrlAlt0O |
除糖 Scala 代码(文件) | Ctrl+Alt+D |
您还可以使用Scalastyle检查来检查您的 Scala 代码。将scalastyle_config.xml放在<root>/.idea或<root>/project目录中并检查您的代码。
请注意,默认情况下,IntelliJ IDEA 使用常规空格而不是制表符进行缩进。如果您的文件有大量缩进,您可能需要通过启用“设置 | ”中的“使用制表符”选项来优化其大小。编辑| 代码风格| Scala。
有关更多信息,请参阅重新格式化源代码。
运行并调试
通过选择“运行”|“创建运行/调试配置”后 从主菜单编辑配置,您可以运行和调试 Scala 代码。
对于 sbt 项目,您还可以使用 sbt shell 运行和调试代码。选项“使用 sbt shell 进行构建和导入”和“启用 sbt shell 调试”(位于设置中的sbt页面上)将使您能够执行此操作。
为了快速评估代码,您可以使用 Scala 工作表,它使您能够以交互方式运行代码。按Ctrl+Alt+Shift+X可创建 Scala 工作表的精简版本并Ctrl+Alt+W运行它。
运行/调试的常规操作如下:
行动 | 捷径 |
---|---|
跑步 | ShiftF10 |
调试 | ShiftF9 |
在调试模式下,您可以使用“评估表达式”工具评估任何表达式,按 即可访问该工具。该工具以与编辑器中相同的方式提供代码完成,因此可以轻松输入任何表达式。AltF8
有时,您可能想要单步执行特定方法,但不想执行第一个将被调用的方法。在这种情况下,请通过按选择特定方法来使用智能单步执行。ShiftF7
行动 | 捷径 |
---|---|
切换断点 | CtrlF8 |
步入 | F7 |
智能步入 | ShiftF7 |
跨过去 | F8 |
走出去 | ShiftF8 |
恢复 | F9 |
评估表达 | AltF8 |
如果您想在调试时“倒回”,可以通过“丢帧”操作来完成。如果您错误地迈得太远,这尤其有用。这不会恢复应用程序的全局状态,但至少可以让您恢复到以前的堆栈帧。
提示
按住 的同时单击装订线可以快速禁用任何断点。要更改断点详细信息(例如条件),请按。AltCtrlShiftF8
重新加载更改和热插拔
有时,您需要在不关闭进程的情况下在代码中插入微小的更改。由于 Java VM 具有 HotSwap 功能,因此当您调用Make时,IntelliJ IDEA 会自动处理这些情况。
应用服务器
如果需要,您可以将 Scala 应用程序部署到服务器。
有关更多信息,请参阅使用应用程序服务器。
建造
导入或创建 sbt 项目后,您可以直接在编辑器中编辑其build.sbt文件。在build.sbt中,您可以指定编译器选项、有关子项目的信息,还可以定义任务和设置。每次更改build.sbt文件时,您都需要将更改与 IntelliJ IDEA 中的项目模型同步。
您可以配置“构建脚本更改后重新加载项目”选项,以自动同步对 build.sbt 所做的更改。要访问此选项,请选择“文件”|“ 设置 | 构建、执行、部署 | 构建工具。
对于手动同步,请使用sbt 项目工具窗口工具栏上的相应操作: 。
请注意,任何 sbt 任务都可以附加到运行配置之前运行。
感谢您的反馈意见!