VS Code使用大量Go工具来提供代码导航,代码完成,构建,分析等功能。
这些工具还没有为Go模块提供良好的支持。
新的语言服务器gopls
支持Go Modules
。在settings
中添加以下内容以使用它。
"go.useLanguageServer": true
注意:使用
Go:Install/Update Tools
定期更新gopls
版本,以便不断获得对语言服务器所做的改进。
使用gopls
时VS Code
中的已知问题:
golps
已知问题go-modules
标签要对语言服务器进行故障排除,请参阅故障排除gopls
。
如果不想使用语言服务器,请了解并非此扩展所依赖的所有Go工具都支持Go模块。
这里是Go工具团队用来跟踪各种Go工具中Go模块支持更新的问题列表。
可以,这是
VS Code
中模块支持的前进之路。请注意语言服务器本身处于alpha模式,正在进行活动开发。有关详细信息,请参阅此问题上方的部分。
使用Google的语言服务器时,代码导航和代码补全肯定会更好。所以,请试一试。如果不使用语言服务器,那么这主要由于
godef
和gocode
的限制。Google的Go工具团队正在开发一种语言服务器,它将成为所有语言功能的长期解决方案。请按照本页第一部分的说明试用语言服务器。
如果不想使用语言服务器:
gocode
仓库中记录一个问题。gogetdoc
,请在`gogetdoc仓库`中记录问题。如果不使用语言服务器,则此扩展程序默认使用
goreturns
工具格式化文件并自动导入缺失的包。由于此工具不支持模块,因此文件保存中的自动导入功能不再有效。添加设置"go.formatTool
":"goimports
",然后使用Go:Install/Update Tools
来安装/更新goimports
,因为它最近添加了对模块的支持。