VSCode non può leggere l'input dell'utente durante il debug di un codice Python in integratedTerminal
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
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.