我想为每个vscode项目/工作区设置$ GOPATH。现在,在.vscode / settings.json中,我有:
{
"go.gopath": "$HOME/codes/huru"
}
我关闭vscode并重新打开,在命令行终端,我回显$ GOPATH,它为空。我希望vscode可以从“ go.gopath”中读取env变量,但似乎不必这样做。
有人知道该怎么做吗?
答案 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
设置相同的值。我在所有这些上加上了红线。echo $GOPATH
时,输出仍然是来自环境变量(蓝线)的$GOPATH
值。这是因为go.gopath
设置不会替换$GOPATH
env变量。在您的情况下,echo $GOPATH
返回空输出,因为您尚未设置$GOPATH
环境变量。