关于我

文章首发 | 我的博客 | 欢迎关注

引言

使用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 未找到任何定义

推荐阅读

Redis工具收费后新的开源已出现

GitHub上Star最高的工程师技能图谱

中国程序员最容易发错的单词

推荐!!! Markdown图标索引网站

最后

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

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


更多相关文章

  1. 请将你的 if else 设计成责任链模式!
  2. 演示box-sizing功能并实例/演示相对定位与绝对定位的区别与联系
  3. Acrobat Reader小技巧:简单设置,让你的眼睛在阅读PDF 文件时更舒适
  4. Mac电脑设置语音详细度的方法
  5. AI如何动态设置报警阀值
  6. Node实战篇:Express 中间件 cookie-parser(六)
  7. react中的render-props模式
  8. k8s中关于kube-proxy的iptables模式和ipvs模式探讨
  9. 微服务设计模式(下)

随机推荐

  1. php操作xml
  2. Java如何读取XML文件 具体实现
  3. Java中构造、生成XML简明教程
  4. XML和YAML的使用方法
  5. 在java中使用dom4j解析xml(示例代码)
  6. PlayFramework完整实现一个APP(十四)
  7. java解析XML几种方式小结
  8. XML 非法字符(转义字符)
  9. PlayFramework完整实现一个APP(九)
  10. PlayFramework完整实现一个APP(一)