IntelliJ IDEA 2025.3 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 → String、 int → Long 等),更新相关代码,并解决可能的冲突。

反转布尔值

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

撤消重构

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

代码分析

结构化搜索和替换

结构化搜索与替换(SSR) 是一个强大的工具。 您可以将其用于 static 代码分析和重构自动化。 简而言之,它使您能够在代码中搜索特定模式,并用参数化模板替换这些模式。 为此,它配备了自己的语言来定义代码模式,详细描述请见此 文章。

要访问此功能,请转到主菜单中的 编辑 | 查找 | 结构化搜索/替换。

结构化搜索与替换对话框

用户界面

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

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

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

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

随处搜索

通过 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 类的实现。 并不是所有人都知道,您可以为任何类定义自定义渲染器。 为此,请从 自定义数据视图 上下文菜单中选择 调试工具窗口 工具窗口。

使用自定义数据渲染器

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

丢帧

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

强制返回

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

语言注入

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

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

了解更多 语言注入。

JSON 语言注入的示例

更新应用程序

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

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

工具

外部工具

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

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

2026年 2月 12日