【问题标题】:VSCode integrated terminal not launching with proper settingsVSCode 集成终端未通过正确设置启动
【发布时间】:2020-12-21 09:49:09
【问题描述】:

当我启动 VSCode 时,我的 settings.json 文件中有以下 JSON,它决定了默认集成终端的启动方式:

    "terminal.integrated.shellArgs.windows": [
        "-ExecutionPolicy",
        "ByPass",
        "-NoExit",
        "-Command",
        "C:\\Miniconda3\\shell\\condabin\\conda-hook.ps1",
        ";conda activate 'C:\\Miniconda3'"
    ],

正如预期的那样,default 集成终端在启动时确实使用了这些 shell 参数。但是,我也安装了 Python 扩展,并且我做了很多 Python 调试。当我尝试调试 Python 文件时,我定义了以下 launch.json:

    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]

如您所见,当我尝试调试脚本时,Python 扩展应该使用集成终端。当我单击用户界面中的“开始调试”按钮时,它会启动一个 second 集成终端,但启动的 second 终端却没有 使用我在 settings.json 中定义的上述 shell 参数,我需要这样做。

当 Python 扩展启动自己的集成终端时,任何人都知道如何让 VSCode 使用我在 settings.json 中定义的集成终端 shell 参数?或者有什么方法可以让 Python 扩展使用集成终端的预先存在的实例,而不是启动一个不使用这些 shell 参数的新实例?

谢谢!

【问题讨论】:

    标签: python visual-studio-code terminal anaconda miniconda


    【解决方案1】:

    当你在终端运行python文件时,终端会显示为python类型: 当你点击Start Debugging时,会出现一个新的终端,显示类型为Python Debug Console 所以这解释了你的问题:

    当我单击用户界面中的“开始调试”按钮时,它会启动第二个集成终端

    另外,关于调试,配置应该添加在launch.json中,关于终端的设置你可以保留在属性args中。请参考debugdebug-args。将 powershell 设置放在 settings.json 中对调试集成终端没有影响。这就是你发现的原因:

    启动的第二个不使用我在 settings.json 中定义的上述 shell 参数

    【讨论】:

    • 不幸的是,这并不能真正回答问题。如您所述,您可以在 launch.json 中提供“args”,但这些是即将调试的程序的参数,而不是启动 shell 本身的参数。启动 shell 本身的参数在 settings.json 的“terminal.integrated.shellArgs”中找到,如果我在“launch.json”中指定我想使用“integratedTerminal”,我肯定认为这是一个错误,然后它不使用我在 settings.json 中定义的“terminal.integrated.shellArgs”。
    • 因为调试查找的是 launch.json 中的设置,而不是 settings.json
    • 嗯……是的,但不是。如果您在launch.json 中将“integratedTerminal”定义为您想要的shell,它仍然需要转到settings.json 以了解integratedTerminal 是什么以及如何启动它,因为settings.json 是您定义integratedTerminal 的地方。跨度>
    • 糟糕!我以为我误解了你的问题,对此我很抱歉。我将“terminal.integrated.shellArgs.windows”放在settings.json中,就像您在我的答案中看到的屏幕截图一样,它们都使用用户setting.json中定义的相同python.exe。你以前遇到过这个问题吗?您是否尝试通过删除 User settings.json 中两个大括号之间的所有内容或重新安装 vscode 来重置 vscode?​​span>
    猜你喜欢
    • 2021-09-12
    • 2021-12-02
    • 1970-01-01
    • 2022-01-24
    • 2023-03-11
    • 2021-10-24
    • 1970-01-01
    • 2021-11-01
    • 1970-01-01
    相关资源
    最近更新 更多