wake-up-neo.com

VScode startet das Debuggen im integrierten Terminal anstelle der Debug-Konsole

Ich benutze vscode schon seit geraumer Zeit und heute habe ich dieses seltsame Problem. Wenn ich früher mit dem Debuggen eines Programms (F5) begonnen habe, würde es mit dem Debuggen beginnen und die Ausgabe in der "Debug-Konsole" anzeigen enter image description here

Aber jetzt startet es den Debugger im "Terminal" und gibt auch die Ausgabe an "Debug Console" .__ aus. Ich möchte die Ausgabe nur in der "Debug Console" (Bisher Standardverhalten) enter image description here Bitte helfen Sie mir, es wieder so zu setzen, wie es war

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

]}

launch.json

17
HaMAD

Um sicherzustellen, dass die Ausgabe in die Debug-Konsole geschrieben wird, können Sie die Option debugOptions ..__ festlegen. Durch Hinzufügen des folgenden Eintrags zu Ihrer Konfiguration in Ihrem launch.json sollte dies behoben werden: 

"debugOptions": [
    "RedirectOutput"
]

Bearbeiten 1

Die Option console explizit auf none setzen, war der beste Weg. Zeige Kommentare.

"console": "none"

Bearbeiten 2

Wie in omartin2010s Antwort vorgeschlagen können Sie die Option zusätzlich einstellen

"internalConsoleOptions": "openOnSessionStart"

so öffnen Sie die Debug-Konsole automatisch, wenn Sie mit dem Debugging beginnen.

17
HaaLeo

Ich hatte das gleiche Problem, löste es jedoch, indem ich oben eine neue Konfiguration hinzufügte, die so aussah:

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

Ich fand dies eine bessere Lösung, weil ich keine meiner anderen Debug-Funktionen ändern musste. In Ihrem Fall die Debug-Option "Python: Terminal (integriert)". Was ich brauche so viel wie ich die Debug-Konsolenfunktion brauche. Ich verwende beide Funktionen und sie zeigen die Ausgabe an, wo die Ausgabe angezeigt werden soll.

8
SnitchingAuggie

Die bevorzugte Antwort vor der Einstellung

    "console": "none" 

jetzt wirft ein Fehler.

Die neue Verwendung ist

    "console": "internalConsole"

In GitHub ist ein Fehler aufgetreten, um die Dokumente zu aktualisieren hier .

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

das sind meine launch.json-einstellungen und es funktioniert damit.

4
anils

Die akzeptierte Antwort hat bei mir nicht funktioniert, da sie bei meiner Version von VSCode Version 1.30.2 (1.30.2) anscheinend keine Option ist:

Unknown console type 'none'.

Die Lösung für mich war, stattdessen die Option internalConsole zu verwenden. Ich nehme an, es muss standardmäßig die Option integratedTerminal in meiner Version verwendet werden.

Hier ist ein Beispiel:

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"
},
...
1
Matthew Sanders

Es ist auch möglich, diese Option hinzuzufügen. Ich bin mir nicht sicher, ob dies vor einiger Zeit möglich war:

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

hoffe das hilft

1
omartin2010