You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VSCode任务的options.env中引用本地环境变量?

实现VSCode任务引用本地环境变量的方法

可以实现需求,下面是两种靠谱的操作方法:

方法一:使用VSCode内置变量扩展

VSCode的任务配置支持通过${env:变量名}的语法直接读取本地环境变量,修改你的任务配置如下:

{
    "label": "Uvicorn toto-scrapper",
    "type": "shell",
    "command": "cd ./app/toto-scrapper && python main.py #uvicorn main:app",
    "problemMatcher": [],
    "options": {
        "env": {
            "APP_TITLE": "toto-scrapper",
            "VERSION": "work-in-progress",
            "LOG_LEVEL": "DEBUG",
            "TOTO_URL": "XXX",
            "TOTO_USER": "${env:XXX_TOTO_LOGIN}",
            "TOTO_PASSWORD": "${env:XXX_TOTO_PWD}",
            "TOTO_REALM": "XXX",
            "TOTO_PLATFORM": "2"
        }
    }
}

注意事项

  • 其他开发者需要在本地提前设置好XXX_TOTO_LOGIN和XXX_TOTO_PWD环境变量:
    • Windows:在「系统属性-高级-环境变量」里添加,或者用PowerShell临时设置:$env:XXX_TOTO_LOGIN="你的账号"
    • macOS/Linux:在~/.bashrc、~/.zshrc等配置文件中添加export XXX_TOTO_LOGIN="你的账号",执行source ~/.bashrc生效

方法二:通过Shell命令传递环境变量

如果偏好用Shell的变量替换逻辑,可以把环境变量的设置放到command字段里,同时删掉options.env中对应的配置:

{
    "label": "Uvicorn toto-scrapper",
    "type": "shell",
    "command": "cd ./app/toto-scrapper && TOTO_USER=$XXX_TOTO_LOGIN TOTO_PASSWORD=$XXX_TOTO_PWD python main.py #uvicorn main:app",
    "problemMatcher": [],
    "options": {
        "env": {
            "APP_TITLE": "toto-scrapper",
            "VERSION": "work-in-progress",
            "LOG_LEVEL": "DEBUG",
            "TOTO_URL": "XXX",
            "TOTO_REALM": "XXX",
            "TOTO_PLATFORM": "2"
        }
    }
}

这种方式依赖Shell的变量解析能力,确保你的任务使用的Shell(比如bash、zsh)支持这种前置环境变量的写法即可。

两种方法都能让Python脚本通过os.environ["TOTO_USER"]获取到本地环境变量的实际值,不会再拿到$XXX_TOTO_LOGIN这类字符串。

内容的提问来源于stack exchange,提问作者Itération 122442

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 08:20:22