python - 如何使用 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 程序呢?
解决方案
我无法让它完全与 PowerShell 一起工作(它会打开,但我的文件输出不会在其中,而是存在一些关于后台作业的内容......),但使用本指南,我能够让它与 Windows 终端一起工作。该指南指定您需要设置设置wt -p cmd cmd
以避免“'\c'命令无法识别”错误:
这是因为 VScode 假设您正在运行
cmd
并且(afaik)没有命令行参数的配置,并且当它们被传递给wt
它时不知道它们的意思,添加cmd
(最后一个)然后wt
运行cmd
并将参数传递给它正确。如果你想使用你的配置文件,
cmd
你必须添加-p cmd
,所以完整的命令变成wt -p cmd cmd
因此,设置terminal.external.windowsExec
为wt -p cmd cmd
应该允许您使用 Windows 终端。