升级后VSCode Go扩展IntelliSense无法正常显示有效代码补全提示
解决步骤
- 初始化Go模块
Go 1.17默认启用Go modules模式,若你在GOPATH之外的目录编写代码且未初始化模块,语言服务gopls无法识别项目依赖结构,就只会返回基础关键字补全。在项目根目录执行命令:
执行完成后重启VSCode窗口测试补全。go mod init 你的项目标识 # 示例:go mod init demo go mod tidy - 更新适配版本的gopls
你当前使用的v0.27.2版本Go扩展,要求gopls版本至少为v0.7.4才能兼容Go 1.17。按Ctrl+Shift+P调出命令面板,输入Go: Install/Update Tools,勾选gopls项确认安装,安装完成后重启VSCode即可。 - 检查语言服务配置
打开VSCode设置页,搜索go.useLanguageServer,确认该选项已勾选,没有被手动禁用。再搜索go.gopath,确认配置的路径和你系统环境变量中的GOPATH一致,避免路径识别异常。 - 清理缓存重试
若上述操作均无效,执行命令go clean -modcache清除本地模块缓存,之后重启VSCode重新测试补全功能。
操作完成后即可正常触发第三方包、标准库的成员补全,比如你截图中测试的filepath包下的Join方法都能正常展示。
内容的提问来源于stack exchange,提问作者David M. Karr
相关产品推荐
相关产品推荐

