go - 为 vscode 项目/终端设置 $GOPATH
问题描述
我想为每个 vscode 项目/工作区设置 $GOPATH。现在,在 .vscode/settings.json 中,我有:
{
"go.gopath": "$HOME/codes/huru"
}
我关闭 vscode 并重新打开,在命令行终端,我回显 $GOPATH,它是空的。我希望 vscode 会从“go.gopath”读取环境变量,但似乎不必这样做。
有谁知道如何做到这一点?
解决方案
用户设置或工作区设置将替换 VSCodego.gopath
上的 GOPATH 值。这个特定的 GOPATH 值是在 VSCode 上执行命令时显示的值,因此它不是environment variable。Go: Current GOPATH
$GOPATH
该go.gopath
值不会替换$GOPATH
环境变量。
开箱即用,扩展使用环境变量的值
GOPATH
。从 Go 1.8 开始,如果没有设置这样的环境变量,则使用GOPATH
从命令 go env 破译的默认值。用户设置
go.gopath
中的设置会覆盖GOPATH
从上述逻辑派生的设置。工作区设置go.gopath
中的设置会覆盖用户设置中的设置。您可以在此设置中将多个文件夹设置为 GOPATH。请注意,它们应该;
在 Windows中:
分开,否则分开。
下面是我编造的一个例子,它可能有助于理解这些差异。
- 例如,我已经
$GOPATH
在我的本地环境中设置了一个特定的值。然后我设置go.gopath
了用户设置(与 相比具有不同的值$GOPATH
)。当我执行命令Go: Current GOPATH
时,右下角会出现一个弹出窗口,显示与我的go.gopath
设置完全相同的值。我把这一切都划上了红线。 - 但是,每当我
echo $GOPATH
在终端上执行 shell 命令时,输出仍然是$GOPATH
我的 env 变量(蓝线)的值。这是因为go.gopath
设置不会替换环境$GOPATH
变量。
在您的情况下,echo $GOPATH
返回空输出,因为您尚未设置$GOPATH
环境变量。
推荐阅读
- reactjs - 我应该如何在不使用 this.state 和 setState 的情况下使用 Redux 传递输入值
- pointers - 从函数中的局部变量返回指针
- css - 如果图像宽度 > 400 = 图像宽度 = 100% css
- python - POST(Flask API)上没有“Access-Control-Allow-Origin”标头
- c++ - 即使使用调试编译标志,表达式也被“优化”
- google-apps-script - Gmail > Google App Script > Gsheet > Slack 格式
- javascript - 数组上的 ramda 函数 javascript
- json - 读取动态 JSON 属性
- r - 在一个条件下保持一行数据框
- sql-server - SQL Server 中存储过程的可选参数