代码补全
基本代码补全帮助您在可见范围内补全类型、接口、方法和关键字的名称。
GoLand 会分析上下文并建议当前位置可达的选项。 建议中还包括 实时模板。 支持非英语键盘布局的补全功能。
调用基本补全
默认情况下,GoLand 会在您输入时自动显示代码补全弹窗。
或者,您可以按 Ctrl+Space 或从主菜单选择 。

代码补全支持 自定义文件类型。 但 GoLand 不会识别此类文件的结构,并会建议无论是否合适于当前上下文的选项。
从列表中接受建议
按 Enter 或双击相关列表项将其插入光标左侧。
按 Tab 替换光标右侧的字符。
使用 Ctrl+Shift+Enter 可使当前代码结构在语法上正确(平衡括号、添加缺失的大括号和分号等)。
使用特定按键和自定义字符接受选中的补全建议。 要启用这些功能,请转到 编辑器 | 通用 | 代码补全 设置页面 Ctrl+Alt+S 并执行以下操作:
要使用特定按键,请选择 按空格、点或其他依上下文而定的键插入所选建议 复选框。 这些按键依赖于语言、上下文等因素。
若要同时使用自定义字符,请在 用于接受补全的附加字符 字段中输入字符。
调用函数补全
若要查看并补全适用于特定类型值的函数,请按住 Ctrl 并按两次 Space。
例如,您有一个字符串类型的
t变量。 当您输入t.,按住 Ctrl 并按两次 Space ,将显示一个接受string类型作为第一个参数的函数列表。
机器学习辅助的补全排序
GoLand 允许您根据其他用户在相似情境中的选择优先排序补全建议。
机器学习补全机制不会添加新元素,而是对代码中提取的元素重新排序。 不会将数据发送至任何位置,数据采集在本地完成。
启用机器学习补全排序
按 Ctrl+Alt+S 打开设置并选择 编辑器 | 通用 | 代码补全。
在 机器学习辅助补全 下启用 根据机器学习对补全建议进行排序 选项,并选择要使用机器学习补全的语言。

启用相关性标记
按 Ctrl+Alt+S 打开设置并选择 编辑器 | 通用 | 代码补全。
启用以下选项:
在补全弹出窗口中标记位置更改 :使用
和
图标指示建议相关性是提升还是下降,从而判断该建议在列表中的位置是否发生变化。
在补全弹出窗口中标记最相关的条目 :使用
图标指示列表中最合适的建议。

配置代码补全设置
要配置代码补全选项,请转到 编辑器 | 通用 | 代码补全 设置页面 Ctrl+Alt+S。
您可以选择以下设置:
项目 | 描述 | |
|---|---|---|
区分大小写 | 选择是否在补全建议中考虑字母大小写。 选择是否匹配首字母大小写或所有字母的大小写。 | |
自动插入单个建议到 | 如果基本补全或智能类型匹配补全中只有一个建议,则自动补全代码。 | |
按字母顺序对建议排序 | 选择是否按字母顺序排序建议列表项,而不是按相关性排序。 您可以在任何时候通过单击建议列表中的 | |
输入时显示建议 | 选择是否自动调用建议列表,而无需显式调用补全。 该选项默认启用。 | |
通过按空格、点或其他上下文相关键插入选定建议 | 选择是否通过输入取决于语言、上下文等因素的特定按键插入所选建议。 | |
以下时间后显示文档弹出窗口 | 自动 显示弹出窗口 ,其中包含建议列表中当前在查找列表中高亮显示项的类、方法或字段的文档。 禁用该选项后,按 Ctrl+Q 可显示元素文档。 在右侧字段中指定延迟时间(以毫秒为单位),用于控制弹出窗口何时出现。 | |
机器学习辅助补全 | ||
基于机器学习对补全建议进行排序 | 如果希望使用机器学习模型将最适合的建议排在建议列表的靠前位置,请选择此选项。 选择要为其基于机器学习启用建议的语言。 | |
在补全弹出窗口中标记位置更改 | 使用 | |
在补全弹出窗口中标记最相关的条目 | 使用 | |
配置补全选项
按 Ctrl+Alt+S 打开设置,然后选择 。
要 自动显示建议列表 ,请选择 输入时显示建议 复选框。 如果未选中该复选框,您需要通过按 Ctrl+Space (用于基本补全)或 Ctrl+Shift+Space (用于类型匹配补全)显式调用代码补全。
您还可以选择在只有一个建议项时自动插入:在 自动插入唯一建议项 下选择补全类型。
要 按字母顺序对建议进行排序而不是按相关性排序,请选中 按字母顺序排序建议 复选框。
您可以在任何时候通过单击建议列表中的
并切换 按名称排序 选项来更改此行为。
如果希望在滚动建议列表时为每个项目自动显示 文档弹出窗口 ,请选择 在以下位置显示文档弹出信息 选项。 在右侧字段中指定延迟时间(以毫秒为单位),用于控制弹出窗口何时出现。
补全使用技巧
通过输入代码编号自动补全 HTTP 常量
在指定导入的包名称(例如
http)后,输入404可将其自动补全为http.StatusNotFound。
缩小建议列表范围
键入单词的任意部分(即使是中间字符)或在小数点分隔符后调用代码补全,以缩小建议列表范围。
GoLand 显示包含您输入字符的建议项,无论其位置如何。 这样就无需使用通配符。

对于 CamelCase 或 snake_case 形式的名称,仅需输入首字母。 GoLand 会自动识别和匹配首字母。
查看参考信息
查看代码层次结构
在从建议列表中选择条目后,您可以查看代码层次结构:
Ctrl+H :查看类型层次结构
Ctrl+Shift+H :查看方法层次结构。
填充结构体字段
创建新 struct 时,您可以为其自动生成字段名称。 此操作适用于通用 struct。
当您调用 填充所有字段 意图操作时,IDE 会忽略以 XXX_ 开头的自动生成协议缓冲字段。 这些字段仅在您第二次调用补全时才会显示。
开始键入 struct 名称,并从补全列表中进行选择。
将插入符号置于 struct 的大括号之间。
按 Ctrl+Space。 或按 Alt+Enter。
请选择以下选项之一:
填充所有字段 :生成属于当前 struct 的所有字段的值。
递归填充所有字段 :递归生成当前 struct 类型及其指向的所有其他 struct 类型的字段值。
填充字段 :显示 选择字段 对话框,您可以在其中选择要添加的字段。 选择 递归 以解析所有相关 struct 中的字段。 取消选中 执行多行 复选框以在一行中显示所有字段。 在 选择字段 对话框中,按 Ctrl 并单击要添加的字段。
单击 确定。

格式化日期和时间
time 包使用预定义格式,您可以在
Time.Format和time.Parse中使用这些格式。 这些格式中使用的参考时间为特定时间:Mon Jan 2 15:04:05 MST 2006。 这意味着在定义您自己的格式时,需要按您希望的格式写出参考时间。在 GoLand 中,按下 Ctrl+Space 后,您将看到 ISO-8601 中时间和日期元素的占位符。 代码补全还会建议出现在字符串文本之外的标准时间布局。
故障排查
如果代码补全无法正常工作,可能是由于以下原因之一:
省电模式 已开启()。 启用此功能可通过取消后台操作(包括错误高亮、即时检查和代码补全)来降低笔记本电脑的功耗。
包含您希望出现在补全部候选列表中的类型和函数的文件被标记为纯文本文件。
包含您希望出现在补全部候选列表中的函数的外部库未 添加为依赖项或全局库。
如果收集补全部选项耗时过长,代码补全弹窗可能不会自动出现。 例如,计算机正在忙于其他任务。 在这种情况下,您仍然可以通过 Ctrl+Space 手动激活补全弹窗。
