// 无 gomodule
go get -v github.com/mdempsky/gocode
// gomodule on
go get -u -v github.com/stamblerre/gocode
go get -u golang.org/x/tools
go get -v github.com/uudashr/gopkgs/v2/cmd/gopkgs
go get -v github.com/rogpeppe/godef
go get -u github.com/ramya-rao-a/go-outline
go get -v github.com/sqs/goreturns
在升级到 1.11后, go加入了go module这一特性, 支持相对路径的导入包,这样在$GOPATH之外的地方也可以进行项目开发。
但是vscode中很多插件只能工作在 $GOPATH下, 其中最重要的代码智能提示也是如此 代码提示主要由 github.com/mdemsky/gocode 这个模块负责, 为了支持go module, 要使用新的gocode模块,项目地址为 github.com/stamblerre/gocode, 为了更新插件
将$GOPATH/bin 中的 gocode 可执行文件删掉
go get -u -v github.com/stamblerre/gocode 获取包, 这里是不能安装的,有冲突
去到 $GOPATH/src/golang.org/x 这个目录下, 删除tools这个包,它和新版的 gocode不兼容,不要试图 git pull获取最新版,这个是被墙了的
从 https://github.com/golang/tools 下载最新的tools包,clone很慢就直接下载 zip 文件, 解压到刚才原来的位置。
编译安装 stamblerre/gocode, go build -o $GOPATH/bin/gocode-gomod github.com/stamblerre/gocode
到此, Vscode智能提示就可以正常工作了 ———————————————— 版权声明:本文为CSDN博主「杨澄」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/richard_m_yang/article/details/100516891
作者:王加加
链接:https://www.zhihu.com/question/394652491/answer/1221237194
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。