如何导入vscode路径

Posted

技术标签:

【中文标题】如何导入vscode路径【英文标题】:how to import vscode path 【发布时间】:2021-07-16 04:21:10 【问题描述】:

当我尝试编辑 go 文件时,我从 vscode 收到以下错误:

“加载工作区时出错:您在模块之外并且在 $GOPATH/src 之外。如果您正在使用模块,请打开您的编辑器到您模块中的目录。如果您认为此警告不正确,请提交问题:https://github.com/golang/go/issues/new."

我的 go path 设置如下: GOPATH=C:\Users\myusername\go

我有 vscode 并且可以在其他机器上很好地协同工作......但我无法弄清楚这里出了什么问题。

我还是新手,所以我对 GOPATH 的意义有点困惑。

从 go docs 中说:“GOPATH 环境变量指定工作区的位置”

对于工作区的定义,文档说:“工作区是一个目录层次结构,其根目录有两个目录:”

所以从文档所说的以及 vscode 抱怨的内容来看,我的代码在路径“C:\Users\myusername\go”之外...

显然 go 并不希望我在我的机器上的“C:\Users\myusername\go”位置完成所有工作。

那么它在抱怨什么?

这是我的“gopls -rpc.trace -v check go_practice.go”命令的输出:

2021/04/21 16:05:23 Info:2021/04/21 16:05:23 go env for C:\projects\go_practice
(root C:\projects\go_practice)
(go version go version go1.16.3 windows/amd64)
(valid build configuration = false)
(build flags: [])
GOROOT=C:\Program Files\Go
GOSUMDB=sum.golang.org
GOFLAGS=
GOINSECURE=
GOPROXY=https://proxy.golang.org,direct
GO111MODULE=
GOCACHE=C:\Users\username\AppData\Local\go-build
GONOPROXY=
GOMOD=NUL
GOPRIVATE=
GOMODCACHE=C:\Users\username\go\pkg\mod
GONOSUMDB=
GOPATH=C:\Users\username\go

【问题讨论】:

【参考方案1】:

您可以通过运行go mod init <name> 来初始化所谓的“go 模块”,其中名称通常是您的存储库 URL。 (例如 github.com/user/repo)

这将生成一个go.mod 文件。阅读更多关于 go 模块的信息here。

【讨论】:

谢谢。但为什么我必须这样做?我有另一台机器,我使用过 vscode 并多次使用,但我从来不需要这样做? @matt 你必须使用 Go 模块,因为使用 Go 模块是强制性的。阅读并坚持golang.org/doc/#getting-started。去做吧。 啊。好的。我认为让我失望的是 Go 模块似乎是一个新事物。我浏览了整本“Go 编程语言”一书,但从未有人提及它们……所以我认为它们并不重要,或者与 vscode 有一些特殊性。 . 但现在我明白了它们是如何成为 Go 依赖管理系统的重要组成部分的。谢谢! “只管去做”并不是为什么

以上是关于如何导入vscode路径的主要内容,如果未能解决你的问题,请参考以下文章

如何在 VSCode 中智能感知别名模块路径

应该如何配置 VSCode 以支持 Lerna Monorepo?

如何配置 vscode 识别@文件路径

如何禁用从 VSCode 中的特定文件自动导入?

如何配置 VS Code 自动导入?

如何在 VsCode 2017 年 10 月中禁用自动导入语句