代码补全
基本代码补全帮助您完成可见作用域内的名称、类型和关键字。
CLion 会分析上下文并建议从当前光标位置可达的选项。 建议还包括 Live templates。 补全支持非英文键盘布局。
调用基本补全
默认情况下,CLion 会在您输入时自动显示代码补全弹出窗口。
或者,您可以按 Ctrl+Space 或从主菜单中选择 。

代码补全可用于 custom file types。 然而,CLion 无法识别此类文件的结构,并会建议选项,而不考虑它们是否适合当前上下文。
从列表中接受一个建议
按 Enter 或双击相关列表项,将其插入到光标左侧。
请按 Tab 替换插入点右边的字符。
使用 Ctrl+Shift+Enter 使当前代码结构在语法上正确(平衡括号、添加缺失的大括号和分号等)。
使用特定的键和自定义字符接受选定的补全建议。 要启用这些功能,请转到 编辑器 | 常规 | 代码完成 设置页面  Ctrl+Alt+S 并执行以下操作:
要使用特定键,请选中 通过按空格、点或其他上下文相关按键插入选定建议 复选框。 这些键取决于语言、您的上下文等因素。
若要使用自定义字符,请将字符输入到 接受完成的附加字符 字段。
类型匹配补全
智能类型匹配代码补全 过滤建议列表,并仅显示适用于当前上下文的类型。
调用类型匹配补全
要调用类型匹配补全,请开始输入并按 Ctrl+Shift+Space 或从主菜单中选择 。

语句补全
您可以使用语句完成来创建语法正确的代码结构。 它会插入必要的语法元素(圆括号、花括号和分号),并使您处于可以开始键入下一条语句的位置。 要调用语句补全,请开始输入代码结构并按 Ctrl+Shift+Enter。
完成语句适用于以下语言结构:
类型和类型成员:类、命名空间和枚举。
语句:
if/else、while、do、for、switch/case、try/catch。
完成函数声明
开始输入函数声明,并在左括号后按 Ctrl+Shift+Enter。
完成语句之前
完成语句之后
void myFunc(/*caret*/void myFunc();/*caret*/
完成代码构造
开始输入代码结构体并按 Ctrl+Shift+Enter。
CLion 会自动完成构造并添加所需的标点。 文本光标位于下一个编辑位置。
用例
完成语句之前
完成语句之后
类声明
class NewClass /*caret*/class NewClass { /*caret*/ };switch子句switch/*caret*/switch (/*caret*/) {}switch (i /*caret*/) {}switch (i) { /*caret*/ }while语句while/*caret*/while (/*caret*/) {}while (n > 0/*caret*/) {}while (n > 0) { /*caret*/ }if语句if /*caret*/if (/*caret*/) {}if (n > 0/*caret*/) {}if (n > 0) { /*caret*/ }for语句for /*caret*/for (/*caret*/) {}for (int i = 0; i < 10; ++i/*caret*/) {}for (int i = 0; < 10; ++i) { /*caret*/ }Try-catch 语句
try /*caret*/try { /*caret*/ }catch /*caret*/catch (/*caret*/) { }catch (const std::exception/*caret*/) {}catch (const std::exception) { /*caret*/ }
Hippie 补全
Hippie completion 是一个补全引擎,它分析您在可见作用域内的文本并根据当前上下文生成建议。 它可以帮助您完成任何当前打开的文件中的任何单词。
将文本光标处的字符串扩展为现有单词
输入初始字符串,然后执行以下操作之一:
按 Alt+/ 或选择 搜索光标前的匹配词。
按 Alt+Shift+/ 或选择 以在文本光标后和其他打开的文件中搜索匹配的单词。
第一个建议值出现,而且原型在源代码中被高亮显示。

接受建议,或者按住 Alt 键并继续按 \ ,直到找到所需的单词。
机器学习辅助的补全排序
CLion 允许您根据其他用户在类似情况下的选择来优先考虑补全建议。
ML 补全机制不会添加任何新元素,而是对从代码中检索的元素进行排序。 数据不会暴露在任何地方;它是在本地收集的。
启用 ML 补全排序
按 Ctrl+Alt+S 打开设置并选择 编辑器 | 常规 | 代码完成。
在 机器学习辅助补全 下,启用 根据机器学习对补全建议进行排序 选项并选择您希望使用 ML 补全的语言。

启用相关性标记
按下 Ctrl+Alt+S 打开设置并选择 编辑器 | 常规 | 代码完成.
启用以下选项:

在补全弹出窗口中标记位置更改 :使用
和
图标来指示建议的重要性是增加还是减少,因此建议已在建议列表中上移或下移。
在补全弹出窗口中标记最相关的条目 :请使用
图标标识列表中最合适的建议。
建议列表将如下显示,图标标记重新排序和最相关的条目。

代码补全设置
要配置代码补全选项,请转到 编辑器 | 常规 | 代码完成 设置页面  Ctrl+Alt+S。
您可以选择以下设置:
项 | 描述 | |
|---|---|---|
区分大小写 | 选择是否要考虑字母大小写来提供代码补全建议。 选择是匹配首字母的大小写还是所有字母的大小写。 | |
自动插入单个建议到 | 如果对基础和智能类型匹配补全只有一个建议,则自动完成代码。 | |
按字母顺序对建议排序 | 选择是否按字母顺序排序建议列表中的项,而不是按相关性排序。 您可以随时通过点击建议列表中的 | |
输入时显示建议 | 选择是否希望建议列表自动弹出,而无需明确调用补全功能。 此选项默认已启用。 | |
以下时间后显示文档弹出窗口 | 选择自动显示弹出窗口,其中包含建议列表中当前突出显示的类、方法或字段的文档。 在右侧字段中,指定弹出窗口应出现的延迟时间(以毫秒为单位)。 | |
适用时自动插入圆括号 | 如果启用此选项,CLion 将在您完成函数或方法时自动插入一对开闭括号。 取消选中该复选框以禁止自动插入括号。 如果您使用一个开括号 要使用 如需更多信息,请参阅 Use specific keys to insert suggestions。 | |
在基本补全中显示导入项 | 当您想要使用的符号未通过相应的 您可以使用此选项将导入符号建议包含到自动和基本补全的建议列表中。 | |
导入项的行为 | 配置导入补全行为以始终插入 | |
在成员补全中显示自由函数 | 一种常见的 C++ 编码实践是优先使用非成员非友元函数而不是成员函数。 这是增加封装并尽可能保持类接口最小化的好方法。 当您在表达式后输入点 如果您不希望在补全建议中包含自由函数,请清除此复选框。 | |
机器学习辅助补全 | ||
基于机器学习排序完成建议 | 如果您希望使用机器学习模型将最合适的项目在建议列表中排名更高,请选择此选项。 选择您希望基于机器学习启用建议的语言。 | |
在补全弹出窗口中标记位置更改 | 请使用 | |
在补全弹出窗口中标记最相关的条目 | 请使用 | |
JavaScript | ||
仅基于类型的补全 | 默认情况下,CLion 提供符号补全建议,而不考虑它们的类型。 使用这种方法,在复杂情况下,列表会显示多个补全变体。 若要使补全更加精准,请选择此选项。 完成列表将很大程度上依赖于 CLion 推理。 因此,如果推理效果不佳,该列表可能会保持为空。 | |
为可空类型建议带有可选链的项目 | 默认情况下,CLion 会建议带有 可选链操作符 (?)的符号的补全。 取消选中此复选框以抑制此行为。 | |
在补全中展开覆盖方法体 | 默认情况下,当您想要重写父类或接口中的方法并从补全建议列表中选择此方法时,CLion 会自动添加参数,生成 取消选中此复选框以在完成期间禁止自动生成重写的方法体。 | |
补全名称 |
| |
参数信息 | ||
显示参数信息弹出窗口(毫秒) | 选中此复选框以便 CLion 在编辑器中输入左括号或从建议列表中选择方法时自动显示所有可用方法签名的弹出窗口。 在右侧的文本字段中,指定弹出窗口应出现的延迟时间(以毫秒为单位)。 如果未选中此复选框,请使用 Ctrl+P 显示参数信息。 | |
显示完整的方法签名 | 如果选择此复选框,参数信息将显示完整签名,包括方法名和返回类型。 | |
SQL | ||
建议对象来源 | 选择对象的建议来源:
![]() ![]() ![]() | |
限定对象使用 | 选择在何种情况下将对象限定为数据库、模式、表和视图,以及表和视图的别名。 ![]() ![]() | |
限定对象在 | 选择在给定情况下将对象限定为何种内容。 ![]() ![]() | |
在JOIN 补全中使用别名 | 在 ![]() | |
反转自动生成的ON 子句中操作数的顺序 | 在 ![]() | |
根据名称匹配建议非严格外键 | 为 阅读有关此选项调试规则的更多信息: 虚拟外键的调试规则。 ![]() ![]() | |
在补全表名时自动添加别名 | 为表名创建别名。 ![]() | |
在表名之后的补全中建议别名 | 在使用代码完成时为表名建议一个别名 (Ctrl+Space)。 ![]() | |
自定义别名(表) | 您可以添加表名以及想要用于此表的别名。 要添加 table-alias 对,请点击 添加别名 按钮 ( | |
完成提示和技巧
缩小建议列表
通过输入单词的任意部分(即使是中间的字符)或在点分隔符 . 后调用代码补全来缩小建议列表的作用域。
CLion 显示包含您输入字符的建议,无论其位置如何。 这使得不再需要使用通配符。

对于 CamelCase 或 snake_case 名称,请仅输入首字母。 CLion 会自动识别和匹配首字母。
查看参考
您可以通过在建议列表中选择条目时按 Ctrl+Shift+I 使用:

您可以通过在建议列表中选择条目时按 Ctrl+Q 使用 快速文档视图:

查看代码层次结构
当您从建议列表中选择条目时,可以查看 代码层次结构:
Ctrl+H :查看类型层次结构
Ctrl+Alt+H :查看调用层次结构。
故障排除
如果代码补全不起作用,可能是以下原因之一:
省电模式 在 ()。 开启它可以通过消除后台操作(包括错误高亮、即时检查和代码补全)来最大限度地减少笔记本电脑的电量消耗。
您的文件不在内容根目录中,因此无法获取代码补全所需的类定义和资源。
包含您希望在补全中显示的符号的文件已被 排除索引。
如果收集代码补全选项花费的时间太长,代码补全弹出窗口可能不会自动出现。 例如,如果计算机正在忙于其他任务。 在这种情况下,您仍然可以通过 Ctrl+Space 手动激活代码补全弹出窗口。












