【问题标题】:How to autoload venv/bin/activate in vscode on mac如何在 mac 上的 vscode 中自动加载 venv/bin/activate
【发布时间】:2021-03-22 19:20:15
【问题描述】:

我有 venv 环境的 django 项目文件夹。 打开 vscode 时,它​​在 vscode 中打开了终端。

有没有办法让我在打开项目文件夹时不必一直 venv/bin/activate?

【问题讨论】:

    标签: python python-3.x macos visual-studio-code python-venv


    【解决方案1】:

    从此答案的评论中编辑(归功于@XJOJIX)。这将激活虚拟环境,而无需关闭或打开终端。仍然需要选择一个 Python 文件来加载 Python 扩展。

    在 VS Code 中将此参数添加到“launch.json”或“.code-workspace”

        "settings": {
            "python.terminal.activateEnvInCurrentTerminal": true
        }
    

    上一个答案:

    让 VS Code 终端在首次启动 VS Code 时自动激活虚拟环境:

    1. 在退出 VS Code 之前关闭终端。
    2. 打开 VS 代码。确保选择了 Python 文件以指示 VS Code 加载 Python 扩展。
    3. 等待 Python 扩展完成加载(非常底部 VS Code 终端的左侧)。
    4. 加载 Python 扩展后打开一个新终端。 venv 会自动激活。

    诀窍是只有在 Python 扩展加载后才打开终端。

    如果终端目录包含虚拟环境,VS Code 也会在打开新终端时自动激活虚拟环境。和以前一样,必须选择一个 Python 文件,并且必须完全加载 Python 扩展。

    【讨论】:

    • 天啊!它确实有效!但我必须打开 .py 文件才能加载 Python 扩展。有没有办法解决这个问题?还是我必须习惯它?
    • 谢谢,我忘记了那部分。必须选择一个 python 文件让 VS Code 知道加载 Python 扩展(答案已被编辑)。我不相信有解决方法,因为终端总是会立即加载,而 Python 扩展需要一些时间。由于终端首先加载,VS Code 不知道终端将用于 Python。
    • 谢谢杰森。即使有工作文件夹设置,它似乎也很简单,vscode 不会知道你是否要使用 python。很有意义。 vscode 无法判断是否是项目文件夹。
    • 我找到了解决方法。只需在用户或工作文件夹设置中添加以下内容。 "python.terminal.activateEnvInCurrentTerminal": true, 它会在 python 扩展加载时自动加载。
    【解决方案2】:

    使用命令面板触发“Python:选择解释器”命令。它应该允许您选择您的虚拟环境。

    您可能会对文章Using Python environments in VS Code 感兴趣。

    【讨论】:

    • 感谢您的建议,但它只在工作文件夹的 .vscode/settings.json 中添加了“python.pythonPath”:“venv/bin/python”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-09
    • 2016-11-16
    • 2020-10-10
    • 1970-01-01
    • 2017-07-24
    相关资源
    最近更新 更多