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

代码补全可用于 custom file types。 但是,CLion 无法识别此类文件的结构,并会建议选项,而不考虑它们在当前上下文中的适用性。
从列表中接受一个建议
按 Enter 或双击相关列表项,将其插入到光标左侧。
请按 Tab 替换插入点右边的字符。
使用 Ctrl+Shift+Enter 使当前代码结构在语法上正确(平衡括号、添加缺失的大括号和分号等)。
使用特定键和自定义字符接受选定的补全建议。 要启用这些功能,请转到 编辑器 | 常规 | 代码完成 设置页面  Ctrl+Alt+S 并执行以下操作:
要使用特定键,请选中 按空格、点或其他上下文相关的键插入选定的建议 复选框。 这些键取决于语言、您的上下文等因素。
若要使用自定义字符,请将字符输入到 接受完成的附加字符 字段。
机器学习辅助的补全排序
CLion 允许您根据其他用户在类似情况下的选择来优先考虑补全建议。
ML 补全机制不会添加任何新元素,而是对从代码中检索的元素进行排序。 数据不会暴露在任何地方;它是在本地收集的。
启用 ML 补全排序
按 Ctrl+Alt+S 打开设置并选择 编辑器 | 常规 | 代码完成。
在 机器学习辅助补全 下,启用 根据机器学习对补全建议进行排序 选项并选择您希望使用 ML 补全的语言。

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

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

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

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














