VSCodeは、integratedTerminalでPythonコードをデバッグしているときにユーザー入力を読み取ることができません

Aug 16 2020

この2行のPythonコードでは:

string = input("What's your name? ")

if string != '': print('Hello, ' + string + '!')

デバッグを実行している間、ユーザー入力を待ちます。名前を入力した後、ターミナル(Python Debug Console)はそこで停止し、print()行は実行されません。以下のスクリーンショットを参照してください

launch.jsonファイルは以下のとおりです(デフォルト):

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python: Current File",
            "type": "python",
            "request": "launch",
            "program": "${file}",
            "console": "integratedTerminal"
        }
    ]
}

デバッグせずにこのコードを実行すると、すべて問題ありません。

注:デバッガーは以前は正常に動作していました。この問題は最近発生したばかりです。ヘルプやヒントに感謝します。

回答

1 eggheadlabs Aug 17 2020 at 20:24

Python拡張機能を以前のバージョン(v2020.7.96456)にロールバックした後、問題はなくなり、デバッガーは次のコード行に進んで正しく動作するようになります。

最新バージョン(v2020.8.101144)によってデバッガーがユーザー入力の受け入れを停止する理由をはっきりと証明することはできませんが、将来のリビジョンでこの問題が解決されるまで、少なくとも以前のバージョンにロールバックすることは一時的な解決策になる可能性があります。