为vscode项目/终端设置$ GOPATH

时间:2018-10-19 05:27:04

标签: go visual-studio-code vscode-settings

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

{
    "go.gopath": "$HOME/codes/huru"
}

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

有人知道该怎么做吗?

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

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

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

GOPATH in the VS Code Go extension的解释:

  

现成的扩展名使用环境变量GOPATH的值。从Go 1.8开始,如果未设置此类环境变量,则使用从go env命令中解密的默认GOPATH

     

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

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

  • 基本上,我的本地变量上已经有$GOPATH个env变量,并且具有一定值。然后,在用户设置上设置go.gopath(与$GOPATH相比,值有所不同)。当我执行命令Go: Current GOPATH时,会在右下方显示一个弹出窗口,显示与我的go.gopath设置相同的值。我在所有这些上加上了红线
  • 但是,当我在终端上执行shell命令echo $GOPATH时,输出仍然是来自环境变量(蓝线)$GOPATH值。这是因为go.gopath设置不会替换$GOPATH env变量。

enter image description here


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