下面由golang教程栏目给大家整理在vscode中go编码发生的问题 ,希望对需要的朋友有所帮助!
引言
使用VsCode进行Go程序开发,我们肯定会碰到一些问题,这些问题有些是IDE的配置问题,有些是下载包的版本不一致问题,本文主要针对在开发过程中碰到的问题做一个简单的回顾和整理。
前期准备,必看
在进行问题纠错前,先确保自己正确下载了golang的官方工具集go-tool
,如果不确定,就跟着我的步骤操作一遍,可能操作后,你的问题就解决了。
1、配置golang的源。
go env -w GOPROXY=https://goproxy.cn,direct
然后我们进行golang工具的默认工具服务下载:
2、Windows平台按下Ctrl+Shift+P
,Mac平台按Command+Shift+P
,这个时候VS Code界面会弹出一个输入框
3、我们在这个输入框中输入>go:install
,下面会自动搜索相关命令,我们选择Go:Install/Update Tools
这个命令,按下图选中并会回车执行该命令
在弹出的窗口选中所有,并点击“确定”按钮,进行安装。
等待安装完成,因为国内网络的特殊性,所以一定要谁知好go的代理源,不然总是下载失败。
执行这一步之后,重启Vscode,如果这个时候能够解决你的问题,那就不需要再往下看了。
具体问题解决方案
如果以上步骤不能解决你的问题,那就可以对应自己的问题来进行操作设置了。
一、VSCode中F12无法跳转
通用设置
点击左下角点击齿轮,选择设置界面(也可以直接快捷键CTRL+,
点击用户-扩展-go。进行如下设置
1、DocsTool修改成godoc
2、Use Language Server 去掉勾选
3、重启VsCode
go mod模式
如果进行上述操作后还是不行,并且你是使用的go mod 模式,那还有一种比较特殊的方式可以解决这个问题。
执行命令go mod vendor
导入依赖,这一步会将依赖转移至该项目根目录下的 vendor(自动新建) 文件夹下
此时F12就可以进行代码跳转了。
二、代码自动带出功能失效
这个问题一般都是因为 go mod
模式的切换导致的。如果你的项目是使用的Gopath模式(如果有同学对Gopath和Gomod这俩种模式不了解的,可以看看我的文章如何看待go moudle并应用于工作),那么你需要设置
go env -w GO111MODULE=off
这时候自动带出功能就可能正确使用了
如果你使用的是go mod
模式,设置
go env -w GO111MODULE=on
自动带出功能也可以恢复正常。