我安装的是go的1.17版本,之后安装了VScode,VScode版本应该不会影响编程。首先遇到了VSCode下载go插件失败的问题,经过一系列折腾找出了问题,如果你也有此问题,可参考如下。
VS Code 安装go插件失败分析及解决方案_一越王超的博客-CSDN博客
接下来准备编程,可是遇到了没有代码提示的问题,在网上找了很多方法,如下:
方法一:在setting.json添加如下配置:
"go.useLanguageServer": true
结果,失败!!!
方法二:处理gocode
问题:自动补全功能停止工作。应该怎么做?
1. 在终端中运行 gocode close,然后再试试。
2. 如果仍然有问题,运行go get -u github.com/mdempsky/gocode
,更新下工具。
3. 如果还有问题,运行 gocode -s -debug
,然后再试试。
结果,失败!!!
方法三:GO111MODULE设置为off
- 将环境变量中
GO111MODULE
改成auto
或者off
- 然后去 重新下载
go get -v github.com/veandco/go-sdl2/sdl
go-sdl2 将会安装到src/github.com/...
目录下。下载完成之后在开发工具vscode中使用sdl2.
将会发现原来的配方,熟悉的提示。亲测公司和本人的两台电脑管用。 - 之后你可以在切换为
GO111MODULE=on
,代码提示不受影响。题外话:go module的出现可以使你开发代码目录下不会出现过多的第三方包.
结果,失败!!!
方法四:还是处理gocode
初学go,配置好后一直没用,今天用vscode编辑go,突然发现go代码不提示了,非常难受,上网查了一下,加上自己测试,得出如下解决方法。
go get -u -v github.com/mdempsky/gocode
先运行这个,重新编译gocode程序,gocode程序就是负责代码提示的,不提示了,一是可能没安装,二是可能安装了,但是代码旧了,我这就属于这种情况,以前安装了,后来升级了go,但是gocode没有升级编译,这个代码就是重新下载新的,然后重新编译。
编译完成后,如果还不管用,就关闭gocode
gocode close
gocode exit
然后关闭vscode,再重新启动vscode。
另外,还要记得把vscode的目录配置到当前编辑的目录。
结果,失败!!!
方法5:配置环境变量 后重启
- 配置环境变量
1.1 打开“开始”并搜索“env”
1.2. 选择“编辑系统环境变量”
1.3. 点击“环境变量…”按钮
1.4. 在“<你的用户名> 的用户变量”章节下(上半部分)
1.5. 点击“新建…”按钮
1.6. 选择“变量名”输入框并输入“GO111MODULE”
1.7. 选择“变量值”输入框并输入“on”
1.8. 点击“确定”按钮
1.9. 点击“新建…”按钮
1.10. 选择“变量名”输入框并输入“GOPROXY”
1.11. 选择“变量值”输入框并输入“https://goproxy.cn”
1.12. 点击“确定”按钮
- 更新go tools
2.1 快捷键:ctrl +shift +P
2.2 选中第一个 UpdateTools - 选中所有工具
- 重新打开vscode,已经增加 代码提示
结果,失败!!!
惊不惊喜,意不意外,这么多的方法竟然没有一个成功!!!
难道强大的网络竟然找不出一个能解决这个小问题的方法吗???
最后,经过一天一夜的奋斗,我还是找出了问题所在。竟然是GOPATH的配置问题。
步骤1:首先,查看GOPATH\bin路径下是不是都有了如下插件执行文件。
C:\GoLang\GoPath\bin
没有的话参考如下文章处理
VS Code 安装go插件失败分析及解决方案_一越王超的博客-CSDN博客https://yiyuewangchao.blog.csdn.net/article/details/124509832
步骤2:进入“控制面板\所有控制面板项\系统” 的高级环境变量设置,点击环境变量。注意
两个Path 需要设置一致,都引用GOROOT和GOPATH带bin目录。
%GOROOT%\bin
%GOPATH%\bin
步骤3:然后注意GOPATH和GOROOT设置路径不用到内部的bin目录。
步骤4:重启电脑和VSCode,问题解决。
说明:
GOPATH
的目录结构如下:
$GOPATH bin/ # Directory where executable binaries are stored src/ # Directory where Go source files of the dependent packages are stored github.com/google/go-cmp/ ... pkg/ # Directory where compiled Go object files are stored ..
其中:
bin
存放编译后生成的可执行文件src
存放源码pkg
则存放编译后的包内容而 Go 1.11 之前,我们通过
go get xxx
安装的包则存在于上述$GOPATH/src
目录下。而新版 Go 中,通过设置GO111MODULE=off
表示使用旧的模块管理方式安装,安装后则包会存放在$GOPATH
下。随着版本推进,只要项目有
go.mod
无论在$GOPATH
内外都使用 module 方式。