Esaminare le funzionalità di completamento del codice di GitHub Copilot
GitHub Copilot fornisce suggerimenti di tipo completamento automatico durante l'immissione del codice. Oltre ai suggerimenti di completamento automatico standard, GitHub Copilot fornisce anche suggerimenti di modifica successivi (NES), che stimano la posizione della modifica successiva che è probabile che venga apportata e suggerisca un completamento.
Quando si eseguono le azioni seguenti, si ricevono suggerimenti di tipo completamento automatico:
- Immettere una riga di codice parziale o completa nell'editor.
- Immettere un commento di codice parziale o completo nell'editor.
- Immettere una riga di codice vuota nell'editor.
I suggerimenti di modifica successivi vengono visualizzati automaticamente durante la modifica del codice. Stimano quale modifica è probabile che venga apportata successivamente in base alle modifiche recenti e vengono visualizzate con un indicatore speciale che mostra la posizione di modifica suggerita.
Generare un suggerimento di completamento automatico
GitHub Copilot accelera lo sviluppo di app suggerendo completamenti del codice in base al codice scritto.
Si supponga, ad esempio, di voler creare un metodo C# denominato addInt che restituisca la somma di due interi. Se si inizia a digitare la firma del metodo, GitHub Copilot suggerisce il codice che ritiene di voler creare.
Il completamento automatico suggerito viene visualizzato senza evidenziazione della sintassi colorata. Ciò consente di distinguere il completamento automatico dal codice esistente. È possibile accettare il codice suggerito premendo il tasto Tab.
È possibile premere ESC per ignorare un suggerimento.
L'esempio addInt è un po' semplicistico, quindi ci si potrebbe chiedere come GitHub Copilot funziona con qualcosa di più complesso.
Si supponga di voler creare un metodo che accetti un elenco di numeri e restituisca la somma dei numeri primi contenuti nell'elenco. È possibile denominare il metodo addPrimeNumbersInNumericList. Quando si inizia a digitare la firma del metodo, GitHub Copilot genera automaticamente un suggerimento. Per esempio:
È importante rivedere i suggerimenti prima di accettarli. Il completamento automatico ha un aspetto ottimale, quindi è possibile accettare il suggerimento premendo TAB.
Continuiamo lo scenario un po' più avanti.
Dopo aver unito il suggerimento al codice, si noterà che il isPrime metodo è sottolineato in rosso. Questo perché il isPrime metodo non esiste ancora nel codice.
GitHub Copilot è addestrato per seguire le migliori pratiche, che includono la suddivisione di problemi complessi in parti più piccole e gestibili. In questo caso, GitHub Copilot suggerisce di creare un metodo isPrime separato per verificare se un numero è primo.
GitHub Copilot è pronto a suggerire un frammento di codice per il metodo isPrime. Quando si immette una riga vuota sotto il metodo
I suggerimenti di completamento automatico accelerano il processo di sviluppo fornendo frammenti di codice. Ma cosa succede se i suggerimenti non sono proprio quello di cui hai bisogno? GitHub Copilot fornisce un'interfaccia per la gestione dei suggerimenti di completamento automatico.
Gestire i suggerimenti di completamento automatico
Quando GitHub Copilot suggerisce un completamento automatico, fornisce anche un'interfaccia per la gestione dei suggerimenti. È possibile accettare un suggerimento, esaminare altri suggerimenti o ignorare i suggerimenti.
Quando si passa il puntatore del mouse su un completamento automatico suggerito, vengono visualizzate diverse opzioni per la gestione dei suggerimenti.
L'interfaccia predefinita per la gestione dei suggerimenti include le opzioni seguenti:
- Accettare il suggerimento (completo) selezionando Accetta. È anche possibile accettare il suggerimento premendo il tasto Tab.
- Accettare parzialmente il suggerimento selezionando Accept Word. È anche possibile accettare parzialmente un suggerimento premendo i
Ctrl+→tasti (freccia destra). - Visualizzare suggerimenti alternativi selezionando
>o<. È anche possibile visualizzare i suggerimenti alternativi premendo iAlt+]tasti o .Alt+[
Se si seleziona l'opzione Accetta Parola, si accetta la parola successiva in un suggerimento. Ciò è utile quando si vuole accettare parte del suggerimento e quindi continuare a digitare il proprio codice. Ad esempio, è possibile accettare la prima parola del suggerimento del isPrime metodo.
Continua a selezionare Accept Word fino a quando non hai accettato la maggior parte del suggerimento desiderato.
Selezionando l'icona con i puntini di sospensione (...) a destra del pulsante Accetta Word sono disponibili opzioni aggiuntive, ad esempio Always Show Toolbar e Open Completions Panel.
Se si seleziona l'opzione Mostra sempre barra degli strumenti, la barra degli strumenti rimane visibile quando si usano i tasti di scelta rapida per gestire i suggerimenti di completamento automatico. Selezionando l'opzione Apri pannello completamenti si apre il pannello GitHub Copilot Completamenti. La visualizzazione di più suggerimenti tramite il pannello di completamento GitHub Copilot è illustrata alla fine di questa unità.
Annotazioni
Per accettare un'intera riga di un suggerimento, è necessario configurare un tasto di scelta rapida personalizzato per il editor.action.inlineSuggest.acceptNextLine comando. Questa opzione non è disponibile per impostazione predefinita nella barra degli strumenti.
Generare suggerimenti di codice dai commenti
Oltre a suggerire un completamento automatico basato sul codice, GitHub Copilot può usare commenti di codice per suggerire frammenti di codice. Usare frasi in linguaggio naturale per descrivere il codice che si vuole creare. In questo modo, GitHub Copilot propone suggerimenti di completamento automatico che soddisfano requisiti specifici. Ad esempio, è possibile specificare il tipo di algoritmo da usare in un calcolo o quali metodi e proprietà si desidera aggiungere a una classe.
Torniamo all'esempio di numero primo. A questo punto, si dispone del codice seguente:
I addPrimeNumbersInNumericList metodi e isPrime sembrano essere completi. Tuttavia, è comunque necessario un elenco di numeri che possono essere usati come argomento quando si chiama il addPrimeNumbersInNumericList metodo . È possibile scrivere un commento che descrive l'elenco di numeri desiderati. Ad esempio, un elenco di 100 numeri casuali compresi tra 1 e 1000.
Quando si inizia a immettere il commento, GitHub Copilot suggerisce un completamento automatico che completa automaticamente il commento. GitHub Copilot usa il codice circostante per migliorarne i suggerimenti. Ad esempio, se si inizia a immettere il commento // create, GitHub Copilot usa il codice circostante per stimare ciò che si vuole creare. In questo caso GitHub Copilot usa il metodo addPrimeNumbersInNumericList per stimare che si vuole creare a list of numbers.
Quando si continua a scrivere il commento, GitHub Copilot aggiorna il suggerimento di completamento automatico. Quando si è pronti ad accettare il suggerimento, selezionare Accetta o premere TAB.
Quando si crea una nuova riga di codice dopo il commento, GitHub Copilot inizia a generare un frammento di codice in base al commento e al codice esistente.
Accettare ognuno dei suggerimenti visualizzati.
Se GitHub Copilot non ha finito, genera un altro suggerimento da accettare.
Se si immette una nuova riga di codice al termine del frammento di codice, GitHub Copilot genera un altro suggerimenti di completamento automatico in base ai requisiti del progetto di codice. In questo caso, GitHub Copilot suggerisce una riga di codice che chiama il metodo addPrimeNumbersInNumericList, passando l'elenco denominato numbers.
Visualizzare più suggerimenti usando il pannello del completamento di GitHub Copilot
Se non sei soddisfatto dei suggerimenti iniziali di completamento automatico, GitHub Copilot può aprire una nuova scheda nell'editor mostrando altre opzioni. È possibile esaminare l'elenco più ampio di suggerimenti per trovare una corrispondenza migliore e quindi selezionarlo.
Per illustrare questa funzionalità, torniamo a una fase precedente dell'esempio di numeri primi.
Si supponga di dover comunque creare il isPrime metodo . Quando si immette una riga vuota sotto il metodo
Per aprire il pannello dei completamenti di GitHub Copilot, e visualizzare altri suggerimenti, premere i tasti Ctrl + Enter. È anche possibile aprire il menu Altre azioni e selezionare Apri pannello completamenti.
Il pannello completamento GitHub Copilot visualizza fino a 10 altri suggerimenti. Esaminare i suggerimenti per trovare quello più adatto alle proprie esigenze.
Per accettare un suggerimento, selezionare l'etichetta Accetta suggerimento NUMERO sotto alla proposta. Ad esempio, selezionare l'etichetta Accetta suggerimento 1 sotto il primo suggerimento.
Per rifiutare tutti i suggerimenti, chiudere la scheda.
Riassunto
Suggerimenti di completamento automatico e suggerimenti di modifica successivi consentono di scrivere codice in modo più efficiente e accurato. GitHub Copilot fornisce suggerimenti di completamento automatico durante l'immissione del codice e suggerimenti di modifica successivi che prevedono la prossima modifica probabile. È possibile generare un suggerimento di completamento automatico immettendo una riga di codice parziale o completa, un commento di codice parziale o completo o una riga di codice vuota. È possibile accettare un suggerimento premendo TAB oppure ignorare i suggerimenti premendo ESC. È possibile gestire i suggerimenti usando la barra degli strumenti visualizzata quando si passa il puntatore del mouse su un suggerimento. La barra degli strumenti consente di esaminare suggerimenti alternativi, accettare un suggerimento, accettare una parola di un suggerimento, o aprire il pannello Completamenti di GitHub Copilot per visualizzare altri suggerimenti.