web-dev-qa-db-ja.com

VS Codeはデバッグコンソールではなく統合ターミナルでデバッグを開始します

私はかなり長い間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}"
        }
    ]
}


「デバッグコンソール」に出力onlyが必要です(以前のデフォルトの動作)。以前の状態に戻すのを手伝ってください。

26
HaMAD

編集3

python拡張機能の リリース2019.4. と同様に、consoleオプションをinternalConsoleに設定できるようになりました( #4321 )。

編集2

omartin2010's answer で示唆されているように、オプションをさらに設定できます

"internalConsoleOptions": "openOnSessionStart"

デバッグの開始時にデバッグコンソールを自動的に開きます。

編集1

console オプションを明示的にnoneに設定するのが方法でした。コメントを参照してください。

"console": "none"

元の答え

出力がデバッグコンソールに書き込まれるようにするには、 debugOptions を設定します。 yourlaunch.jsonの設定に次のエントリを追加すると修正されます。

"debugOptions": [
    "RedirectOutput"
]
22
HaaLeo

私は同じ問題を抱えていましたが、次のような新しい構成を上部に追加して解決しました:

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

私は他のデバッグ機能のいずれかを変更する必要がなかったため、これがより良い解決策であることがわかりました。あなたの場合、「Python:Terminal(integrated)」デバッグオプション。デバッグコンソール機能と同じくらい必要です。私は両方の機能を使用し、出力を表示したい場所に出力を表示します。

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

これらは私のlaunch.json設定であり、これで機能しています。

5
anils

上記の優先回答

    "console": "none" 

エラーをスローするようになりました。

新しい使い方は

    "console": "internalConsole"

ドキュメントを更新するために、GitHubにバグが記録されています here

4
Tammy Treit

あまり昔ではないが、このオプションを追加することも可能だ...前に可能かどうかわからない:

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

お役に立てれば

4
omartin2010

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