首页 > 解决方案 > 为集成终端设置环境变量

问题描述

我正在寻求帮助,以了解如何在 Visual Studio Code 中为集成终端设置环境变量。目前,我可以使用工作区文件夹中的.env文件来执行此操作,但我想更改此文件的文件名并创建另外一两个文件,例如 dev.env 和 prod.env。为我的工作区设置“ python.envFile ”并不能解决问题,据我所知,在 launch.json 中更改内容是为了调试。

所有这一切(这很重要)的总体目标是使用一组特定的环境变量运行 flask shell(flask web 框架的集成 shell,python),并能够通过交换文件来更改它们。我知道我可以通过在我的工作区设置中引入“ terminal.integrated.env.osx ”来设置这些,但我宁愿从文件中获取这些变量。

非常感谢您的时间和帮助。

升级版>>

我想一种方法是创建两个任务:

{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "2.0.0",
    "tasks": [
        {
            "label": "FLASK SHELL DEV",
            "type": "shell",
            "command": "source ${workspaceFolder}/dev.env && ${config:python.pythonPath} -m flask shell",
            "problemMatcher": []
        },
        {
            "label": "FLASK SHELL PROD",
            "type": "shell",
            "command": "source ${workspaceFolder}/prod.env && ${config:python.pythonPath} -m flask shell",
            "problemMatcher": []
        }
    ]
}

但问题是存在的。有没有办法对集成终端做同样的事情?

标签: pythonflaskvisual-studio-code

解决方案


是的,您可以使用以下设置之一(取决于您的平台):

"terminal.integrated.env.linux": {},
"terminal.integrated.env.windows": {},
"terminal.integrated.env.osx": {
    "PYTHONPATH": "${workspaceFolder}/src:${env:PYTHONPATH}"
},

但是,它们仅适用于集成终端,不适用于 vs code python 扩展可能产生的任何其他进程(测试、linting、调试器)。对于那些你需要使用.env 文件的人。

编辑:

值得注意的是,如果您从终端启动 VS Code,它应该从终端环境继承任何 env 变量(至少对于所有衍生的子进程,可能不适用于集成终端)。


推荐阅读