VSCode Go Golang不能跳转到定义解决办法 (问题排查)
·
环境说明
- mac vscode
- Go版本:
go version go1.13 darwin/amd64
. - 使用go modules模式: go.mod文件表明模块和vendor目录存储第三方依赖.
遇到的问题一
vscode PROBLEM窗口提出出错:
missing $GOPATH
解决办法: 检查go是否安装成功, GOPATH是否设置成功.
安装VScode-Go插件
在vscode extensions中安装Go插件.
插件配置: 使用gogetdoc和goimports. (后续也可以尝试 Docs Tool使用guru, 跳转到定义很快速)
不要选择language server!!! (我选择了, 不能用)
安装go Install/Update Tools:
选择如下的所有工具
gocode
gopkgs
go-outline
go-symbols
guru
gorename
gotests
gomodifytags
impl
fillstruct
goplay
godoctor
dlv
gocode-gomod
gogetdoc
goimports
golint
在workspace setting中设置vender目录, 先选择如下打开设置:
然后添加如下:
"go.toolsEnvVars": {
"GOFLAGS": "-mod=vendor"
}
重新加载窗口:
注意: 工程下要要有go.mod和vendor, 工程文件结构示例如下:
参考资源和提示
- go无法掉转到定义解决办法: https://blog.csdn.net/tongxin13/article/details/104245905, 里面说了进行其他的设置也有可能成功, 还要自己尝试才行.
- 如果是要远程SSH运行vscode的话, 需要在服务器安装相应的插件和tools, 设置好也能进行跳转.
- 把project放到$GOPATH/src有时也能够跳转到定义(防止vendor没有设置好, 导致找不到路径).
更多推荐
已为社区贡献2条内容
所有评论(0)