VS Code在集成终端而不是调试控制台中开始调试

问题描述 投票:20回答:6

我已经使用VS Code很长一段时间了,就在今天我开始遇到这个奇怪的问题。以前如果我开始调试程序(F5),它将开始调试并在“调试控制台”中显示输出:

enter image description here

但现在它在“终端”enter image description here中启动调试器,并输出到“调试控制台”。

这是我的launch.json:

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

我只想在“调试控制台”中输出(以前的默认行为)。请帮我把它设置回原来的样子。

python debugging visual-studio-code
6个回答
22
投票

Edit 3

与python扩展的release 2019.4.0一样,现在可以将console选项设置为internalConsole#4321)。

Edit 2

正如omartin2010's answer中建议的那样,您可以另外设置选项

"internalConsoleOptions": "openOnSessionStart"

在开始调试时自动打开调试控制台。

Edit 1

console选项明确地设置为none是可行的方法。看评论。

"console": "none"

Original answer

要确保将输出写入调试控制台,您可以设置debugOptions。在yourlaunch.json中将以下条目添加到您的配置中应该修复它:

"debugOptions": [
    "RedirectOutput"
]

8
投票

我有同样的问题,但我通过在顶部添加一个看起来像这样的新配置解决了它:

{
    "name": "Python: Current File",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "console": "none"
},

我发现这是一个更好的解决方案,因为我没有必要更改我的其他调试功能。在您的情况下,“Python:终端(集成)”调试选项。我需要的是调试控制台功能。我使用这两个函数,它们显示我希望输出显示的输出。


4
投票
{
    "name": "Python: Current File",
    "type": "python",
    "request": "launch",
    "program": "${file}",
    "stopOnEntry": false,
    "console": "none"
},

这些是我的launch.json设置,它正在使用它。


2
投票

我不久前也可以添加这个选项...不确定之前是否可能:

{
...
            "internalConsoleOptions": "openOnSessionStart",
...
}

希望这可以帮助


2
投票

上面设置的首选答案

    "console": "none" 

现在抛出一个错误。

新的用法是

    "console": "internalConsole"

在GitHub中记录了一个错误来更新文档here


1
投票

接受的答案对我不起作用,因为它似乎不是我的VSCode Version 1.30.2 (1.30.2)版本的选项:

Unknown console type 'none'.

对我来说,解决方案是使用internalConsole选项。我想它必须默认为我的版本上的integratedTerminal选项。

这是一个例子:

NOTE: this is an example from my nodejs project but the console portion is still relevant regardless of project type. I have included more to show some context as well as other features such as envFile usage.

...    
{
    "type": "node",
    "request": "launch",
    "name": "Launch Program",
    "envFile": "${workspaceRoot}/.env",
    "program": "${workspaceFolder}/src/index.js",
    "autoAttachChildProcesses": true,
    "console": "internalConsole"
},
...
© www.soinside.com 2019 - 2024. All rights reserved.