Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Poiché si impiega molto tempo per lo sviluppo nell'editor di codice, il supporto di Python in Visual Studio offre funzionalità che consentono di essere più produttivi. Le funzionalità includono l'evidenziazione della sintassi IntelliSense, il completamento automatico, la Guida alla firma, le sostituzioni dei metodi, la ricerca e la navigazione.
L'editor di codice è integrato con la finestra interattiva in Visual Studio. Mentre si lavora, è facile scambiare codice tra le due finestre. Per altre informazioni, vedere Passaggio 3 dell'esercitazione: Usare la finestra Interattiva REPL e Usare il comando Interattivo - Invia a Interattivo.
La struttura consente di concentrarsi su sezioni specifiche del codice. Per la documentazione generale sulla modifica del codice in Visual Studio, vedere Funzionalità dell'editor di codice.
Il Visualizzatore oggetti di Visual Studio consente di esaminare le classi Python definite in ogni modulo e le funzioni definite in tali classi. È possibile accedere a questa funzionalità nel menu Visualizza o usando i tasti di scelta rapida CTRL+ALT+J.
Usare le funzionalità di IntelliSense
IntelliSense fornisce completamenti, guida alla firma, informazioni rapide e colorazione del codice. Visual Studio 2017 versioni 15.7 e successive supportano anche hint di tipo.
Per migliorare le prestazioni, IntelliSense in Visual Studio 2017 versione 15.5 e precedenti dipende da un database di completamento generato per ogni ambiente Python nel progetto. Potrebbe essere necessario aggiornare il database se si aggiungono, rimuovono o aggiornano pacchetti. Lo stato del database viene visualizzato nella finestra Ambienti Python (complementare a Esplora soluzioni) nella scheda IntelliSense . Per altre informazioni, vedere Informazioni di riferimento sulla finestra Ambienti.
Visual Studio 2017 versione 15.6 e successive usa un mezzo diverso per fornire completamenti IntelliSense che non dipendono dal database.
Completamenti
I completamenti vengono visualizzati come istruzioni, identificatori e altre parole che possono essere immesse in modo appropriato nel percorso corrente nell'editor. IntelliSense popola l'elenco di opzioni in base al contesto e filtra elementi non corretti o distratti. I completamenti vengono spesso attivati immettendo istruzioni diverse (ad esempio import) e operatori (incluso un punto), ma possono essere visualizzati in qualsiasi momento selezionando la scelta rapida da tastiera CTRL+J +Space.
Quando un elenco di completamento è aperto, è possibile cercare il completamento desiderato usando i tasti di direzione, il mouse o continuando a digitare. Quando si digitano più lettere, l'elenco viene filtrato ulteriormente per mostrare i completamenti probabili. È anche possibile usare i tasti di scelta rapida, ad esempio:
- Digitare lettere che non sono all'inizio del nome, ad esempio 'parse' per trovare 'argparse'
- Digitare solo lettere che si trovano all'inizio delle parole, ad esempio 'abc' per trovare 'AbstractBaseClass' o 'air' per trovare 'as_integer_ratio'
- Ignorare le lettere, ad esempio 'b64' per trovare 'base64'
Ecco alcuni esempi:
I completamenti dei membri vengono visualizzati automaticamente quando si digita un punto dopo una variabile o un valore, insieme ai metodi e agli attributi dei tipi potenziali. Se una variabile può essere più di un tipo, l'elenco include tutte le possibilità di tutti i tipi. Vengono visualizzate informazioni aggiuntive per indicare quali tipi supportano ogni completamento. Quando tutti i tipi possibili supportano un completamento, non viene visualizzata alcuna annotazione.
Per impostazione predefinita, i membri "dunder" (membri che iniziano e terminano con un doppio carattere di sottolineatura) non vengono visualizzati. In generale, tali membri non devono essere accessibili direttamente. Se è necessario usare una dunder, digitare il doppio carattere di sottolineatura iniziale per aggiungere questi completamenti all'elenco:
Le import istruzioni e from ... import visualizzano un elenco di moduli che possono essere importati. L'istruzione from ... import produce un elenco che include membri che possono essere importati dal modulo specificato.
Le raise e except visualizzano elenchi di classi che probabilmente sono tipi di errore. L'elenco potrebbe non includere tutte le eccezioni definite dall'utente, ma consente di trovare rapidamente le eccezioni predefinite appropriate:
La selezione del simbolo @ (@) avvia un decoratore e mostra i potenziali decoratori. Molti di questi elementi non sono utilizzabili come decoratori. Controllare la documentazione della libreria per determinare quale decorator usare.
Per altre informazioni, vedere Opzioni - risultati di completamento.
Annotazioni di tipo
Gli hint di tipo sono disponibili in Visual Studio 2017 versione 15.7 e successive.
"Suggerimenti di tipo" in Python 3.5+ (PEP 484 (python.org) è una sintassi di annotazione per funzioni e classi, che indica i tipi di argomenti, valori restituiti e attributi di classe. IntelliSense visualizza le indicazioni di tipo quando si passa sopra con il cursore del mouse sulle chiamate di funzione, sugli argomenti e sulle variabili che hanno tali annotazioni.
Nell'esempio seguente la Vector classe viene dichiarata come tipo List[float]e la scale funzione contiene hint di tipo sia per gli argomenti che per il valore restituito. Passando il puntatore del mouse su una chiamata a tale funzione vengono visualizzati gli hint di tipo:
Nell'esempio seguente è possibile vedere come vengono visualizzati gli attributi annotati della Employee classe nel popup di completamento di IntelliSense per un attributo:
È anche utile convalidare gli hint di tipo in tutto il progetto perché gli errori normalmente non vengono visualizzati fino al runtime. A questo scopo, Visual Studio integra lo strumento Mypy standard del settore tramite il comando di menu di scelta rapida Python>Esegui Mypy in Esplora soluzioni:
Eseguendo il comando, verrà richiesto di installare il pacchetto Mypy, se necessario. Visual Studio esegue quindi Mypy per convalidare gli hint di tipo in ogni file Python nel progetto. Gli errori vengono visualizzati nella finestra Elenco errori di Visual Studio. La selezione di un elemento nella finestra consente di passare alla riga appropriata nel codice.
Come esempio semplice, la definizione di funzione seguente contiene un hint di tipo per indicare che l'argomento input è di tipo str, mentre la chiamata a tale funzione tenta di passare un numero intero:
def commas_to_colons(input: str):
items = input.split(',')
items = [x.strip() for x in items]
return ':'.join(items)
commas_to_colons(1)
L'uso del comando Esegui Mypy su questo codice genera l'errore seguente:
Annotazioni
Per le versioni di Python precedenti alla 3.5, Visual Studio visualizza anche hint di tipo forniti tramite Typeshed stub file (.pyi). È possibile usare i file stub quando non si vogliono includere hint di tipo direttamente nel codice o per creare hint di tipo per una libreria che non li usa direttamente. Per altre informazioni, vedere Creare stub per i moduli Python nel wiki del progetto Mypy.
Visual Studio attualmente non supporta hint di tipo nei commenti.
Guida alla firma
Quando si scrive codice che chiama una funzione, viene visualizzata la Guida alla firma quando si digita la parentesi (di apertura . Visualizza la documentazione e le informazioni sui parametri disponibili. È possibile accedere alla funzione di aiuto firme con i tasti di scelta rapida Ctrl+Shift+Space all'interno di una chiamata a funzione. Le informazioni visualizzate dipendono dalle stringhe della documentazione nel codice sorgente della funzione, ma include tutti i valori predefiniti.
Suggerimento
Per disabilitare la Guida alla firma, passare a Strumenti>Opzioni>Editor di testo>Python>Generale. Deselezionare la casella di controllo Completamento dell'istruzione>Informazioni sui parametri.
Informazioni rapide
Quando si passa il puntatore del mouse su un identificatore, viene visualizzata una descrizione comando Informazioni rapide. A seconda dell'identificatore, le informazioni rapide potrebbero visualizzare i valori o i tipi potenziali, qualsiasi documentazione disponibile, tipi restituiti e percorsi di definizione:
Colorazione del codice
La colorazione del codice usa informazioni dall'analisi del codice a variabili di colore, istruzioni e altre parti del codice. Le variabili che fanno riferimento a moduli o classi possono essere visualizzate in un colore diverso rispetto alle funzioni o ad altri valori. I nomi dei parametri possono essere visualizzati in un colore diverso rispetto alle variabili locali o globali. Per impostazione predefinita, le funzioni non vengono visualizzate in grassetto.
Per personalizzare i colori, passare a Strumenti>Opzioni>Ambiente>Tipi di carattere e colori. Nell'elenco Visualizza elementi modificare le voci Python desiderate:
Inserire frammenti di codice
I frammenti di codice sono porzioni di codice che possono essere inserite nei file utilizzando una scelta rapida da tastiera e selezionando Tab. È anche possibile usare i comandi Modifica>IntelliSense>Inserisci Frammento e Racchiudi con, selezionare Python e quindi selezionare il frammento desiderato.
Ad esempio, class è un collegamento per un frammento di codice che inserisce una definizione di classe. Il frammento di codice viene visualizzato nell'elenco di completamento automatico quando si digita class:
La selezione di Tab genera il resto della classe. È quindi possibile digitare sopra il nome e l'elenco delle basi, spostarsi tra i campi evidenziati con Tab e selezionare INVIO per iniziare a digitare il corpo.
Comandi di menu
Quando si usa il comando di menu Modifica>intelliSense>Inserisci frammento di codice , selezionare prima Python e quindi selezionare il frammento di codice desiderato:
Il comando Edit>IntelliSense>Surround With inserisce la selezione corrente nell'editor di testo all'interno di un elemento strutturale scelto. Si supponga di avere un frammento di codice simile all'esempio seguente:
sum = 0
for x in range(1, 100):
sum = sum + x
Selezionando questo codice e scegliendo il comando Racchiudi con viene visualizzato un elenco di frammenti di codice disponibili. Scegliendo def dall'elenco dei frammenti di codice, il codice selezionato viene inserito all'interno di una definizione di funzione. È possibile usare il tasto TAB per spostarsi tra il nome della funzione evidenziato e gli argomenti:
Esaminare i frammenti di codice disponibili
È possibile visualizzare i frammenti di codice disponibili in Gestione frammenti di codice. Accedere a questa funzionalità da Strumenti>Gestione frammenti di codice e selezionare Python come linguaggio:
Per creare frammenti personalizzati, vedere Procedura dettagliata: Creare un frammento di codice.
Scrivi un frammento di codice eccezionale che vuoi condividere, puoi pubblicarlo in un gist e segnalarlo. Potrebbe essere possibile includerlo in una versione futura di Visual Studio.
Naviga il tuo codice
Il supporto di Python in Visual Studio offre diversi modi per spostarsi rapidamente all'interno del codice, incluse le librerie per le quali è disponibile il codice sorgente. È possibile trovare librerie con codice sorgente per la barra di spostamento, Vai a definizione, Vai a e Trova tutti i riferimenti. È anche possibile usare Il Visualizzatore oggetti di Visual Studio.
Barra di navigazione
La barra di spostamento viene visualizzata nella parte superiore di ogni finestra dell'editor e include un elenco a due livelli di definizioni. L'elenco a discesa a sinistra contiene definizioni di classi e funzioni di primo livello nel file corrente. Nell'elenco a discesa a destra viene visualizzato un elenco di definizioni all'interno dell'ambito visualizzato a sinistra. Mentre ci si sposta nell'editor, gli elenchi vengono aggiornati per visualizzare il contesto corrente ed è anche possibile selezionare una voce da questi elenchi per passare direttamente a.
Suggerimento
Per nascondere la barra di spostamento, passare a Strumenti>Opzioni>Editor di testo Python>>Generale e deselezionare labarra di spostamento>.
Vai a definizione
Il comando Vai a definizione passa rapidamente dall'uso di un identificatore (ad esempio un nome di funzione, una classe o una variabile) alla posizione della definizione del codice sorgente. Per richiamare il comando, fare clic con il pulsante destro del mouse su un identificatore e scegliere Vai a definizione o posizionare il cursore nell'identificatore e selezionare F12. Il comando funziona tra il codice e le librerie esterne in cui è disponibile il codice sorgente. Se il codice sorgente della libreria non è disponibile, Vai a definizione passa all'istruzione pertinente import per un riferimento a un modulo o visualizza un errore.
Vai a
Il comando Modifica>Vai a (CTRL+, ) visualizza una casella di ricerca nell'editor in cui è possibile digitare qualsiasi stringa e visualizzare le possibili corrispondenze nel codice che definisce una funzione, una classe o una variabile contenente tale stringa. Questa caratteristica offre una capacità simile a Vai a definizione, ma senza dover trovare un identificatore.
Per passare alla definizione dell'identificatore, fare doppio clic su qualsiasi nome o selezionare il nome con i tasti di direzione seguiti da Invio.
Trova tutti i riferimenti
La funzionalità Trova tutti i riferimenti è un modo utile per individuare dove qualsiasi identificatore specificato è definito e usato, incluse le importazioni e le assegnazioni. Per richiamare il comando, fare clic con il pulsante destro del mouse su un identificatore e scegliere Trova tutti i riferimenti oppure posizionare il cursore nell'identificatore e selezionare MAIUSC+F12. Se si fa doppio clic su un elemento nell'elenco, si passa alla relativa posizione.