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.
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 in Windows installato con il supporto per i carichi di lavoro Python. Per altre informazioni, vedere Installare il supporto python in Visual Studio.
Visual Studio per Mac non è 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:
Selezionare Visualizza>altri ambienti Python di Windows>per aprire la finestra Ambienti Python o usare la tastiera CTRL K>CTRL.++`
Nella finestra Ambienti Python selezionare un ambiente e passare alla pagina Panoramica per l'ambiente.
Nella pagina Panoramica selezionare l'opzione Apri finestra interattiva.
Dal menu Visualizza dello strumento di Visual Studio selezionare Altra finestra interattiva di Windows>Python:
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:
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:
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:
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
:
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.
Aprire un file di codice nell'editor di Visual Studio e selezionare parte o tutto il codice.
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.
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:
Selezionare Opzioni strumenti>per aprire la finestra di dialogo Opzioni.
Espandere la sezione Formattazione Python>dell'editor> di testo.
Deselezionare l'opzione Incolla rimuove le richieste REPL.
Selezionare Opzioni strumenti>per aprire la finestra di dialogo Opzioni.
Espandere la sezione Editor di testo Python Advanced .Espandi la sezione Editor>di testo Python>Advanced.
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 :
Selezionare Opzioni strumenti>per aprire la finestra di dialogo Opzioni.
Espandere la sezione Python>Interactive Windows.
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.