设置集成终端的环境变量

时间:2018-09-03 23:29:45

标签: python flask visual-studio-code

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

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

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

UPD >>

我想一种解决方法是创建两个这样的任务:

{
    // 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": []
        }
    ]
}

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

2 个答案:

答案 0 :(得分:0)

如果您不想设置环境变量using the terminal,则可以使用configuration files进行设置。

答案 1 :(得分:0)

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

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

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

编辑:

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