微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

多根设置

如何解决多根设置

在 vscode 中编辑我的 Go 项目时收到此消息:

The Go language server is currently not supported in a multi-root set-up with different GOPATHs.

我的问题是:什么是“多根设置”?我打算使我的项目“多根”。如何避免这个消息,让语言服务器分析我的代码

顺便说一句,我项目的目录布局是:

drwxrwxr-x 5 xrfang xrfang 4096  1月 21 22:33 docs
drwxrwxr-x 2 xrfang xrfang 4096  1月 21 22:33 exp
-rw-rw-r-- 1 xrfang xrfang  789  2月  3 20:52 Makefile
drwxrwxr-x 3 xrfang xrfang 4096  2月 12 22:03 pkg
drwxrwxr-x 7 xrfang xrfang 4096  1月 31 11:56 resources
drwxrwxr-x 8 xrfang xrfang 4096  2月 12 21:27 src
-rw-rw-r-- 1 xrfang xrfang  304  1月 21 22:33 Todo
-rwxrwxr-x 1 xrfang xrfang  395  1月 21 22:33 upgrade.sh
drwxrwxr-x 2 xrfang xrfang 4096  2月 12 21:28 utils

go.mod 文件位于 src 目录中。而pkg是编译器生成的,比较奇怪,因为我的其他Go项目大部分都没有在repository文件夹中生成pkg。

解决方法

错误消息是指您的 GOPATH 环境变量。 GOPATH 允许多个路径以冒号分隔,但 gopls 不支持。

,

如果你使用的是模块(go.mod),请尝试从 go.mod 所在目录打开 vscode。

如果您将 GOPATH 与多个路径一起使用,并且您打算在 GOPATH 模式下工作,那么正如 Ian 所说,这不受支持。

我希望 https://github.com/golang/vscode-go#setting-up-your-workspace 提供更多信息。

另外,请确保禁用 "go.inferGopath" 设置。我怀疑存储库已被构建为使用 GOPATH 模式并将工作区根附加到 GOPATH。可能是 vscode Go 插件 + gopls 不喜欢。 :-(

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。