Gopls:功能索引
此页面提供了 gopls 通过 语言服务器协议 (LSP) 支持的所有功能的索引。它面向
- gopls 用户,帮助他们了解其功能,从而最大程度地利用其编辑器;
- 编辑器维护者,帮助他们在支持 LSP 的编辑器中添加或改进 Go 支持;以及
- gopls 贡献者,帮助他们理解其工作原理。
理想情况下,Go 用户不需要知道 gopls 甚至 LSP 的存在,因为支持 LSP 的编辑器会实现协议的各个方面,并以自然且可发现的方式暴露每个功能。但实际上,不同编辑器对 LSP 的支持程度差异很大,因此不幸的是,这些文档必然会涉及协议的许多细节。
我们还列出了影响每个功能的 设置。
大多数功能都以 VS Code 为例进行说明,但我们会简要提及其他流行客户端是否支持该功能,以及如何找到它。我们欢迎任何编辑器的用户进行贡献、编辑和更新。
贡献者在对现有功能进行重大更改或添加新功能时,应 更新本文档。
- 被动式:始终开启且无需特殊操作的功能
- 诊断:编译错误和静态分析结果
- 导航:交叉引用、类型和符号的导航
- 补全:标识符、语句的上下文感知补全
- 代码转换:修复和重构
- 基于 Web 的查询:打开浏览器页面的命令
- 对非 Go 文件支持
- 模板文件:由
text/template
和html/template
解析的文件 - go.mod 和 go.work 文件:Go 模块和工作区清单
- Go *.s 汇编文件:Go 汇编文件
- 模板文件:由
- 命令行界面:用于调试和脚本的 CLI(不稳定)
- 模型上下文协议:在 AI 辅助环境中使用某些功能
您可以通过在编辑器中执行 gopls.doc.features
代码操作来找到此页面,该操作会在 Web 浏览器中打开它。在 VS Code 中,您可以在“快速修复”菜单中找到它。
本文档的源代码可以在 golang.org/x/tools/gopls/doc 下找到。