首页 > 解决方案 > 如何使用 powershell/Windows 终端在 vscode 中调试(Python)程序?

问题描述

我做了一些努力来设置powershell和windows终端的主题。现在在vscode的集成终端中生效。

由于vscode使用powershell作为其integratedTerminal调试选项,我认为必须有一种使用powershell作为externalTerminal选项的方法(并且默认为cmd)。但是,当我尝试像这样更改 vscode 的 settings.json 中的默认外部终端选项时:

"terminal.external.windowsExec": "powershell.exe",

并尝试启动调试会话,powershell 刚刚弹出并立即消失。然后出现一条警告消息,显示“等待 luancher 连接超时。”。

当我尝试切换到 wt.exe(Windows 终端)时,vscode 似乎无法识别自动生成的 '\c' 命令。警告来了: The following argument was not expected: \c

powershell 和 windows 终端可执行文件都添加到 PATH 中。这是我的python程序的launch.json:

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

        }
    ]
}

我想当我更改这些设置时没有出现任何问题,使用 cmd.exe 也没有出现任何问题。那么如何使用外部 powershell 或 windows 终端调试 python 程序呢?

标签: pythonpowershellvisual-studio-code

解决方案


我无法让它完全与 PowerShell 一起工作(它会打开,但我的文件输出不会在其中,而是存在一些关于后台作业的内容......),但使用本指南,我能够让它与 Windows 终端一起工作。该指南指定您需要设置设置wt -p cmd cmd以避免“'\c'命令无法识别”错误:

这是因为 VScode 假设您正在运行cmd并且(afaik)没有命令行参数的配置,并且当它们被传递给wt它时不知道它们的意思,添加cmd(最后一个)然后wt运行cmd并将参数传递给它正确。

如果你想使用你的配置文件,cmd你必须添加-p cmd,所以完整的命令变成wt -p cmd cmd

因此,设置terminal.external.windowsExecwt -p cmd cmd应该允许您使用 Windows 终端。


推荐阅读