在 Windows 环境下开发带有 CGO 依赖(如 DuckDB)的 Go 项目,在 settings.json 中配置环境变量可以让你免去每次在 PowerShell 手动输入 $env:CGO_ENABLED="1" 的麻烦。
你可以通过以下步骤进行配置:
1. 打开 settings.json
-
在 VSCode 中按下
Ctrl + Shift + P。 -
输入
Preferences: Open User Settings (JSON)并回车。
2. 添加 Go 工具的环境变量
在 JSON 文件中加入 go.toolsEnvVars 配置。这会影响 Go 插件运行的测试、构建和 lint 工具。
{
"go.toolsEnvVars": {
"CGO_ENABLED": "1"
},
"go.testEnvVars": {
"CGO_ENABLED": "1"
}
}
3. 配置终端自动注入环境变量 (最关键)
由于你是在终端中手动运行 go run 或 wails build,你还需要配置 VSCode 的终端配置文件,让它在每次打开 PowerShell 时自动带上 CGO 标志:
{
"terminal.integrated.env.windows": {
"CGO_ENABLED": "1"
}
}
完整的配置示例
如果你的 settings.json 之前是空的,建议配置如下(包含了对 GCC 路径的显式支持,以防万一):
{
"go.toolsEnvVars": {
"CGO_ENABLED": "1"
},
"terminal.integrated.env.windows": {
"CGO_ENABLED": "1",
"CC": "gcc"
},
"go.testEnvVars": {
"CGO_ENABLED": "1"
},
"go.formatTool": "gofmt",
"go.useLanguageServer": true
}
4. 验证配置是否生效
-
重启 VSCode 终端(点击垃圾桶图标关闭旧终端,按
Ctrl + `新开一个)。 -
在终端输入:
$env:CGO_ENABLED如果输出
1,说明配置成功。

浙公网安备 33010602011771号