IntelliJ IDEA 2025.1 Help

代码补全

基本代码补全帮助您完成类、方法、字段和关键字的名称,这些名称在可见范围内。

IntelliJ IDEA 分析上下文并建议从当前插入符号位置可以访问的选项。 建议还包括 实时模板。 代码补全支持非英文键盘布局。

调用基本补全

  • 默认情况下,IntelliJ IDEA 会在您输入时自动显示代码完成弹出窗口。

    或者,您可以按 Ctrl+Space 或从主菜单中选择 代码 | 代码补全 | 基本

  • 第二次调用代码补全时,会显示不可访问的类和成员(这些可以通过 应用意图操作来公开)。

  • 连续第三次调用时,补全会在整个项目中查找类和接口名称的建议,而不考虑依赖关系。 如果必要的类尚未 导入 ,将自动导入。

  • 代码补全可用于 custom file types。 然而,IntelliJ IDEA 无法识别此类文件的结构,并会建议选项,而不考虑它们是否适合当前上下文。

从列表中接受一个建议

  • Enter 或双击相关列表项,将其插入到插入符号的左侧。

  • 请按 Tab 替换插入点右边的字符。

  • 使用 Ctrl+Shift+Enter 使当前代码结构在语法上正确(平衡括号、添加缺失的大括号和分号等)。

  • 使用特定的键和自定义字符接受选定的补全建议。 要启用这些功能,请转到 编辑器 | 常规 | 代码完成 设置页面  Ctrl+Alt+S 并执行以下操作:

    1. 要使用特定键,请选中 通过按空格、点或其他上下文相关键插入选定建议 复选框。 这些键取决于语言、您的上下文等因素。 对于 Java,这些键包括 SpaceTab[]() ,以及其他一些键。

    2. 若要使用自定义字符,请将字符输入到 接受完成的附加字符 字段。

排除并优先考虑用于代码补全的类

从自动补全中排除某个类或包

  1. Ctrl+Alt+S 打开设置,然后选择 编辑器|通用|自动导入

  2. 从导入和补全中排除 下,添加您想要从补全中排除的类或包的名称。 您在此处指定的类不会出现在建议列表中。

您还可以从补全列表中排除项目:当补全建议列表打开时,按 Alt+Enter 并选择您想要排除的项目。

优先考虑用于代码补全的类

此功能允许您自动导入常用的静态方法。 当您输入来自优先类的方法时,IDE 会显示补全建议。 从列表中选择一个建议会插入相应的导入语句,而无需手动编辑。

  1. Ctrl+Alt+S 打开设置,然后选择 编辑器|通用|自动导入

  2. 在补全中包含 static 成员的自动导入 部分,点击 "添加"按钮 或按 Alt+Insert

  3. 在打开的对话框中,指定您想要添加到列表中的类。 您可以通过名称搜索类,或从项目结构中选择它们。

  4. 在类名的右侧,您还可以选择是否仅在当前项目中优先考虑它,还是在所有项目中(全局)优先考虑它。

类型匹配补全

智能类型匹配代码补全 过滤建议列表,并仅显示适用于当前上下文的类型。

类型匹配补全在可以确定适当类型的情况下非常有用:

  •  在赋值语句的右边部分

  •  在变量初始化程序中

  •  在 return 语句中

  •  在方法调用的参数列表中

  •  对象声明中的 new 关键字之后

  • 在链式表达式中

调用类型匹配补全

  1. 开始输入。 默认情况下,IntelliJ IDEA 会在您输入时自动显示代码完成弹出窗口。 如果自动完成已禁用,请按 Ctrl+Shift+Space 或从主菜单中选择 代码|代码补全|类型匹配

    智能代码补全
  2. 如有必要,请再次按 Ctrl+Shift+Space。 这允许您完成:

    • 集合、列表和数组。 IntelliJ IDEA 搜索相同组件类型的符号并建议将其转换。

    • 静态方法调用或常量引用。 IntelliJ IDEA 扫描静态方法和字段,并建议当前上下文中适用的内容。

    智能类型自动完成第二次调用

语句补全

您可以使用语句完成来创建语法正确的代码结构。 它会插入必要的语法元素(圆括号、花括号和分号),并使您处于可以开始键入下一条语句的位置。

完成方法声明

  • 开始输入方法声明,并在左括号后按 Ctrl+Shift+Enter

    完成方法声明

完成代码构造

  • 开始输入代码结构体并按 Ctrl+Shift+Enter

    IntelliJ IDEA 会自动完成构造并添加所需的标点。 文本光标位于下一个编辑位置。

    完成代码构造

将方法调用参数换行

  • 输入表达式。 然后输入方法调用。 当 println 在建议列表中获得焦点时,使用 Ctrl+Shift+Enter 选择它:

    将方法调用参数换行

Hippie 补全

Hippie completion 是一个补全引擎,它分析您在可见范围内的文本并根据当前上下文生成建议。 它可以帮助您完成任何当前打开的文件中的任何单词。

将文本光标处的字符串扩展为现有单词

  1. 输入初始字符串,然后执行以下操作之一:

    • Alt+/ 或选择 代码 | 代码补全 | Cyclic Expand Word 搜索光标前的匹配词。

    • Alt+Shift+/ 或选择 代码 | 代码补全 | 循环展开单词(向后) 以在文本光标后和其他打开的文件中搜索匹配的单词。

    第一个建议值出现,而且原型在源代码中被高亮显示。

    将文本光标处的字符串扩展为现有单词
  2. 接受建议,或者按住 Alt 键并继续按 \ ,直到找到您需要的单词。

标签和属性的补全

IntelliJ IDEA 自动完成多种文件类型中的标签和属性名称及值:

标签和属性名称的补全基于文件关联的 DTD 或 Schema。 如果没有 schema 关联,IntelliJ IDEA 将使用文件内容(标签名、属性名及其值)来完成您的输入。

XML/XSLJSP/JSPX 文件中,标签库和命名空间的代码补全可用。

完整的标签名称

  1. 请输入开头 < 然后开始输入标签名。 IntelliJ IDEA 显示在当前上下文中适用的标签名称列表。

    标签完成

    使用 UpDown 键滚动列表。

  2. Enter 来接受列表中的选择。 如果您的文件与架构或 DTD 相关联,IntelliJ IDEA 将自动根据其插入必需的属性。

导入 taglib 声明

如果您需要使用在标签库中声明的标签,您需要在使用该标签库中的任何自定义标签之前导入此 taglib。

  1. 开始输入 taglib 前缀,然后按 Alt+Insert

  2. 从列表中选择一个 taglib 然后按 Enter

    IntelliJ IDEA 自动导入所选的 taglib 并添加 import 语句。

在一个 taglib 中声明一个标签

  1. 开始键入标签,然后按 Ctrl+Alt+Space

  2. 从列表中选择一个标签。 标签库的 uri 显示在括号中。

    标签完成:之前
  3. 请选择一个 taglib 然后按 Enter。 IntelliJ IDEA 会添加所选标签库的声明。

机器学习辅助的代码补全排序

IntelliJ IDEA 允许您根据其他用户在类似情况下的选择来优先考虑补全建议。

ML 补全机制不会添加任何新元素,而是对从代码中检索的元素进行排序。 数据不会暴露在任何地方;它是在本地收集的。

启用 ML 补全排序

  1. Ctrl+Alt+S 打开设置并选择 编辑器 | 常规 | 代码完成

  2. 机器学习辅助补全 下,启用 根据机器学习对补全建议进行排序 选项,并选择您希望使用 ML 补全的语言。

    ML 辅助补全设置

启用相关性标记

  1. Ctrl+Alt+S 打开设置并选择 编辑器 | 常规 | 代码完成

  2. 启用以下选项:

    • 在补全弹出窗口中标记位置更改 :使用 机器学习排名提高机器学习排名下降 图标来指示建议的重要性是增加还是减少,因此建议已在建议列表中上移或下移。

    • 在补全弹出窗口中标记最相关的条目 :请使用 与机器学习相关的提案 图标标识列表中最合适的建议。

    建议列表将如下显示,图标标记重新排序和最相关的条目。

    ML 辅助补全

配置代码补全设置

要配置代码补全选项,请转到 编辑器 | 常规 | 代码完成 设置页面&#xa0; Ctrl+Alt+S

您可以选择以下设置:

条目

描述

区分大小写

选择是否要考虑字母大小写来提供代码补全建议。 选择是匹配首字母的大小写还是所有字母的大小写。

自动插入单个建议到

如果对基础和智能类型匹配补全只有一个建议,则自动完成代码。

按字母顺序对建议排序

选择是否按字母顺序排序建议列表中的项,而不是按相关性排序。

您可以随时通过点击建议列表中的 并切换 按名称排序 选项来更改此行为。

输入时显示建议

选择是否希望建议列表自动弹出,而无需明确调用补全功能。 此选项默认已启用。

通过按空格、点或其他上下文相关键插入选定建议

选择是否通过输入根据语言、上下文等因素确定的特定键来插入所选建议。 对于 Java,这些键包括空格键、Tab键、[ 和 ]、( 和 ),以及其他一些键。

以下时间后显示文档弹出窗口

选择自动显示弹出窗口,其中包含建议列表中当前突出显示的类、方法或字段的文档。

在右侧字段中,指定弹出窗口应出现的延迟时间(以毫秒为单位)。

适用时自动插入圆括号

如果启用此选项,IntelliJ IDEA 将在您完成函数或方法时自动插入一对开闭括号。

启用插入括号功能

取消选中该复选框以禁止自动插入括号。

如果您使用一个开括号 ( 而不是 Enter 从完成列表中应用选定项,那么无论该选项是否打开,括号都会自动插入。

完成时插入括号已禁用。 在补全带有开括号的情况下,仍然会插入括号。

要使用 ( 开括号代替 Enter 来应用补全列表中的选定项,请打开 设置 对话框(Ctrl+Alt+S ),转到 编辑器 | 常规 | 代码完成 ,并选中 通过按空格、点或其他上下文相关键插入选定建议 复选框。

如需更多信息,请参阅 Use specific keys to insert suggestions

机器学习辅助补全

基于机器学习排序完成建议

如果您希望使用机器学习模型将最合适的项目在建议列表中排名更高,请选择此选项。 选择您希望基于机器学习启用建议的语言。

在补全弹出窗口中标记位置更改

请使用 机器学习排名提高机器学习排名下降 图标来指示建议的相关性是增加还是减少,因此建议在建议列表中的位置已经上升或下降。

在补全弹出窗口中标记最相关的条目

请使用 与机器学习相关的提案 图标来指示列表中最合适的建议。

JavaScript

仅基于类型补全

默认情况下,IntelliJ IDEA 提供符号补全建议,而不考虑它们的类型。 使用这种方法,在复杂情况下,列表会显示多个补全变体。

若要使补全更加精准,请选择此选项。 完成列表将很大程度上依赖于 IntelliJ IDEA 推理。 因此,如果推理效果不佳,该列表可能会保持为空。

为可 null 类型建议包含可选链接的条目

默认情况下,IntelliJ IDEA 会建议带有 可选链操作符 (?)的符号的补全。 取消选中此复选框以抑制此行为。

在重写补全中展开方法体

默认情况下,当您想要重写父类或接口中的方法并从补全建议列表中选择此方法时,IntelliJ IDEA 会自动添加参数,生成 super() 调用,并在可能的情况下添加类型信息。

取消选中此复选框以在完成期间禁止自动生成重写的方法体。

补全名称

  • 建议变量和参数名称 :默认情况下,复选框为空。 选中后,IntelliJ IDEA 会在声明新类字段、变量和参数时建议名称。 这些建议是基于您的项目中定义的类、类型和接口的名称,您使用的库以及标准 API。

  • 为类字段建议名称

    默认情况下,该选项处于关闭状态。

  • 为建议的参数名称添加类型注解 :选中此复选框以提供每个完成建议的类型信息。

    复选框只有在选中 建议变量和参数名称 复选框时才可用。

形参信息

补全时显示形参名称提示

选择是否显示参数值的提示。

显示参数信息弹出窗口(毫秒)

选中此复选框以便 IntelliJ IDEA 在编辑器中输入左括号或从建议列表中选择方法时自动显示所有可用方法签名的弹出窗口。

在右侧的文本字段中,指定弹出窗口应出现的延迟时间(以毫秒为单位)。

如果未选中此复选框,请使用 Ctrl+P 显示参数信息。

显示完整的方法签名

如果选择此复选框,参数信息将显示完整签名,包括方法名和返回类型。

SQL

建议对象来源

选择对象的建议来源:

  • 仅当前搜索路径 :仅为控制台选择的模式。

    有关选择架构的更多信息,请参阅 选择默认模式

  • 当前作用域 :当前为控制台选择的模式和系统模式(例如,PostgreSQL 中的 pg_catalog)。

  • 所有可用模式 :所有内省模式。

仅建议来自当前路径的对象
建议来自所有模式的对象
建议来自所有模式的对象

限定对象使用

选择在何种情况下将对象限定为数据库、模式、表和视图,以及表和视图的别名。

对象始终限定为表
对象从不限定为表

限定对象在

选择在给定情况下将对象限定为何种内容。

JOIN 补全中的对象始终限定
JOIN 补全中的对象从不限定

在JOIN 补全中使用别名

JOIN 语句中为表创建别名。

在 JOIN 补全中使用别名

反转自动生成的ON 子句中操作数的顺序

ON 子句中切换操作数。 当复选框被清除时, FROM 表在 JOIN 条件中排在第一位。

反转自动生成的 ON 子句中操作数的顺序

根据名称匹配建议非严格外键

JOIN 语句生成可能的代码补全建议列表。 代码补全列表包括来自其他表的列建议,这些列与 JOIN 语句中的表的列同名。

阅读有关此选项调试规则的更多信息: 虚拟外键的调试规则

建议基于名称匹配的非严格外键已开启
基于名称匹配的推荐非严格外键已关闭

在补全表名时自动添加别名

为表名创建别名。

在补全表名时自动添加别名

在表名之后的补全中建议别名

在使用代码完成时为表名建议一个别名 (Ctrl+Space)。

在表名后的补全中建议别名

自定义别名(表)

您可以添加表名以及想要用于此表的别名。 要添加 table-alias 对,请点击 添加别名 按钮 (添加别名按钮)。

完成提示和技巧

缩小建议列表

  • 通过输入单词的任意部分(即使是中间的字符)或在点分隔符 . 后调用代码补全来缩小建议列表的范围。

    IntelliJ IDEA 显示包含您输入字符的建议,无论其位置如何。 这使得不再需要使用通配符。

    codeCompletionWildcard.png

    对于 CamelCasesnake_case 名称,请仅输入首字母。 IntelliJ IDEA 会自动识别和匹配首字母。

求反表达式

在 Java 中按下 !您可以对表达式取反 ,在从建议列表中选择它之后。 结果,该表达式将被取反:

如果您在 代码补全设置页面 启用了 通过按空格、点或其他上下文相关键插入选定建议 选项,或者显式调用代码补全,或者显式更改建议列表中的选择,此方式对表达式取反是有效的。

    代码补全快捷键

    您可以使用以下 实时模板 快捷方式来插入最常用的语句之一:

    • sout :打印 System.out.printIn()

    • soutm :添加当前类和方法名

    • soutp :添加方法参数名称和值

    • soutv :添加最后一个变量值

    • soutc :在期望消费者函数的地方插入 System.out::printIn 方法引用

    查看参考

    • 您可以在建议列表中选择一个条目时,按 Ctrl+Shift+I 使用 快速定义视图

      快速定义
    • 当您在建议列表中选择一个条目时,可以通过按 Ctrl+Q 使用 快速文档

      快速文档

    查看代码层次结构

    当您从建议列表中选择一个条目时,可以查看 代码层次结构

    • Ctrl+H :查看类型层次结构

    • Ctrl+Alt+H :查看调用层次结构。

    • Ctrl+Shift+H :查看方法层次结构。

    观看此视频以了解更多关于 IntelliJ IDEA 中代码补全的工作原理:

    故障排除

    如果代码补全不起作用,可能是以下原因之一:

    • 省电模式 在 (文件 | 省电模式)。 开启它可以通过消除后台操作(包括错误高亮、即时检查和代码补全)来最大限度地减少笔记本电脑的电量消耗。

    • 您的项目未 配置 JDK。

    • 您的文件不在内容根目录中,也未 绑定到构建路径 ,因此无法获得代码补全所需的类定义和资源。

    • 包含您希望出现在补全建议列表中的类和方法的文件被标记为纯文本文件。

    • 包含您希望出现在补全建议列表中的方法的外部库未被 添加为依赖项或全局库

    • 如果收集代码补全选项花费的时间太长,代码补全弹出窗口可能不会自动出现。 例如,如果计算机正在忙于其他任务。 在这种情况下,您仍然可以通过 Ctrl+Space 手动激活代码补全弹出窗口。

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