Esaminare le funzionalità di sviluppo del codice di GitHub Copilot

Completato

GitHub Copilot è integrato in Visual Studio Code, portando l'assistenza basata sull'intelligenza artificiale direttamente nell'ambiente di sviluppo. GitHub Copilot aumentare la produttività degli sviluppatori generando suggerimenti che estendono o migliorano le applicazioni. GitHub Copilot offre due modi principali per generare suggerimenti di codice:

  • Suggerimenti Inline: GitHub Copilot genera suggerimenti di completamento del codice usando il codice immesso nell'editor o nei commenti del codice.
  • interazioni Chat: GitHub Copilot genera suggerimenti di codice basati su interazioni di chat o azioni intelligenti che agiscono sul codice selezionato.

Nota

In questo modulo si userà GitHub Copilot per sviluppare nuove funzionalità e applicazioni di codice. Sono disponibili moduli separati che riguardano l'uso di GitHub Copilot per creare unit test e l'uso di GitHub Copilot per apportare miglioramenti al codice esistente.

strumenti di GitHub Copilot in Visual Studio Code

Visual Studio Code consente di accedere facilmente alle seguenti funzionalità di GitHub Copilot e chat di GitHub Copilot:

  • Completamenti di righe di codice: usando completamenti di righe di codice per scrivere codice in modo più efficiente. Sono inclusi i suggerimenti di testo fantasma nel cursore e i successivi suggerimenti di modifica (NES) che prevedono dove verrà eseguita la modifica successiva e cosa dovrebbe essere.
  • 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. La visualizzazione Chat utilizza un selettore di agente per determinare come opera GitHub Copilot: Ask per aiuto conversazionale, Plan per ricercare e progettare un piano di implementazione prima di scrivere codice, o Agent per lavorare in modo autonomo su più file.
  • Chat veloce: porre una domanda rapida e tornare a quello che stai facendo. Usare il tasto di scelta rapida Ctrl+MAIUSC+ALT+L per aprire Quick Chat oppure selezionarlo dal menu Chat nella barra del titolo Visual Studio Code.
  • Azioni intelligenti: eseguire azioni intelligenti per completare determinate attività senza dover scrivere una richiesta.

GitHub Copilot porta la potenza dell'IA nell'ambiente Visual Studio Code.

Generare codice usando i completamenti della riga di codice con GitHub Copilot

GitHub Copilot genera due tipi di suggerimenti inline durante la scrittura del codice.

I suggerimenti di testo fantasma vengono visualizzati nella posizione del cursore durante la digitazione. 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.

Screenshot che mostra un completamento della riga di codice in base al 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'istruzione di chiamata per un metodo, GitHub Copilot fornisce suggerimenti che implementano i vari sovraccarichi 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.

Screenshot che mostra un completamento della riga di codice basato su un commento.

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 completamenti di testo fantasma per accelerare lo sviluppo di una struttura di codice iniziale.

I suggerimenti di modifica successivi (NES) si spingono oltre i suggerimenti inline prevedendo non solo cosa verrà ma dove apportare la modifica successiva, anche se dovesse trovarsi in un altro punto del file. Quando si rinomina una variabile, si modifica un tipo di dati o si corregge un errore di logica, NES suggerisce le modifiche successive che devono essere apportate per mantenere coerente il codice. Una freccia di gutter nell'editor indica che è disponibile un suggerimento. Premere TAB per passare a esso, quindi premere di nuovo TAB per accettarlo. Verranno esaminati in dettaglio sia i completamenti del testo fantasma che i suggerimenti di modifica successivi nell'unità successiva.

Generare codice con GitHub Copilot Chat

GitHub Copilot Chat consente di creare codice usando interfacce di chat e azioni intelligenti. Ad esempio, se si immette una richiesta che richiede 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

GitHub Copilot in 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 non note, 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'intenzione 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 @terminal, aiutano GitHub Copilot Chat comprendere il contesto della domanda.
  • I comandi Slash, ad esempio /explain o /new, consentono a GitHub Copilot Chat di comprendere la finalità o lo scopo della domanda.
  • Le variabili di chat, ad esempio #file o #editor, consentono di Copilot Chat concentrarsi su qualcosa di specifico quando si considera il contesto più ampio della domanda.

L'uso di questi descrittori specializzati aiuta GitHub Copilot Chat generare risposte più accurate e utili.

È possibile usare i comandi slash per eseguire azioni specifiche in Copilot Chat. Ad esempio, è possibile eseguire lo scaffolding di una nuova applicazione console C# usando il prompt seguente:

/new console application in C#

Questo prompt utilizza un comando slash (/new) per aiutare GitHub Copilot Chat a eseguire l’attività prevista.

GitHub Copilot può eseguire lo scaffolding di progetti più complessi. Ad esempio, il prompt seguente crea un'area di lavoro per un'applicazione Node.js che usa il framework Express, il motore di modelli Pug e TypeScript:

/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 Move Chat into Editor Area o Move Chat into New Window dal menu di scelta rapida della visualizzazione Chat.

Screenshot del menu

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.

Screenshot che mostra la visualizzazione Chat con il pulsante

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 nell'editor, Inserisci al cursore (CTRL+INVIO) e Copia. L'immagine seguente mostra l'opzione Copia selezionata.

Screenshot che mostra un blocco di codice nella visualizzazione Chat con l'opzione Copia selezionata.

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.

Screenshot che mostra l'opzione Inserisci nel terminale nella visualizzazione Chat.

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.

Per creare una nuova funzionalità di codice usando la chat inline:

  1. Posizionare il cursore nell'editor in cui si desidera inserire il nuovo codice.

  2. Aprire la chat inline premendo CTRL+I sulla tastiera.

  3. Immettere un prompt che descrive la funzionalità che si vuole creare. Per esempio:

    Create a method that reads a list of sales records and calculates the total revenue by product category.
    
  4. Esaminare il suggerimento e perfezionare la richiesta se il risultato non corrisponde alla finalità.

  5. Selezionare Accetta per applicare il suggerimento.

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.

Per creare un'espressione regolare usando la chat inline:

  1. Selezionare il codice nell'editor in cui si vuole aggiungere la convalida.

  2. Aprire la chat inline premendo CTRL+I sulla tastiera.

  3. Immettere un prompt che descrive il modello di dati da convalidare. Per esempio:

    I want to create a regular expression to validate email addresses.
    
  4. Esamina il suggerimento e seleziona Accetta una volta che sei soddisfatto.

Riepilogo

GitHub Copilot consente agli sviluppatori di scrivere codice più velocemente e con un minor numero di errori. Genera suggerimenti di completamento del codice inline usando il codice immesso nell'editor o nei commenti del codice e genera suggerimenti sul codice in base alle interazioni di chat o alle azioni intelligenti che agiscono sul codice selezionato.