修复使用Go module后vscode 智能提示不能用的问题

在升级到 1.11后, go加入了go module这一特性, 支持相对路径的导入包,这样在$GOPATH之外的地方也可以进行项目开发。

但是vscode中很多插件只能工作在 $GOPATH下, 其中最重要的代码智能提示也是如此
代码提示主要由 github.com/mdemsky/gocode 这个模块负责, 为了支持go module, 要使用新的gocode模块,项目地址为 github.com/stamblerre/gocode, 为了更新插件

  1. 将$GOPATH/bin 中的 gocode 可执行文件删掉

  2. go get -u -v github.com/stamblerre/gocode 获取包, 这里是不能安装的,有冲突

  3. 去到 $GOPATH/src/golang.org/x 这个目录下, 删除tools这个包,它和新版的 gocode不兼容,不要试图 git pull获取最新版,这个是被墙了的

  4. 从 https://github.com/golang/tools 下载最新的tools包,clone很慢就直接下载 zip 文件, 解压到刚才原来的位置。

  5. 编译安装 stamblerre/gocode, go build -o $GOPATH/bin/gocode-gomod github.com/stamblerre/gocode

到此, Vscode智能提示就可以正常工作了

你可能感兴趣的:(Golang)