IntelliJ IDEA 2025.1 Help

专业技巧

本指南面向已经熟悉 IntelliJ IDEA 基本功能并希望进一步了解的用户。 如果您对 IntelliJ IDEA 相对较为陌生,我们建议您在深入了解本文之前,先阅读 IntelliJ IDEA 概述

编码辅助

Full Line 代码补全

整行代码补全 功能使用本地运行的深度学习模型来建议整行代码。

  • 要接受整个建议,请按 Tab

    或者,前往 代码(C) | 代码补全 | 插入内联提案 中的主菜单或 配置不同的快捷键

  • 要逐字接受建议,请按 Ctrl+Right 或在主菜单中转到 代码(C) | 代码补全 | 插入内联提案的单词

  • 要逐行接受建议,请按 End 或进入主菜单中的 代码(C) | 代码补全 | 插入内联提案的行

类型信息和快速文档

如果您想了解光标处符号的更多信息,例如它的来源或其类型是什么, 快速文档是您的好帮手。 按 Ctrl+Q 调用它,您会看到一个弹出窗口,显示这些详细信息。

如果您不需要完整信息,可以使用 类型信息 操作:将光标放在代码元素上,然后按 Ctrl+Shift+P 或转到主菜单中的 视图 | 类型信息。 它仅显示所选表达式的类型,但不会占用太多屏幕空间。

显示表达式类型信息

代码补全区分大小写

默认情况下,IntelliJ IDEA 的代码补全大小写敏感性仅影响您输入的第一个字母。 此策略可以在 设置 对话框(Ctrl+Alt+S )中的 编辑器 | 常规 | 代码完成 页面上更改,您可以使 IDE 对所有字母敏感。

代码补全设置

在这里,您还可以关闭 输入时显示建议 选项。 如果您希望仅在明确调用时才显示代码补全弹出窗口,这是合理的。

CamelHumps

默认情况下,当您在编辑器中选择任何内容时,IntelliJ IDEA 对单词的大小写不敏感。 如果您更喜欢根据 CamelCase 选择单词,例如选择部分单词而不是整个单词,可以启用此功能。 您可以在 编辑器 | 常规 | 智能按键设置 对话框中启用此功能。

重构

提取字符串片段

IntelliJ IDEA 不仅可以重构可执行代码,还可以重构字符串字面量。 选择字符串的任意片段,调用 Extract variable/constant/field/parameter,将其提取为常量,并在整个代码中替换其用法。

类型迁移

在重构时,您通常会重命名符号或提取并移动代码中的语句。 不过,重构不仅仅是这样。 例如, 类型迁移 (通过 Ctrl+Shift+F6 获取)允许您更改变量、字段、参数或方法返回值的类型(int → Stringint → Long 等),更新相关代码,并解决可能的冲突。

反转布尔值

如果 IntelliJ IDEA 可以自动化类型迁移,为什么不对语义做同样的处理呢? 要反转布尔符号的所有用法,请使用 反转布尔值重构

撤消重构

使用 IntelliJ IDEA,您无需担心重构代码时的后果,因为您可以通过调用 撤销功能并使用便捷的 Ctrl+Z 快捷键随时撤销任何操作。

代码分析

结构化搜索和替换

Structural Search and Replace 或 SSR 相当强大(在您学会正确使用之后),可以用于静态代码分析和重构自动化。 简而言之,它使您能够在代码中搜索特定模式,并用参数化模板替换这些模式。 为此,它配备了自己的语言来定义代码模式,详细描述请见此 文章

要访问此功能,请使用 编辑 | 查找 | 结构化搜索/替换。 如果您想创建自己的模板或模式,请转到 设置 对话框,点击页面 编辑器 | 检查 ,并在常规节点下启用结构化搜索检查:

设置中显示的结构搜索和替换检查

用户界面

禁用路径导航和标记树高亮显示

如果您处理大量 HTML 和 XML 并且想要避免不必要的干扰,您可能希望在 编辑器 | 常规 | 路径导航 中禁用 路径导航 和 标记树高亮显示。

禁用不必要的装订区域图标

Gutter ,最左边的编辑器列,通常显示与您正在编辑的代码相关的有用信息。 如果您觉得有时信息过多,您可以在 设置 对话框(Ctrl+Alt+S )中配置您想要看到的内容: Editor | General | Gutter Icons

随处搜索

通过 Search Everywhere ,您可以在任意位置查找任意文本片段:在您的代码、库、用户界面部分、设置(通过在设置名称前加上 / )甚至操作名称中。 如果您经常使用这个功能,值得知道的是,您可以通过在弹出窗口中直接按 Enter 来访问 IntelliJ IDEA 设置。 例如,此处我们正在访问编辑器设置:

搜索设置

如果您以 /plugins 开始搜索查询,您将能够打开和关闭它们:

全局搜索:/plugins

其他标签包括 /appearance/system/inspections/registry/intentions/templates/vcs

另一个有趣的事实是,Search Everywhere 支持缩写。 您可以使用设置对话框的 Keymap page为任何操作分配一个短文本,

在全局搜索中使用缩写的示例

然后通过输入以下文本从“随处搜索”调用此操作:

搜索结果

隐藏编辑器标签页

当您需要关闭除当前标签外的所有编辑器标签时,请在当前标签上点击关闭图标 关闭按钮 ,同时按住 Alt

使用“关闭其他”选项的示例

如果您完全不想看到编辑器标签,请转到设置中的 编辑器选项卡页 页面,并从 标签页位置 下拉列表中选择

在新窗口中打开文件

一个不太容易找到但非常有用的功能是,在 项目工具窗口 中选择一个文件并按下 Shift+Enter 即可在新窗口中打开该文件。

编辑器

与剪贴板比较

IntelliJ IDEA 内置了一个差异查看器,可用于代码、jar 文件、修订版本,甚至是图像。 要调用它,选择任意一对文件并按 Ctrl+D

如果您已选择一个文件,IDE 将提示您选择要进行比较的文件。 要快速比较活动编辑器与剪贴板,请选择 查看 | 与剪贴板比较

与剪贴板比较功能,用于一个方法的差异比较

从历史粘贴

IntelliJ IDEA 记录您复制到剪贴板上的所有内容。 每当您想从 剪贴板历史 中粘贴先前复制的项目时,按 Ctrl+Shift+V

从剪贴板历史记录粘贴的对话框

多选

多重选择 允许您快速选择并同时编辑多段文本。

首先,选择您要编辑的文本范围。

然后,按 Alt+J ,IntelliJ IDEA 将向前搜索当前文件,直到找到一个完全匹配的文本片段,然后将其添加到选中内容中。 您可以按 Alt+J 继续前进,或者按 Alt+Shift+J 返回,但请注意,当搜索到达文件末尾时,它将从文件的开头重新开始。

选择完成后,您可以开始像编辑一个片段一样编辑所有片段。

在编辑器中使用的 Multiple Selection 功能

正则表达式

IntelliJ IDEA 提供了多种功能,以帮助您使用正则表达式(regex 或 regexp)。 例如,您可以使用正则表达式与 查找和替换功能 ,该功能还支持在替换表达式中捕获的组。 或者,您可以在代码中检查任何正则表达式:只需将文本光标放在正则表达式处并按下 Alt+Enter 以使用 Check Regex意图。

使用正则表达式

版本控制

修正更改

提交更改对话框中,IntelliJ IDEA 提供执行各种操作的选项。 其中之一是 修正提交 ,当您想要更改上次提交并将当前更改加入其中时非常有用。

搁置与补丁

Shelves 是一个类似于 Git Stash 的 IDE 功能,但适用于所有 VCS:当您需要暂停当前工作并从存储库中提取某些内容以尽快修复时,它会提供帮助,然后您可以恢复之前的工作。 此功能负责处理本地已更改但未提交的文件,因此不会再有丢失的更改或匆忙进行的合并提交。

如需更多信息,请参阅页面 Git-Stash和章节 Stashing and Unstashing

补丁允许您将一组更改保存到文本文件中,该文件可以通过电子邮件(或任何其他旧媒介)传输,然后应用到代码中。 当您的飞机降落在荒岛上,或您以其他方式置身于没有可靠宽带连接的情况下,您确实需要提交某些内容时,这将非常有用。

如需更多信息,请参阅 Using Patches

调试

非挂起断点

有时,您可能希望在特定代码行进行评估,而不暂停程序。 您可以通过使用 non-suspending breakpoint 来实现。 要创建一个,只需点击包含 Shift 的边距并在 求值并记录(E) 字段中输入表达式。

使用方法断点

这样您可以更改或记录应用程序状态,而无需在项目代码中插入额外的语句。 在调试无法更改的已编译类时,这非常有用。

字段断点或字段观察点

除了上面提到的动作断点,您还可以使用 Field watchpoints。 当访问与此关联的字段时,此断点将停止执行。 要创建字段监视点,只需点击位于 Alt 的凹槽(macOS 请点击 Ctrl+Cmd )。

使用字段观察点

对象标记

在调试应用程序时,IntelliJ IDEA 允许您通过 标记对象操作(可在 计算表达式变量监视视图中使用)为任意对象实例添加彩色标签以便于识别。 )

如果您有任何使用标签标记的实例,也可以在条件表达式中使用它:

使用 object markers

自定义数据呈现器

计算表达式变量监视内联调试器都使用一种标准方式来呈现变量值,主要基于 toString 类的实现。 并不是所有人都知道,您可以为任何类定义自定义渲染器。 为此,请从 自定义数据视图 上下文菜单中选择 Debug(调试)工具窗口 工具窗口。

使用自定义数据渲染器

当您使用的库中的某些类未提供有意义的 toString 实现时,这尤其有用,您可以在库外自行定义它。

丢帧

如果您想在调试时“回到过去”,可以通过 Drop Frame 操作来完成。 如果您不小心走得太远,这是一个很大的帮助。 这不会还原您应用程序的全局状态,但至少会使您通过帧堆栈回退。

强制返回

如果您想跳到未来,并强制从当前方法返回而不再执行其中的任何指令,请使用 强制返回 操作(要调用它,请按 Ctrl+Shift+A 并输入操作名称)。 如果该方法返回一个值,您必须指定它。

语言注入

语言注入允许 IDE 识别嵌入到字符串字面值中的代码片段。 当您将一种语言注入字符串字面量时,您将获得针对编辑该字面量的全面代码辅助功能,例如语法高亮和代码补全。

例如,您可以在 Java 代码中将 JSON 注入到字符串字面量中。 IntelliJ IDEA 能识别注入的 JSON 代码,并在注入的片段中提供特定于 JSON 的功能,例如语法高亮和代码格式化,使得在同一个文件中处理这两种语言更加容易。

如需了解更多信息,请参见 Language Injection

JSON 语言注入的示例

更新应用程序

如果您在应用服务器(Tomcat、JBoss 等)上运行您的应用程序,您可以通过 Ctrl+F10 使用更新应用程序操作重新加载更改的类和资源。

有关更多信息,请参见 在应用服务器上更新应用程序

工具

外部工具

IntelliJ IDEA 集成了许多开发者工具,并且可以立即使用。 如果您需要的工具尚未集成,但希望通过快捷方式使用,请前往 设置 | 工具 | External Tools ,并配置如何运行此工具。 然后,您将能够通过 工具 | 外部工具 主菜单运行此工具。

有关更多信息,请参见 外部工具

最后修改日期: 2025年 5月 8日