Generare codice usando GitHub Copilot Chat

Completato

L'estensione GitHub Copilot Chat per Visual Studio Code supporta le interfacce di chat seguenti:

  • La visualizzazione Chat offre un assistente di intelligenza artificiale disponibile per aiutarti in qualsiasi momento.

  • La finestra Chat rapida può essere usata per porre una domanda rapida e quindi tornare a quello che si sta facendo.

  • L'interfaccia Chat inline si apre direttamente nell'editor per le interazioni contestuali durante la scrittura del codice.

La visualizzazione Chat e la finestra Chat rapida consentono conversazioni interattive a più turni con l'intelligenza artificiale. Entrambe queste interfacce consentono di porre domande, ottenere assistenza per un problema di scrittura del codice e generare codice. La visualizzazione Chat è un'interfaccia più affidabile che offre un'esperienza di chat completa, mentre la finestra Chat rapida è progettata per interazioni rapide.

L'interfaccia della chat inline è progettata per fornire suggerimenti di codice e guida contestuali durante la scrittura del codice. L'interfaccia della chat inline è disponibile nell'editor e consente di porre domande e ottenere assistenza con frammenti di codice specifici.

Generare codice usando la visualizzazione Chat

La visualizzazione Chat offre un ambiente gestito per le conversazioni tra l'utente e il programmatore della coppia di intelligenza artificiale. È possibile usare la visualizzazione Chat per porre domande, ottenere assistenza per la scrittura di codice e generare codice. La visualizzazione Chat è progettata per essere un'esperienza più interattiva e conversazionale rispetto all'interfaccia di chat inline.

Per impostazione predefinita, la visualizzazione Chat si trova nella barra laterale secondaria sul lato destro della finestra Visual Studio Code.

La visualizzazione Chat supporta tre agenti predefiniti: Ask, Plan e Agent. È possibile selezionare un agente dal selettore agente nella visualizzazione Chat.

Usare l'agente Ask per generare codice

L'agente Ask è progettato per analizzare il codice e analizzare le opzioni per le nuove funzionalità prima di suggerire implementazioni del codice. Quando si usa l'agente Ask, GitHub Copilot funge da assistente per conversazioni che può fornire risposte alle domande e aiutare a scrivere codice o nuove funzionalità.

  1. Aprire la vista Chat e selezionare Chiedi dal selettore di agenti.

  2. Aggiungere il contesto alla chat.

    L'agente per le domande supporta i partecipanti alla chat, i comandi slash e le variabili di chat. È possibile aggiungere il @workspace partecipante alla chat o #codebase alla chat per fornire contesto insieme a file o cartelle.

  3. Porre domande che consentono di valutare la nuova funzionalità che si vuole implementare.

    Ad esempio, è possibile chiedere GitHub Copilot di comprendere come implementare una nuova funzionalità o come usare una libreria specifica.

    • Come si aggiunge una pagina di accesso?
    • Quali sono le procedure consigliate per l'uso di React?
    • Come si usa la @mui/material libreria?
  4. Creare un prompt che descrive la funzionalità di codice che si vuole implementare.

    Il prompt deve includere una descrizione della funzionalità di codice che si vuole implementare. Per esempio:

    Create the code to obtain a book title. Prompt the user to "Enter a book title to search for". Read the user input and ensure the book title isn't null.
    
  5. Esaminare il codice suggerito nella visualizzazione Chat.

    La risposta visualizzata nella visualizzazione Chat deve includere un frammento di codice che è possibile usare per implementare la funzionalità. È possibile immettere altre richieste per perfezionare il codice o richiedere altri dettagli.

  6. Per implementare il codice suggerito, è possibile posizionare il puntatore del mouse sul frammento di codice e quindi selezionare tra le opzioni Applica, Inserisci e Copia .

    • Applica: applica il suggerimento di codice al file corrente nell'editor.
    • Inserisci: inserisce il suggerimento di codice nella posizione corrente del cursore nell'editor.
    • Copia: copia il suggerimento del codice negli appunti.

    Screenshot che mostra la visualizzazione Chat con l'agente Ask che suggerisce un aggiornamento del codice.

  7. Continuare a eseguire l'iterazione e perfezionare la nuova funzionalità con altri prompt, se necessario.

Usare l'agente di piano per pianificare prima della codifica

L'agente di piano è progettato per facilitare la ricerca e la pianificazione di un'attività prima di scrivere codice. Quando si usa l'agente di piano, GitHub Copilot analizza la codebase, pone domande chiare e crea un piano di implementazione strutturato e dettagliato. Una volta finalizzato il piano, è possibile consegnarlo a un agente di implementazione.

  1. Aprire la visualizzazione Chat e selezionare Plan (Pianifica) dal selettore dell'agente.

  2. Aggiungere il contesto alla chat.

    L'agente del piano utilizza strumenti di sola lettura e analisi della codebase per esaminare il tuo compito. È possibile aggiungere file e cartelle alla chat per fornire un contesto aggiuntivo.

  3. Creare un prompt che descrive l'attività che si vuole pianificare.

    Il prompt deve includere una descrizione della funzionalità o dell'attività che si vuole implementare. Per esempio:

    
    Implement a user authentication system with OAuth2 and JWT.
    
    
  4. Rispondere a eventuali domande di chiarimento poste dall'agente del piano.

    L'agente di piano cerca il proprio compito e può porre domande per risolvere le ambiguità prima di elaborare un piano.

  5. Esaminare il piano proposto.

    L'agente di piano fornisce un riepilogo generale, una suddivisione dei passaggi di implementazione, i criteri di verifica e le decisioni documentate. È possibile modificare il piano fornendo feedback.

  6. Una volta finalizzato il piano, usare i pulsanti per avviare l'implementazione o per aprire il piano nell'editor per un'ulteriore revisione.

    È possibile scegliere di implementare il piano nella stessa sessione di chat o avviare una sessione dell'agente cloud o in background per lavorare in modo autonomo sull'implementazione.

Usare l'agente per generare codice

Quando si usa GitHub Copilot in modalità Agente, GitHub Copilot funge da agente autonomo che può eseguire azioni per conto dell'utente. È possibile chiedere GitHub Copilot di eseguire attività specifiche e genera codice in base alle richieste.

Importante

Quando si usa la modalità Agent, GitHub Copilot può effettuare più richieste Premium per completare una singola attività. Le richieste Premium possono essere utilizzate dalle richieste avviate dall'utente e dalle azioni successive che GitHub Copilot esegue per conto dell'utente. Le richieste Premium totali usate dipendono dalla complessità dell'attività, dal numero di passaggi coinvolti e dal modello selezionato.

  1. Aprire la vista Chat e selezionare Agent dal selettore agente.

  2. Creare un prompt che descriva l'attività che desideri venga eseguita da GitHub Copilot.

    Ad esempio, è possibile chiedere GitHub Copilot di generare una nuova funzionalità o di creare un'app completamente nuova.

    • Creare un'app Web per la pianificazione dei pasti con React e Node.js
    • Aggiungere funzionalità di condivisione di social media
    • Sostituire l'autenticazione corrente con OAuth
  3. L'agente potrebbe richiamare più strumenti per eseguire attività diverse. Facoltativamente, selezionare l'icona Strumenti per configurare gli strumenti che è possibile usare per rispondere alla richiesta.

  4. Confermare le chiamate allo strumento e i comandi del terminale.

    Prima di GitHub Copilot eseguire un comando terminale o uno strumento che non è integrato, richiede conferma per continuare. GitHub Copilot richiede conferma perché gli strumenti possono essere eseguiti localmente nel computer ed eseguire azioni che modificano file o dati.

  5. GitHub Copilot rileva problemi e problemi nelle modifiche del codice e nei comandi del terminale e eseguirà l'iterazione e l'esecuzione di azioni per risolverli.

  6. Man mano che GitHub Copilot elabora la richiesta, trasmette le modifiche al codice suggerite direttamente nell'editor.

  7. Esaminare le modifiche suggerite e accettare o rimuovere le modifiche suggerite.

  8. Continuare a eseguire l'iterazione e perfezionare la nuova funzionalità con altri prompt, se necessario.

Generare codice usando una sessione di chat inline

La sessione di chat inline può essere usata per analizzare e generare codice. L'interfaccia della chat inline è accessibile solo quando un file viene aperto nell'editor di codice. Può essere usato per analizzare il codice selezionato o creare un nuovo codice in base a una richiesta.

  1. Aprire un file nell'editor.

  2. Aprire una sessione di chat inline usando il tasto di scelta rapida CTRL+I o selezionando Apri chat inline dal menu Chat nella barra del titolo.

    La sessione di chat inline si apre nella posizione del cursore nell'editor.

  3. Selezionare un blocco di codice nell'editor.

    Il codice selezionato viene usato come contesto per il prompt. Se non è selezionato alcun codice, il prompt usa l'intero file come contesto.

  4. Immettere la richiesta nel campo di input della chat.

    Per esempio:

    Update selection to include an option for the `CommonActions.SearchBooks` action. Use the letter "b" and the message "to check for book availability".
    
  5. I suggerimenti di aggiornamento del codice vengono visualizzati come diff nell'editor.

  6. Esaminare gli aggiornamenti del codice suggeriti e quindi accettare o eliminare le modifiche.

    Screenshot che mostra un codice di aggiornamento della sessione di chat inline.

  7. Continuare a eseguire l'iterazione e perfezionare la nuova funzionalità con altri prompt, se necessario.

Riassunto

GitHub Copilot Chat offre un potente set di strumenti per la generazione di codice e l'assistenza per la codifica delle attività. La visualizzazione Chat, la finestra Chat veloce e la sessione di chat inline offrono modi diversi per interagire con il programmatore della coppia di intelligenza artificiale e ottenere assistenza per i problemi di codifica. Usando questi strumenti in modo efficace, è possibile migliorare la produttività e l'efficienza del codice.