为 vscode 项目/终端设置 $GOPATH

Ale*_*lls 2 go visual-studio-code vscode-settings

我想为每个 vscode 项目/工作区设置 $GOPATH。现在,在 .vscode/settings.json 中,我有:

{
    "go.gopath": "$HOME/codes/huru"
}
Run Code Online (Sandbox Code Playgroud)

我关闭 vscode 并重新打开,在命令行终端,我回显 $GOPATH,它是空的。我希望 vscode 会从“go.gopath”中读取 env 变量,但似乎不必这样做。

有谁知道如何做到这一点?

在此处输入图片说明

在此处输入图片说明

nov*_*ung 5

设置go.gopath用户设置或工作区设置将替换 VS Code 上的 GOPATH 值。这个 GOPATH 值是在Go: Current GOPATH执行命令时显示的值,而不是$GOPATH环境变量

go.gopath不会替换$GOPATH环境变量

VS Code Go 扩展中 GOPATH 的解释:

开箱即用,扩展使用环境变量的值GOPATH。从 Go 1.8 开始,如果没有设置这样的环境变量,则使用GOPATH从命令 go env 解密的默认值。

设置go.gopath在用户设置将覆盖GOPATH这是从上述逻辑的。设置go.gopath在工作区设置将覆盖从用户设置的一个。您可以在此设置中将多个文件夹设置为 GOPATH。请注意,它们应该;在 Windows 中:分开,否则分开。

下面我添加一张可能对您有帮助的图片。

  • 基本上我已经$GOPATH在我的本地准备好了具有特定值的 env 变量。然后我设置了go.gopath用户设置(与 相比具有不同的值$GOPATH)。当我执行 command 时Go: Current GOPATH,右下角会出现一个弹出窗口,显示与我的go.gopath设置完全相同的值。我在这一切上划了红线
  • 但是,当我echo $GOPATH在终端上执行 shell 命令时,输出仍然是$GOPATH我的 env 变量(蓝线)的值。这是因为go.gopath设置不会替换$GOPATHenv 变量。

在此处输入图片说明


在您的情况下,echo $GOPATH返回空输出,因为您尚未设置$GOPATH环境变量。