Condividi tramite


Usare la finestra interattiva Python in Visual Studio

Visual Studio offre una finestra interattiva del ciclo REPL (Read-Evaluate-Print Loop) per ogni ambiente Python, che migliora il repl che si ottiene con il python.exe comando nella riga di comando. La finestra interattiva di Python consente di immettere codice Python arbitrario e visualizzare i risultati immediati. Questo approccio alla codifica consente di apprendere e sperimentare API e librerie e sviluppare in modo interattivo codice funzionante da includere nei progetti.

Screenshot della finestra Del ciclo REPL (Read-Evaluate-Print Loop) interattivo python in Visual Studio 2022.

Screenshot della finestra Del ciclo REPL (Read-Evaluate-Print Loop) interattivo python in Visual Studio.

Visual Studio offre molte modalità REPL python tra cui scegliere:

REPL Descrizione In fase di modifica Debug Immagini
Standard RePL predefinito comunica direttamente con Python Modifica standard (multilinea e altro ancora) Sì, tramite $attach No
Debug RePL predefinito comunica con il processo Python sottoposto a debug Modifica standard Solo debug No
IPython REPL comunica con il back-end di IPython Comandi IPython, vantaggi di Pylab No Sì, inline in REPL
IPython senza Pylab REPL comunica con il back-end di IPython IPython standard No Sì, finestra separata

Questo articolo descrive le modalità REPL Standard e Debug. Per informazioni dettagliate sulle modalità IPython, vedere Usare la finestra REPL in modalità IPython.

Per una procedura dettagliata con esempi, incluse le interazioni con l'editor, ad esempio CTRL+INVIO, vedere Usare la finestra INTERATTIVA REPL.

Prerequisiti

Visual Studio per Mac non è attualmente supportato. Per altre informazioni, vedere What's happening to Visual Studio per Mac? Visual Studio Code in Windows, Mac e Linux funziona bene con Python tramite le estensioni disponibili.

Aprire la finestra interattiva

Esistono diversi modi per aprire la finestra interattiva per un ambiente Python.

  • Dalla finestra Ambienti Python:

    1. Selezionare Visualizza>altri ambienti Python di Windows>per aprire la finestra Ambienti Python o usare la tastiera CTRL K>CTRL.++`

    2. Nella finestra Ambienti Python selezionare un ambiente e passare alla pagina Panoramica per l'ambiente.

    3. Nella pagina Panoramica selezionare l'opzione Apri finestra interattiva.

    Screenshot che mostra come usare l'opzione Apri finestra interattiva per l'ambiente selezionato in Visual Studio 2022.

    Screenshot che mostra come usare l'opzione Apri finestra interattiva per l'ambiente selezionato in Visual Studio.

  • Dal menu Visualizza dello strumento di Visual Studio selezionare Altra finestra interattiva di Windows>Python:

    Screenshot che mostra come usare l'opzione di menu Visualizza finestra interattiva Python in Visual Studio 2022.

    Screenshot che mostra come usare l'opzione di menu Visualizza finestra interattiva Python in Visual Studio.

  • Dal menu Debug sulla barra degli strumenti di Visual Studio selezionare Esegui <progetto | File> in Python Interactive o usare i tasti di scelta rapida MAIUSC+ALT+F5. È possibile aprire una finestra interattiva per il file di avvio nel progetto o per qualsiasi file autonomo:

    Screenshot che mostra come usare l'opzione di menu Esegui debug progetto in Python Interattivo in Visual Studio 2022.

    Screenshot che mostra come usare l'opzione di menu Esegui debug progetto in Python interattivo in Visual Studio.

Un'altra opzione consiste nell'inviare il codice scritto nell'editor di Visual Studio alla finestra interattiva. Questo approccio è descritto in Inviare codice alla finestra interattiva.

Esplorare le opzioni della finestra interattiva

È possibile controllare vari aspetti della finestra interattiva, ad esempio il percorso dei file di script di avvio e il funzionamento dei tasti di direzione all'interno dell'ambiente della finestra. Per accedere alle opzioni, selezionare Strumenti>Opzioni>Python>Interactive Windows:

Screenshot delle opzioni di Windows interattive Python in Visual Studio.

Le opzioni sono descritte in dettaglio in Opzioni finestra interattiva Python per Visual Studio.

Usare la finestra interattiva

Nella finestra interattiva è possibile iniziare a immettere la riga di codice per riga nel prompt dei >>>comandi di REPL Python. Quando si immette ogni riga, Visual Studio esegue il codice, inclusa l'importazione dei moduli necessari e la definizione delle variabili.

Quando Visual Studio rileva che una riga di codice non costituisce un'istruzione completa, il codice richiede modifiche alla continuazione ...REPL. Questo prompt indica che è necessario immettere più righe di codice per completare il blocco di istruzioni. Visual Studio attende la sintassi di chiusura prima di tentare di eseguire il blocco di codice.

Quando si definisce un'istruzione for , la prima riga di codice avvia il for blocco e termina con due punti. Il blocco può essere costituito da una o più righe di codice che definiscono le attività da completare durante il for ciclo. Quando si seleziona Invio in una riga vuota, la finestra interattiva chiude il blocco e Visual Studio esegue il codice.

Confronto REPL della riga di comando

La finestra interattiva migliora l'esperienza REPL della riga di comando Python consueta rientrando automaticamente le istruzioni che appartengono a un ambito circostante. Entrambi gli approcci consentono di usare i tasti di direzione per scorrere il codice immesso. La finestra interattiva fornisce anche elementi su più righe, mentre la riga di comando REPL fornisce solo singole righe.

Meta-comandi

La finestra interattiva supporta diversi meta-comandi. Tutti i meta-comandi iniziano con il simbolo $del dollaro . È possibile immettere $help per visualizzare un elenco di meta-comandi e $help <command> ottenere i dettagli di utilizzo per un comando specifico. La tabella seguente riepiloga i meta-comandi.

Metacomando Descrizione
$$ Inserire un commento, utile per commentare il codice in tutta la sessione.
$cls, $clear Cancellare il contenuto della finestra dell'editor, ma lasciare intatta la cronologia e il contesto di esecuzione.
$help Visualizza un elenco di comandi o la Guida su un comando specifico.
$load Caricare i comandi dal file ed eseguire fino al completamento.
$mod Impostare l'ambito corrente sul nome del modulo specificato.
$reset Reimpostare l'ambiente di esecuzione sullo stato iniziale, ma mantenere la cronologia.
$wait Attendere almeno il numero specificato di millisecondi.

È anche possibile estendere i comandi con le estensioni di Visual Studio implementando ed esportando la IInteractiveWindowCommand classe . Per altre informazioni, vedere un (esempio in GitHub).

Cambia ambito finestra interattiva

Per impostazione predefinita, la finestra interattiva per un progetto ha come ambito il file di avvio del progetto come se fosse stato eseguito il file di programma dal prompt dei comandi. Per un file autonomo, l'ambito viene impostato su tale file. In qualsiasi momento durante la sessione REPL, è possibile usare l'elenco a discesa Ambito modulo per modificare l'ambito:

Screenshot che mostra come usare il menu a discesa Ambito modulo per modificare l'ambito nella finestra interattiva in Visual Studio 2022.

Screenshot che mostra come usare il menu a discesa Ambito modulo per modificare l'ambito nella finestra interattiva.

Dopo aver importato un modulo, ad esempio import importlib, le opzioni vengono visualizzate nel menu a discesa Ambito modulo per passare a qualsiasi ambito in tale modulo. Un messaggio nella finestra interattiva segnala la modifica al nuovo ambito, in modo da poter tenere traccia di come si è arrivati a un determinato stato durante la sessione esaminando la cronologia dei comandi.

Se si immette il dir() comando in un ambito, Visual Studio visualizza identificatori validi in tale ambito, inclusi nomi di funzione, classi e variabili. L'immagine seguente mostra il risultato del dir() comando per l'ambito importlib :

Screenshot che mostra l'output nella finestra interattiva per l'ambito importlib in Visual Studio 2022.

Screenshot che mostra l'output nella finestra interattiva per l'ambito importlib.

Invia codice alla finestra interattiva

Oltre a lavorare direttamente all'interno della finestra interattiva, è possibile inviare codice nell'editor di Visual Studio alla finestra. Questo comando è utile per lo sviluppo di codice iterativo o evolutivo, tra cui il test del codice durante lo sviluppo.

  1. Aprire un file di codice nell'editor di Visual Studio e selezionare parte o tutto il codice.

  2. Fare clic con il pulsante destro del mouse sul codice selezionato e scegliere Invia a interattivo oppure usare la scelta rapida da tastiera CTRL+E, E.

    Screenshot che mostra come usare l'opzione di menu Invia a interattivo in Visual Studio 2022.

    Screenshot che mostra come usare l'opzione di menu Invia a interattivo in Visual Studio.

Modificare ed eseguire il codice

Dopo aver inviato il codice alla finestra interattiva e visualizzare l'output, è possibile modificare il codice e testare le modifiche. Usare le frecce su e giù per scorrere fino al codice nella cronologia dei comandi per la finestra. Modificare il codice ed eseguire il codice aggiornato selezionando CTRL+INVIO.

Quando si apportano modifiche, se si seleziona INVIO alla fine di un'istruzione di codice completa, Visual Studio esegue il codice. Se l'istruzione di codice non è completa, Visual Studio inserisce una nuova riga nella finestra.

Salvare il codice e rimuovere le richieste

Dopo aver completato il lavoro sul codice, è possibile selezionare il codice aggiornato nella finestra interattiva e incollarlo di nuovo nel file di progetto per salvare il lavoro.

Quando si incolla il codice dalla finestra interattiva nell'editor, Visual Studio rimuove il prompt dei comandi REPL e il prompt >>> di ... continuazione per impostazione predefinita. Questo comportamento consente di trasferire facilmente il codice dalla finestra all'editor.

È possibile modificare il comportamento con l'opzione Incolla rimuove le richieste REPL per la finestra interattiva:

  1. Selezionare Opzioni strumenti>per aprire la finestra di dialogo Opzioni.

  2. Espandere la sezione Formattazione Python>dell'editor> di testo.

  3. Deselezionare l'opzione Incolla rimuove le richieste REPL.

  1. Selezionare Opzioni strumenti>per aprire la finestra di dialogo Opzioni.

  2. Espandere la sezione Editor di testo Python Advanced .Espandi la sezione Editor>di testo Python>Advanced.

  3. Deselezionare l'opzione Incolla rimuove le richieste REPL.

Quando si deseleziona l'opzione, i caratteri di richiesta vengono mantenuti nel codice incollato dalla finestra. Per altre informazioni, vedere Opzioni - Opzioni varie.

Esaminare il comportamento di IntelliSense

La finestra interattiva include suggerimenti di IntelliSense basati sugli oggetti attivi, a differenza dell'editor di codice in cui IntelliSense è basato solo sull'analisi del codice sorgente. Di conseguenza, i suggerimenti di IntelliSense nella finestra interattiva sono più corretti, in particolare con codice generato dinamicamente. Lo svantaggio è che le funzioni con effetti collaterali come i messaggi di registrazione potrebbero influire sull'esperienza di sviluppo.

È possibile modificare il comportamento di IntelliSense tramite le opzioni completamento :

  1. Selezionare Opzioni strumenti>per aprire la finestra di dialogo Opzioni.

  2. Espandere la sezione Python>Interactive Windows.

  3. Modificare le impostazioni nel gruppo Modalità completamento, ad esempio Mai valutare le espressioni o Nascondere i suggerimenti di analisi statica.

Per altre informazioni, vedere Opzioni - Opzioni di Windows interattive.