VSCode non può leggere l'input dell'utente durante il debug di un codice Python in integratedTerminal

Aug 16 2020

In questo codice Python a due righe:

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

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

Mentre eseguo il debug, attende l'input dell'utente. Dopo aver digitato un nome, il terminale (console di debug di Python) si ferma lì, la riga print () non viene mai eseguita. Guarda lo screenshot qui sotto

Il file launch.json è di seguito (come predefinito):

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

Se eseguo questo codice senza eseguire il debug, va tutto bene.

NOTA: il debugger funziona bene prima. Questo problema si è verificato di recente. Apprezzo molto qualsiasi aiuto o suggerimento.

Risposte

1 eggheadlabs Aug 17 2020 at 20:24

Dopo aver ripristinato l'estensione python alla versione precedente (v2020.7.96456), il problema è scomparso e il debugger può avanzare alla riga di codice successiva e quindi funzionare correttamente.

Sebbene non abbia prove concrete del motivo per cui l'ultima versione (v2020.8.101144) fa sì che il debugger smetta di accettare l'input dell'utente, almeno tornare a una versione precedente può essere un rimedio temporaneo, fino a quando le revisioni future risolveranno questo problema.