ZhangZhihui's Blog  

在 Windows 环境下开发带有 CGO 依赖(如 DuckDB)的 Go 项目,在 settings.json 中配置环境变量可以让你免去每次在 PowerShell 手动输入 $env:CGO_ENABLED="1" 的麻烦。

你可以通过以下步骤进行配置:

1. 打开 settings.json

  1. 在 VSCode 中按下 Ctrl + Shift + P。

  2. 输入 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. 验证配置是否生效

  1. 重启 VSCode 终端(点击垃圾桶图标关闭旧终端,按 Ctrl + ` 新开一个)。

  2. 在终端输入:

    $env:CGO_ENABLED
    

    如果输出 1,说明配置成功。

 

posted on 2026-03-24 17:28  ZhangZhihuiAAA  阅读(100)  评论(0)    收藏  举报