Esaminare le funzionalità di sviluppo del codice di GitHub Copilot
Visual Studio Code implementa GitHub Copilot usando due estensioni, GitHub Copilot e GitHub Copilot Chat. Queste estensioni aumentano la produttività degli sviluppatori, generando suggerimenti che estendono o migliorano le applicazioni. Ciascuna estensione offre un set di funzionalità che consentono di sviluppare codice in modo più efficiente:
- L'estensione GitHub Copilot genera suggerimenti di completamento del codice usando il codice immesso nell'editor o nei commenti del codice.
- L'estensione GitHub Copilot Chat genera suggerimenti di codice basati su interazioni di chat o azioni intelligenti che agiscono sul codice selezionato.
Nota
In questo modulo si usano le estensioni GitHub Copilot per sviluppare nuove funzionalità e applicazioni di codice. Esistono due moduli separati che riguardano l'uso di GitHub Copilot per creare unit test e apportare miglioramenti al codice esistente.
Gli strumenti di GitHub Copilot per Visual Studio Code
Visual Studio Code consente di accedere facilmente alle funzionalità di chat di GitHub Copilot e GitHub Copilot seguenti:
- Completamenti di righe di codice: usando completamenti di righe di codice per scrivere codice in modo più efficiente.
- Chat inline: avviare una conversazione inline di chat direttamente dall'editor per assistenza durante la scrittura del codice.
- Visualizzazione chat: aprire un assistente di intelligenza artificiale sul lato che consente di aiutarti in qualsiasi momento.
- Chat veloce: porre una domanda rapida e tornare a quello che stai facendo.
- Azioni intelligenti: eseguire azioni intelligenti per completare determinate attività senza dover scrivere una richiesta.
Le estensioni GitHub Copilot portano la potenza dell'intelligenza artificiale nell'ambiente Visual Studio Code.
Generare codice usando i completamenti della riga di codice con GitHub Copilot
GitHub Copilot genera completamenti di righe di codice mentre inserisci il codice. Il codice già presente nell'applicazione fornisce contesto che GitHub Copilot usa per generare suggerimenti accurati. Supponiamo, ad esempio, di lavorare su una classe che gestisce le spese dei clienti. La classe utilizza un elenco che contiene spese per tutti i clienti. È necessario creare un metodo che restituisca la somma di tutte le spese. Se si inizia a immettere la firma del metodo, GitHub Copilot genera un suggerimento che completa la riga di codice.
Se si è soddisfatti del suggerimento, premere TAB o selezionare Accetta. Le operazioni di completamento automatico consentono di risparmiare tempo e di scrivere codice in modo preciso, specificando i nomi delle variabili e altri elementi di codice.
È anche possibile usare i completamenti della riga di codice per visualizzare diverse opzioni per la costruzione del codice. Ad esempio, se si inizia a digitare l'enunciato di chiamata per un metodo, GitHub Copilot fornisce suggerimenti che implementano le diverse varianti di sovraccarico del metodo. È possibile scorrere i suggerimenti e accettare l'opzione corrispondente alla propria finalità. È anche possibile rifiutare tutti i suggerimenti. Questo processo consente di esplorare rapidamente diversi stili e tecniche di scrittura del codice.
GitHub Copilot genera anche suggerimenti di completamento della riga di codice dai commenti del codice. Ad esempio, se si digita un commento che descrive un metodo da creare, GitHub Copilot genera un suggerimento per la firma e l'implementazione del metodo.
Si noti che il completamento del codice suggerito utilizza le informazioni del codice esistente e il commento di codice che descrive il metodo.
Gli sviluppatori usano i completamenti del codice per accelerare lo sviluppo di una struttura di codice iniziale.
Generare codice usando GitHub Copilot Chat
GitHub Copilot Chat consente di creare codice usando interfacce di chat e azioni intelligenti. Ad esempio, se si immette una richiesta di chiedere GitHub Copilot Chat di creare un nuovo metodo, GitHub Copilot fornisce suggerimenti per una o più firme e implementazioni del metodo. La revisione e l'accettazione o l'eliminazione dei suggerimenti consentono di creare una versione iniziale del codice in modo più rapido e preciso.
Nota
L'estensione GitHub Copilot Chat per Visual Studio Code include un'interfaccia di chat che elabora l'input dell'utente. Questo training usa i termini domanda e prompt quando si fa riferimento all'input fornito durante una sessione di chat.
GitHub Copilot Chat è particolarmente utile quando è necessario sviluppare codice che implementa risorse sconosciute, ad esempio una nuova libreria, un framework o un'API. Quando si invia un prompt che descrive le esigenze, GitHub Copilot Chat genera suggerimenti che illustrano come raggiungere l'obiettivo. La revisione dei suggerimenti può anche insegnare a implementare le nuove risorse.
Fornire a GitHub Copilot Chat richieste o domande con un ambito e un intento chiari migliora le risposte generate. È possibile porre domande che forniscono contesto e descrivono i requisiti in uno stile di conversazione. GitHub Copilot Chat usa le informazioni fornite per generare suggerimenti di codice che soddisfino le proprie esigenze e corrispondano allo stile di scrittura del codice.
È possibile usare i partecipanti alla chat, i comandi slash e le variabili di chat per chiarire il contesto dei prompt.
- I partecipanti alla chat, ad esempio
@workspaceo@terminal, aiutano GitHub Copilot Chat a comprendere il contesto della domanda. - Comandi slash, ad esempio
/explaino/new, aiutano GitHub Copilot Chat a comprendere la finalità o lo scopo della domanda. - Le variabili di chat, ad esempio
#fileo#editor, aiutano Copilot Chat a concentrarsi su qualcosa di specifico quando si considera il contesto più ampio della domanda.
L'uso di questi descrittori specializzati aiuta GitHub Copilot Chat a generare risposte più accurate e utili.
È possibile combinare i partecipanti alla chat con i comandi slash per eseguire azioni specifiche. Ad esempio, è possibile eseguire lo scaffolding di una nuova applicazione console C# usando il prompt seguente: @workspace /new console application in C#. Questo prompt include un partecipante alla chat (@workspace) e un comando slash (/new) per consentire GitHub Copilot Chat di eseguire l'attività desiderata.
GitHub Copilot può configurare aree di lavoro più complesse. Ad esempio, il prompt seguente crea l'area di lavoro per un'applicazione Node.js che usa il framework Express, il motore del modello Pug e TypeScript: @workspace /new Node.js Express Pug TypeScript.
Generare codice con GitHub Copilot Chat usando la visualizzazione Chat
La visualizzazione Chat in Visual Studio Code fornisce l'accesso a un assistente di intelligenza artificiale che consente di sviluppare codice. È possibile porre domande e ottenere assistenza dall'assistente di intelligenza artificiale senza uscire dall'ambiente Visual Studio Code. La visualizzazione Chat offre assistenza quando si sviluppa codice e quando si esplorano gli approcci per risolvere problemi di codifica difficili. È anche possibile usare la visualizzazione Chat per porre domande sul codice esistente, per ricevere assistenza sugli errori o la logica di codifica e per ottenere informazioni sull'uso delle risorse del progetto. La visualizzazione Chat consente di apprendere nuove tecniche di scrittura del codice, esplorare stili differenti scrittura del codice e migliorare le competenze in questo ambito.
La visualizzazione Chat si apre nel proprio pannello a destra dell'editor di codice di Visual Studio Code. Per aprire la visualizzazione Chat, selezionare Chat dalla barra del titolo Visual Studio Code oppure usare il tasto di scelta rapida Ctrl+ALT+I.
Se è necessario più spazio sullo schermo in Visual Studio Code, è possibile aprire la visualizzazione Chat in una finestra separata selezionando Apri chat in nuova finestra dal menu di scelta rapida della visualizzazione Chat.
GitHub Copilot Chat offre risultati avanzati e interattivi che includono gli elementi seguenti:
- Testo semplice. Ad esempio, per fornire una risposta in linguaggio naturale a una domanda.
- Immagini. Ad esempio, per visualizzare un diagramma o uno screenshot.
- Pulsanti. Ad esempio, per attivare un'azione.
- Riferimenti. Ad esempio, un URI (Uniform Resource Identifier) in cui è possibile trovare altre informazioni.
- Strutture ad albero dei file Ad esempio, per visualizzare un'anteprima dell'area di lavoro quando un partecipante della chat propone di creare una nuova area di lavoro.
L'esempio seguente mostra la risposta per un prompt usato per creare un'app Express. GitHub Copilot Chat fornisce una semplice spiegazione testuale, una visualizzazione albero che mostra una struttura dell'area di lavoro suggerita e un pulsante che può essere usato per creare la nuova area di lavoro.
GitHub Copilot mantiene una cronologia della conversazione. La cronologia viene usata per migliorare le risposte e le domande di completamento suggerite da GitHub Copilot Chat.
Gestire blocchi di codice nella visualizzazione Chat
A seconda della domanda, GitHub Copilot Chat può restituire il codice sorgente nella risposta. Il codice sorgente viene visualizzato come blocco di codice ed è possibile gestire il codice in vari modi.
Se si passa il puntatore del mouse sul blocco di codice, vengono visualizzate le opzioni per la gestione del blocco. Le opzioni iniziali sono Applica, Inserisci (CTRL+INVIO) e Copia.
Il pulsante Altre azioni (...) visualizza le opzioni da inserire nel terminale (CTRL+ALT+INVIO) e Inserisci nel nuovo file.
Se GitHub Copilot Chat rileva che un blocco di codice contiene un comando, è possibile eseguirlo direttamente nel terminale integrato con Insert nel terminale (CTRL+ALT+INVIO). Questa opzione crea o apre il terminale attivo e inserisce il testo del comando, pronto per l'esecuzione.
Generare codice con GitHub Copilot Chat usando chat inline
L'interfaccia di chat inline consente di accedere a potenti funzionalità di intelligenza artificiale, mantenendo la concentrazione sul codice. Quando si lavora nell'editor di codice, è possibile aprire la chat inline premendo CTRL+I sulla tastiera.
È possibile usare la chat inline nelle seguenti modalità:
- Per porre domande sul codice esistente.
- Per modificare o sostituire il codice esistente.
- Per generare un nuovo codice.
Creare una nuova funzionalità usando la chat inline
L'interfaccia di chat inline può essere usata per sviluppare nuove funzionalità di codice. Ad esempio, è possibile usare la chat inline per creare un nuovo componente dell'interfaccia utente, un nuovo endpoint API o una nuova pipeline di elaborazione dati.
È possibile creare una nuova funzionalità di codice usando la chat inline e completando i passaggi seguenti:
Selezionare il codice nell'editor.
Aprire l'interfaccia della chat inline premendo CTRL+I sulla tastiera.
Immettere un prompt che descrive la funzionalità che si vuole creare.
Esaminare i suggerimenti forniti da GitHub Copilot Chat e perfezionare la richiesta, se necessario.
Una volta soddisfatti del risultato, accettare un suggerimento.
Ecco un esempio che illustra come creare un nuovo metodo con la chat inline:
Creare espressioni regolari usando chat inline
Le espressioni regolari sono modelli usati per trovare le corrispondenze con le combinazioni di caratteri nelle stringhe. Alcuni sviluppatori trovano le espressioni regolari difficili da scrivere perché possono essere complesse e complicate da capire.
L'interfaccia di chat inline può essere usata per generare espressioni regolari in modo rapido e preciso. Ad esempio, è possibile usare la chat inline per generare espressioni regolari per convalidare indirizzi di posta elettronica, numeri di telefono, codici postali e altri modelli di dati.
È possibile creare un'espressione regolare usando una chat inline e completando i passaggi seguenti:
Selezionare il codice nell'editor.
Aprire l'interfaccia della chat inline premendo CTRL + I sulla tastiera.
Immettere un prompt che descrive il modello di dati da convalidare.
Esaminare i suggerimenti forniti da GitHub Copilot Chat e, una volta soddisfatti, accettare un suggerimento.
Di seguito, viene riportato un esempio che illustra come creare un'espressione regolare per gli indirizzi di posta elettronica usando la chat inline:
È sempre importante esaminare le risposte generate da GitHub Copilot Chat.
GitHub Copilot Chat suggerisce l'espressione regolare seguente per convalidare gli indirizzi di posta elettronica: ^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$.
Si dedichi qualche minuto per valutare l'espressione regolare suggerita.
^: questo simbolo indica l'inizio di una riga. L'indirizzo di posta elettronica deve iniziare qui.
[a-zA-Z0-9_.+-]+: questa parte dell'espressione corrisponde a uno o più caratteri (+) all'interno delle parentesi quadre ([]). I caratteri possono essere minuscoli (a-z), maiuscoli (A-Z), numerici (0-9) o caratteri speciali come carattere di sottolineatura (_), punto (.), più (+) o trattino (-).
@: questa parte dell'espressione è il simbolo "at" (@). È un carattere letterale nell'indirizzo di posta elettronica.
[a-zA-Z0-9-]+: questa parte dell'espressione è simile alla prima, ma è per la parte del nome di dominio del messaggio di posta elettronica. Può contenere uno o più caratteri minuscoli, maiuscoli, numerici o trattini (-).
\.: questa parte dell'espressione è un carattere letterale (.) Separa il nome di dominio dall'estensione di dominio.
[a-zA-Z0-9-.]+: questa parte dell'espressione corrisponde all'estensione del dominio. Può contenere uno o più caratteri minuscoli, maiuscoli, numerici, trattini (-) o punti (.).
$: questo simbolo indica la fine di una riga. L'indirizzo di posta elettronica deve terminare qui.
In generale, questa espressione regolare è un buon punto di partenza per la convalida degli indirizzi di posta elettronica, ma presenta alcune limitazioni e potrebbe non coprire tutti i formati di posta elettronica validi. Si potrebbe volere prendere in considerazione l'uso di modelli più completi o persino librerie di convalida della posta elettronica dedicate per le applicazioni critiche.
Riepilogo
Le estensioni GitHub Copilot consentono agli sviluppatori di scrivere codice più velocemente e con un minor numero di errori. L'estensione GitHub Copilot genera suggerimenti di completamento del codice usando il codice immesso nell'editor o nei commenti del codice. L'estensione GitHub Copilot Chat genera suggerimenti di codice basati su interazioni di chat o azioni intelligenti che agiscono sul codice selezionato.