CLion 2025.2 Help

代码补全

基础代码补全帮助您在可见作用域内完成名称、类型和关键字。

CLion 分析上下文并建议从当前光标位置可达的选项。 建议还包括 Live templates。 补全支持非英语键盘布局。

调用基本补全

  • 默认情况下,CLion 会在您输入时自动显示代码补全弹出窗口。

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

    基本补全弹窗
  • 代码补全可用于 custom file types。 但是,CLion 无法识别此类文件的结构,并会建议选项,而不考虑它们在当前上下文中的适用性。

从列表中接受一个建议

  • Enter 或双击相关列表项,将其插入到光标左侧。

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

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

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

    1. 要使用特定键,请选中 按空格、点或其他上下文相关的键插入选定的建议 复选框。 这些键取决于语言、您的上下文等因素。

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

机器学习辅助的补全排序

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

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

启用 ML 补全排序

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

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

    ML 辅助补全设置

启用相关性标记

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

  2. 启用以下选项:

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

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

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

    带标记的 ML 辅助补全

代码补全设置

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

您可以选择以下设置:

项目

描述

区分大小写

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

自动插入单个建议到

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

按字母顺序对建议排序

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

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

输入时显示建议

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

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

在建议列表中,每个项自动 显示弹出窗口 ,显示当前在查找列表中高亮显示的类、方法或字段的文档。

禁用该选项时,按下 Ctrl+Q 可显示元素文档。

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

适用时自动插入圆括号

如果启用该选项,CLion 在您完成输入函数或方法时会自动插入一对括号。

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

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

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

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

在基本补全中显示导入项

当您想要使用的符号未通过相应的 #include 导入到当前文件中,但它已在标准库或解决方案的其他位置定义时,您可以按 Ctrl+Alt+Space 快速在补全建议中找到此符号。

您可以使用此选项将导入符号建议包含到自动和基本补全的建议列表中。

导入项的行为

配置导入补全行为以始终插入 include 指令或显示一个菜单,其中包含添加前向声明的选项。

在成员补全中显示自由函数

一个常见的 C++ 编码实践是优先使用非成员非友元函数而不是成员函数。 这是增加封装并尽可能保持类接口最小化的好方法。 当您在表达式后输入点 . 或箭头 -> 时,接受该表达式作为第一个参数的自由函数将在补全列表中出现在成员函数之后。

如果您不希望在补全建议中包含自由函数,请清除此复选框。

机器学习辅助补全

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

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

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

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

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

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

JavaScript

仅类型基础的补全

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

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

为可空类型建议带有可选链的项

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

在覆盖的补全中展开方法体

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

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

名称补全

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

  • 为类字段建议名称

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

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

    仅当选中 建议变量和参数名称 复选框时,此复选框才可用。

参数信息

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

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

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

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

显示完整的方法签名

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

SQL

建议对象来源

选择对象的建议来源:

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

    有关选择架构的更多信息,请参阅 为查询控制台设置默认架构

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

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

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

限定对象使用

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

  • 始终 :总是使用合格的对象名称,例如 <schema_name>.<object_name>

  • 遇到冲突时 :仅当简称含糊时才使用限定对象名称,例如,当多个 schema 中存在同名对象时。

  • 从不 :始终使用未经限定的对象名称。

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

限定对象在

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

  • 始终 :总是使用合格的对象名称,例如 <schema_name>.<object_name>

  • 遇到冲突时 :仅当简称含糊时才使用限定对象名称,例如,当多个 schema 中存在同名对象时。

  • 从不 :始终使用未经限定的对象名称。

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

在JOIN 补全中使用别名

JOIN 语句中为表创建别名。

在 JOIN 的补全中使用别名

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

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

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

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

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

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

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

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

为表名创建别名。

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

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

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

在表名后补全中建议别名

自定义别名(表)

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

完成提示和技巧

通过输入代码编号自动补全 HTTP 常量

  • 指定已导入包名(如 http )后,您可以输入 404 以将值自动补全为 http.StatusNotFound

缩小建议列表

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

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

    代码补全通配符

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

查看参考

  • 您可以通过在建议列表中选择条目时按 Ctrl+Shift+I 使用:

    建议列表中某项的快速定义
  • 您可以在选择建议列表中的条目时,按下 Ctrl+Q自动使用 快速文档视图

    建议列表中某项的快速文档

查看代码层次结构

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

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

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

故障排除

如果代码补全无法正常工作,可能由以下原因导致:

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

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

  • 包含您希望在补全中显示的符号的文件已被 排除在索引之外

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

最后修改日期: 2025年 9月 26日