6

在vscode中go编码发生的问题整理

 3 years ago
source link: https://my.oschina.net/u/3081398/blog/4989848
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

我的博客|文章首发

使用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界面会弹出一个输入框

image-20210317163139745

3、我们在这个输入框中输入>go:install,下面会自动搜索相关命令,我们选择Go:Install/Update Tools这个命令,按下图选中并会回车执行该命令

在弹出的窗口选中所有,并点击“确定”按钮,进行安装。

image-20210317084851704

等待安装完成,因为国内网络的特殊性,所以一定要谁知好go的代理源,不然总是下载失败。

执行这一步之后,重启Vscode,如果这个时候能够解决你的问题,那就不需要再往下看了。

具体问题解决方案

如果以上步骤不能解决你的问题,那就可以对应自己的问题来进行操作设置了。

一、VSCode中F12无法跳转

点击左下角点击齿轮,选择设置界面(也可以直接快捷键CTRL+, 点击用户-扩展-go。进行如下设置

1、DocsTool修改成godoc

image-20210317090407649

2、Use Language Server 去掉勾选

image-20210317090415647

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

自动带出功能也可以恢复正常。

go module 基本使用

vscode go 未找到任何定义

本文到此结束,希望对你有帮助 😃

如果还有什么疑问或者建议,可以多多交流,原创文章,文笔有限,才疏学浅,文中若有不正之处,万望告知。

更多精彩技术文章汇总在我的 公众号【程序员工具集]】,持续更新,欢迎关注订阅收藏。

wechat.png


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK