Condividi tramite


Ottenere risposte migliori impostando il contesto per GitHub Copilot Chat in Visual Studio

È possibile usare Chat di GitHub Copilot in Visual Studio per ottenere informazioni e supporto per la codifica, ad esempio sintassi, concetti di programmazione, guida del codice specifico del contesto, test case, debug e altro ancora, senza uscire dall'IDE. La chat di Copilot è integrata in Visual Studio, il che significa che può comprendere cosa si sta lavorando raccogliendo utili indizi da ciò che si ha nell'IDE.

Oltre alla richiesta, Copilot usa un contesto aggiuntivo, ad esempio il codice nel file corrente e la cronologia delle chat, per generare una risposta. In questo articolo si apprenderà come ottenere risposte migliori fornendo altre informazioni a Copilot Chat, tra cui:

  • Usare comandi con barra per specificare rapidamente attività comuni come /explain per ottenere spiegazioni del codice.
  • Usare l'esperienza di chat guidata e le istruzioni personalizzate per perfezionare il contesto in Visual Studio 17.12 o versione successiva.
  • Definire l'ambito della chat ai file specifici tramite riferimenti .
  • Rivedere la fonte utilizzata da Copilot per generare la risposta.
  • Usare thread diversi per ciascuna delle chat di Copilot in modo da mantenere contesti diversi in ciascuna di esse.

Altre informazioni sullo sviluppo assistito da intelligenza artificiale in Visual Studio e su come usare Copilot Chat in Visual Studio.

Prerequisiti

Per iniziare a usare GitHub Copilot Chat in Visual Studio, è necessario:

Il supporto per GitHub Copilot Chat verrà fornito da GitHub e può essere raggiunto a https://support.github.com.

Richiesta di indicazioni

L'esperienza di chat guidata in Visual Studio 17.12 e versioni successive consente di perfezionare le richieste per chiarire il contesto per ottenere risposte migliori. GitHub Copilot Chat consente ora di chiarire le domande quando il contesto non è chiaro.

Screenshot dell'esperienza di chat guidata con GitHub Copilot Chat.

Abilitare istruzioni personalizzate

La funzionalità istruzioni personalizzate consente di aggiungere automaticamente i dettagli contestuali predefiniti alle domande di chat. La chat di Copilot usa queste istruzioni personalizzate in base al contesto specifico, ad esempio il funzionamento del team, gli strumenti usati o le specifiche del progetto durante la generazione di risposte.

Per configurare istruzioni personalizzate:

  1. Creare/aggiungere un file di istruzioni personalizzato .github/copilot-instruction.md nella radice del repository.
  2. Abilitare la funzionalità in Visual Studio tramite strumenti di opzioni>>GitHub>Copilot> selezionare (anteprima) Abilitare le istruzioni personalizzate da caricare dai file .github/copilot-instructions.md e aggiunti alle richieste..

Le istruzioni personalizzate non sono visibili nella visualizzazione Chat o nella chat inline. Tuttavia, se usato da Copilot, il file.github/copilot-instructions.md è elencato nell'elenco Riferimenti di una risposta.

Usare i comandi slash in Copilot Chat per le attività comuni

I comandi Slash in Copilot Chat consentono di impostare rapidamente la finalità per le attività di sviluppo comuni. Usando comandi di barra specifici per formare la domanda, è possibile ottenere risposte migliori senza dover scrivere domande lunghe.

È possibile usare i comandi slash in una finestra di chat o direttamente nel codice che si desidera modificare, utilizzando l'assistenza per il codice inline . I comandi che consentono di modificare o aggiungere al file di codice aperto nell'editor funzioneranno sia nell'assistente codice inline che nelle finestre di chat, mentre i comandi per domande di codifica più generali funzionano solo nel riquadro della chat.

comando Utilizzo finestra chat chat in linea
/doc Aggiungere commenti per il codice specificato o selezionato.
Esempi:
- /doc DeleteBasketAsync method in BasketService.cs
: selezionare il codice desiderato e immettere /doc
/spiegare Ottenere spiegazioni del codice.

Esempi:
- /explain the AddItemToBasket method in BasketService.cs
: selezionare il codice desiderato e immettere /explain
/correzione Proporre una correzione per i problemi nel codice selezionato.
Esempi:
- /fix the SetQuantities method in BasketService.cs
: selezionare il codice desiderato e immettere /fix
/generare Generare il codice per rispondere alla domanda specificata.
Esempio: /generate code to add two numbers in Calculator.cs
/aiuto Ottenere assistenza sull'uso di Copilot Chat.
Esempio: /help
/ottimizzare Analizzare e migliorare il tempo di esecuzione del codice selezionato.
Esempi:
- /optimize the AddItemToBasket method in BasketService.cs
: selezionare il codice desiderato e immettere /optimize
/Test Creare unit test per il codice selezionato.
Esempio: selezionare il codice desiderato e immettere /tests using XUnit Framework

Screenshot dei comandi slash in una visualizzazione della chat in linea e finestre di chat.

Riferimento: definire l'ambito dei risultati di Copilot in un file specifico o in un'intera soluzione

È possibile porre domande correlate al codice in linguaggio naturale e GitHub Copilot Chat risponderà a queste domande nel contesto della codebase aperta in Visual Studio. Con i riferimenti è possibile ottenere informazioni più specifiche sulle informazioni che si vuole prendere in considerazione da Copilot per rispondere alla domanda.

Selezionando un contesto specifico nella codebase, è possibile creare facilmente domande migliori senza dover scrivere o incollare informazioni lunghe. Specificare il contesto consente anche a Copilot di fornire risposte più pertinenti.

Fare riferimento a un file

Per fare facilmente riferimento a un file in GitHub Copilot Chat, è sufficiente aggiungere un simbolo # all'inizio del nome del file. Ad esempio, se si dispone di un file denominato BasketService.cs, farvi riferimento nella chat come #BasketService.cs.

Screenshot dei riferimenti in Copilot Chat.

Fare riferimento a un metodo, una classe o una funzione

Con Visual Studio 2022 versione 17.11, è ora possibile fare riferimento a un metodo, una classe o una funzione specifici in GitHub Copilot Chat.

Per fare facilmente riferimento a un metodo, una classe o una funzione in GitHub Copilot Chat, è sufficiente aggiungere un simbolo # all'inizio del metodo, della classe o del nome della funzione. Ad esempio, se si dispone di un metodo denominato BasketAddItem, farvi riferimento nella chat come #BasketAddItem.

Screenshot dei riferimenti ai metodi in GitHub Copilot Chat in Visual Studio.

Fare riferimento all'intera soluzione

Usare @workspace per fare riferimento alla soluzione attiva nell'IDE per il contesto. Quando si usa @workspace per il contesto, La chat di Copilot sfrutta le informazioni sui file, i progetti e le configurazioni attualmente aperti e usati nell'IDE. Ciò consente a Copilot Chat di fornire suggerimenti e risposte più pertinenti e consapevoli del contesto.

Screenshot del contesto della soluzione di riferimento in Copilot Chat.

Con Visual Studio 2022 versione 17.11, i sottoscrittori di GitHub Copilot Enterprise ora possono usare @github nella chat per includere il contesto dall'intero repository e per eseguire ricerche sul Web (se la ricerca è abilitata dall'amministratore). Per altre informazioni sulla raccolta di competenze specifiche di GitHub che Copilot può usare per rispondere alla domanda quando si usa @github, vedere Using GitHub skills for Copilot.

Screenshot dell'uso delle competenze di GitHub in Copilot Chat.

Esempi di utilizzo

Ecco alcuni esempi di utilizzo dei riferimenti per il controllo del contesto:

esempio di Contesto usato da Copilot per formare la domanda
Qual è lo scopo di #MyFile.cs: 66-72? Sezione esatta del file
Dove si trovano i test in #BasketService.cs? BasketService.cs
/spiega il #AddItemToBasket in #BasketService.cs Metodo AddItemToBasket in BasketService.cs
Esiste un metodo per eliminare il carrello in questo @workspace Soluzione corrente aperta nell'IDE
Ho un metodo di test denominato #TestCalculator. Come è possibile assicurarsi che venga eseguito correttamente? metodo TestCalculator
È possibile spiegare le differenze tra classi #BasketService e #OrderService? Classe BasketService e classe OrderService
Nella mia @workspace, dov'è #AggiungiArticoloAlCarrello? Soluzione corrente aperta nell'IDE

Esaminare le origini usate da Copilot Chat

La chat di Copilot visualizza il contesto usato dopo ogni risultato, in modo da poter sapere cosa è stato preso in considerazione quando si risponde alla domanda. Quando si pone una domanda a Copilot Chat e si riceve una risposta nella finestra della chat, sotto la risposta viene visualizzato un elenco a discesa Riferimenti. Le voci nell'elenco a discesa Riferimenti mostrano il contesto a cui fa riferimento Copilot Chat per generare tale risposta. Queste informazioni consentono di modificare la domanda per ottenere risposte migliori e più pertinenti.

Screenshot del menu a discesa dei riferimenti utilizzati nella chat di Copilot.

Organizzare: isolare le chat con Copilot in filoni

Se usi ampiamente Copilot Chat per porre domande durante il codice, puoi organizzare le conversazioni in modo da mantenerle in argomento. Chat di Copilot per Visual Studio offre ora un modo semplice per avviare nuove conversazioni (thread) per mantenerle incentrate sull'attività e mantenere il contesto chiaro in modo che le risposte siano basate sulla cronologia pertinente.

Nuovo thread di chat

È possibile avviare un nuovo thread selezionando il Crea nuovo thread nella finestra di chat.

Screenshot dell'icona Crea nuovo thread in Chat di Copilot.

Passa al thread di chat

È possibile scegliere tra più thread in corso per fornire il contesto cronologico giusto per la domanda.

Screenshot del passaggio tra thread in corso in Copilot Chat.

Promuovere la chat inline alla finestra di chat

Con Visual Studio 2022 versione 17.11, è ora possibile mantenere la cronologia della chat inline promuovendola alla finestra di chat . Selezionare Continua nella finestra della chat... per mantenere un record e un contesto della conversazione e continuare nella finestra della chat.

Screenshot della promozione del thread in corso dalla chat integrata alla finestra di chat.

Procedure consigliate

La chat di Copilot usa la cronologia delle chat per ottenere il contesto della richiesta. Per assegnare a Copilot solo la cronologia pertinente:

  • Usare i thread per avviare una nuova conversazione per una nuova attività.
  • Eliminare le richieste non più rilevanti o che non hanno dato il risultato desiderato.

Mantenere aperta la conversazione di chat e continuare a eseguire l'iterazione e richiedere a Copilot di migliorare la soluzione suggerita. Copilot ha sia il contesto del codice generato che la cronologia delle conversazioni correnti. Man mano che si continuano a porre domande aggiuntive, Copilot affina ulteriormente la risposta in base alle esigenze. Per strategie su come impostare richieste efficaci per migliorare i risultati del tuo Copilot, vedi Ingegneria dei prompt per GitHub Copilot.

Passaggi successivi