【问题标题】:How to launch Windows Terminal as external terminal for debugging a Python file?如何启动 Windows 终端作为调试 Python 文件的外部终端?
【发布时间】:2021-01-07 23:37:49
【问题描述】:

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 终端中启动当前的 Python 文件。使用我的设置,我收到以下错误(修改了图像中的用户名,并且我的用户名中有一个空格):

但如果我在settings.json 中为terminal.external.windowsExec 放置额外的转义双引号(\"):

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

我收到不同的错误消息:

当我在 Python 文件上运行调试时,我希望能帮助我在 VS Code 中启动 Windows 终端。

旁注

对于 VS Code 中的 Ctrl + Shift + C 用法,如果我没有在 wt.exe 的路径中为 terminal.external.windowsExec 添加额外的转义双引号,则 Windows 终端将正常启动。

如果我添加转义的双引号,我会得到与第一个附加图像相同的错误,即Windows cannot find 'C:\Users\USER '

【问题讨论】:

  • 我发现了两个潜在问题。 1) 你的系统上真的有一个名为USER NAME 的用户吗?如果不是,您是否希望您显示的路径中的那些字符被其他字符替换? 2)我认为USER NAME 中的空间确实给您带来了问题。如果它真的是你想要的,或者你想要另一个名字,里面有一个空格,我认为你需要逃避这个空间,比如:"\"C:\\Users\\USER\ NAME\\AppData\\Local\\Microsoft\\WindowsApps\\Microsoft.WindowsTerminal_8wekyb3d8bbwe\\wt.exe\""
  • 我将我的实际用户名修改为USER NAME,但我系统上的真实用户名之间确实有一个空格。另外,我在帖子中提到我确实包含了转义的双引号,但我收到了错误。
  • 那么你有没有尝试逃离这个空间?
  • 你读过我的帖子吗?我把所有的信息都放在那里了。
  • 我做了,我又做了一次。我看不到您在USERNAME 之间的空格前放置反斜杠的任何地方。如果我以某种方式错过了它,我很抱歉。

标签: python visual-studio-code vscode-debugger windows-terminal


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-04-15
    • 2020-01-22
    • 2018-06-19
    • 2020-07-11
    • 2020-09-07
    • 1970-01-01
    • 2019-11-07
    • 1970-01-01
    相关资源
    最近更新 更多