如何启动Windows终端作为调试Python文件的外部终端? 旁注

问题描述

Windows 10
VS代码1.49.0

我的settings.json

"python.pythonPath": "C:\\python38","terminal.integrated.shell.windows": "C:\\PowerShell Core\\pwsh.exe","terminal.explorerKind": "external",// NOTE: I have a space in my username
"terminal.external.windowsExec": "C:\\Users\\USER NAME\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\wt.exe",

我的launch.json位于我的工作区.vscode目录的根目录中:

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

调试时,我正在尝试在Windows Terminal中启动当前的Python文件。使用我的设置,我收到以下错误(在图像中修改用户名,并且用户名中有空格):

但是,如果我在\"中用settings.json放在多余的转义双引号(terminal.external.windowsExec)中:

"terminal.external.windowsExec": "\"C:\\Users\\USER NAME\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\wt.exe\"",

我收到其他错误消息:

当我在Python文件上运行调试程序时,希望获得一些帮助,以使Windows Terminal在VS Code中启动。

旁注

对于VS Code中Ctrl + Shift + C用法,如果我没有为wt.exe的{​​{1}}路径添加多余的转义双引号,则Windows终端会正常启动。

如果我添加了转义的双引号,我将得到与第一个附加图像相同的错误内容terminal.external.windowsExec

解决方法

launch.json 应该有 "terminal": "external""console": "externalTerminal"

settings.json 应该有

"terminal.external.windowsExec": "wt cmd",

"terminal.external.windowsExec": "wt -p \"Command Prompt\"  --title \"VSCode External Terminal\" cmd",

\"Command Prompt\" 是您要使用的 windows terminal 的个人资料名称。

https://www.reddit.com/r/vscode/comments/ifou0y/using_new_windows_terminal_as_external_terminal/gaqrjt8?utm_source=share&utm_medium=web2x&context=3