VSCode nie może odczytać danych wejściowych użytkownika podczas debugowania kodu Pythona w IntegratedTerminal

Aug 16 2020

W tym dwuwierszowym kodzie Pythona:

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

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

Gdy uruchamiam debugowanie, czeka na dane wejściowe użytkownika. Po wpisaniu nazwy Terminal (Python Debug Console) po prostu się tam zatrzymuje, a linia print () nigdy nie jest wykonywana. Zobacz zrzut ekranu poniżej

Plik launch.json znajduje się poniżej (domyślnie):

{
    // 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"
        }
    ]
}

Jeśli uruchomię ten kod bez debugowania, wszystko jest w porządku.

UWAGA: debugger działa dobrze wcześniej. Ten problem pojawił się niedawno. Bardzo doceniam każdą pomoc i wskazówki.

Odpowiedzi

1 eggheadlabs Aug 17 2020 at 20:24

Po przywróceniu rozszerzenia Pythona do jego poprzedniej wersji (v2020.7.96456) problem zniknął, a debugger może przejść do następnej linii kodu i wtedy działa poprawnie.

Chociaż nie mam żadnego twardego dowodu na to, dlaczego najnowsza wersja (v2020.8.101144) powoduje, że debugger przestaje akceptować dane wejściowe użytkownika, przynajmniej cofnięcie do poprzedniej wersji może być tymczasowym rozwiązaniem, dopóki przyszłe poprawki nie rozwiązują tego problemu.