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

引言

使用VsCode进行Go程序开发,咱们确定会碰到一些问题,这些问题有些是IDE的配置问题,有些是下载包的版本不一致问题,本文主要针对在开发过程当中碰到的问题作一个简单的回顾和整理。html

前期准备,必看

在进行问题纠错前,先确保本身正确下载了golang的官方工具集go-tool,若是不肯定,就跟着个人步骤操做一遍,可能操做后,你的问题就解决了。程序员

一、配置golang的源。golang

go env -w GOPROXY=https://goproxy.cn,direct

而后咱们进行golang工具的默认工具服务下载:网络

二、Windows平台按下Ctrl+Shift+P,Mac平台按Command+Shift+P,这个时候VS Code界面会弹出一个输入框工具

image-20210317163139745

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

在弹出的窗口选中全部,并点击“肯定”按钮,进行安装。.net

image-20210317084851704

等待安装完成,由于国内网络的特殊性,因此必定要谁知好go的代理源,否则老是下载失败。代理

执行这一步以后,重启Vscode,若是这个时候可以解决你的问题,那就不须要再往下看了。code

具体问题解决方案

若是以上步骤不能解决你的问题,那就能够对应本身的问题来进行操做设置了。htm

1、VSCode中F12没法跳转

通用设置

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

一、DocsTool修改为godoc

image-20210317090407649

二、Use Language Server 去掉勾选

image-20210317090415647

三、重启VsCode

go mod模式

若是进行上述操做后仍是不行,而且你是使用的go mod 模式,那还有一种比较特殊的方式能够解决这个问题。

执行命令go mod vendor导入依赖,这一步会将依赖转移至该项目根目录下的 vendor(自动新建) 文件夹下

此时F12就能够进行代码跳转了。

2、代码自动带出功能失效

这个问题通常都是由于 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

相关文章
相关标签/搜索