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

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

启用相关性标记
按 Ctrl+Alt+S 打开设置并选择 编辑器 | 常规 | 代码完成。
启用以下选项:
在补全弹出窗口中标记位置更改 :使用
和
图标来指示建议的重要性是增加还是减少,因此建议已在建议列表中上移或下移。
在补全弹出窗口中标记最相关的条目 :请使用
图标标识列表中最合适的建议。

下一步编辑建议(NES)
安装 AI Assistant 插件
此功能依赖于 AI Assistant 插件,您需要安装并启用。
按下 Ctrl+Alt+S 打开设置,然后选择 。
打开 Marketplace 选项卡,找到 AI Assistant 插件,并点击 安装 (如果出现提示,请重启 IDE)。
有关 AI 助手 的更多信息,请参阅 AI Assistant 文档。
当您编写或编辑代码时,AI 助手 可以预测您可能想要更改或添加的部分,并提供可能的编辑建议。 这使您能够快速应用建议并跳转到下一个可能需要更改的位置,从而方便地在整个文件中更新相关代码。
启用下一步编辑建议
要启用此功能:
- 语言及其对应的文件类型
语言/类型
扩展
Java
javaKotlin
kt、ktsPython
py、ipynbRust
rs、rsxGo
goC/C++
c,h,cpp,cc,cp,hpp,h++C#
csRuby
rb,ruby,rbw,ruRBS
rbsERB
erb、rhtmlPHP
php、phtml、phpt、ctpTerraform 和 OpenTofu
tf、hclXML
xmlJSON
jsonYAML
yml、yamlProperties
propertiesMarkdown
md,markdown,mkd,mkdn,rmd纯文本
txtHTML
html,htm,xhtml,xht类 CSS
css,scss,sass,lessJavaScript/TypeScript
js,jsx,ts,tsx,es6,sjs,jsm,pac,vueSQL
sql,ddl,db2,udf- “其他”设置所涵盖的语言和文件类型
语言/类型
扩展
Python/Cython
pyw,pyx,pxd,pxi,pydeRusty 对象表示法
ronC++
cxx,c++,hh,hxx,ipp,tpp,inl,tccVisual Basic/VBScript/VBA
vb,vbs,vba,bas,frmF#
fs,fsi,fsxSwift
swiftPL/SQL
plsql,plb,pkb,pks,prcR
r、rdShell 脚本
sh,bash,zsh,ksh,bats,command,tmuxWindows 批处理
bat、cmdPowerShell
ps1,psm1,psd1Objective-C++
mmMake/ConTeXt
makefile、mk、mak、mkiv、mkii、mkviCMake
cmakeGYP
gypBazel
bzlTOML
tomlDocker
dockerfile构建脚本(Dart、C#、Ruby 等)
tool,cake,builderreStructuredText
rstLaTeX
tex,sty,bib,dtx,ins模板(Ruby、Elixir、.NET 等)
mustache、jinja、eex、rabl、cshtml、vbhtmlRuby DSL
thor,rake,jbuilder,gemspecLaTeX 组件
cbx、bbx、lbxCassandra 查询语言
cqlSAP HANA XS JavaScript
xsjslibRuby CocoaPods 规范
podspec
调用下一步编辑建议
启用下一个编辑建议后:
在编辑器中,修改现有行或编写新代码。AI 助手 将建议下一步编辑。 AI 助手 将建议下一步编辑。
按 Tab 可跳转至建议以进行审阅,然后再次按 Tab 应用建议。
重复上一步以应用其他建议。
要取消该建议,请按 Escape。
配置代码补全设置
要配置代码补全选项,请转到 编辑器 | 常规 | 代码完成 设置页面  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 :查看方法层次结构。
填充结构体字段
当您创建一个新的结构体时,您可以自动生成其字段名称。 此操作适用于通用结构体。
当您调用 填充所有字段 意图操作时,IDE 会忽略以 XXX_ 开头的自动生成的协议缓冲区字段。 仅在您第二次调用补全后才会显示这些字段。
开始输入结构体名称,从补全列表中选择它。
将插入符号放在结构体的大括号之间。
按 Ctrl+Space。 或者按 Alt+Enter。
从以下选项中选择:
填充所有字段 :为属于当前结构体的所有字段生成值。
递归填充所有字段 :为属于当前结构体类型的所有字段以及递归指向其他结构体类型的所有指针生成值。
填写字段 :显示 选择字段 对话框,您可以在其中选择要添加的字段。 选择 递归 以解析所有相关结构体的字段。 清除 执行多行 复选框以在单行上显示所有字段。 在 选择字段 对话框中,按 Ctrl 并点击您要添加的字段。
单击 确定。

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