Go扩展程序使用大量Go工具来提供各种语言功能。另一种方法是使用单一语言服务器,该服务器使用语言服务器协议提供相同的功能。
以前,我们添加了对使用go-langserver
(Sourcegraph的语言服务器)的支持。它不再有活跃的开发,它不支持Go模块。因此,现在转而使用gopls
,Google的语言服务器,目前正在积极开发中。
gopls
。go-langserver
二进制文件/可执行文件,此扩展程序将在重新加载VS Code
窗口后提示安装gopls
。以下是可用于控制语言服务器使用的设置。需要重新加载VS Code
窗口才能使这些设置中的任何更改生效。
go.useLanguageServer
设置为true
以启用语言服务器go.languageServerExperimentalFeatures
设置来控制希望语言服务器为哪些功能提供支持。"go.languageServerFlags":[" - logfile",“已存在的文本文件的路径"]
以收集日志文件中的日志。"go.languageServerFlags":[" - rrp.trace"]
以在输出面板中查看完整的rpc跟踪(View
->Output
->gopls
)如果想尝试其他语言服务器,例如bingo
,请安装它并添加以下设置
"go.alternateTools": {
"gopls": "bingo"
}
这将告诉Go扩展使用bingo
代替gopls
。
gopls
的反馈如果在使用gopls语言服务器时发现任何问题,请首先查看gopls
的现有问题列表,并在登记新案例之前更新相关已经有案例,网址为 https://github.com/golang/go/issues
gopls
的有用链接