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:
- Visual Studio 2022 versione 17.8 o successiva
-
Accedere a Visual Studio usando un account GitHub con accesso Copilot
** È possibile usare GitHub Copilot gratuitamente. Iscriversi e sfruttare l'intelligenza artificiale per scrivere codice in modo più rapido ed efficiente. - GitHub Copilot in Visual Studio
- chat di GitHub Copilot in Visual Studio
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.
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:
-
Creare/aggiungere un file di istruzioni personalizzato
.github/copilot-instruction.md
nella radice del repository. - 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 |
Sì | Sì |
/spiegare | Ottenere spiegazioni del codice. Esempi: - /explain the AddItemToBasket method in BasketService.cs
: selezionare il codice desiderato e immettere /explain |
Sì | Sì |
/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 |
Sì | Sì |
/generare | Generare il codice per rispondere alla domanda specificata. Esempio: /generate code to add two numbers in Calculator.cs |
Sì | Sì |
/aiuto | Ottenere assistenza sull'uso di Copilot Chat. Esempio: /help |
Sì | Sì |
/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 |
Sì | Sì |
/Test | Creare unit test per il codice selezionato. Esempio: selezionare il codice desiderato e immettere /tests using XUnit Framework |
Sì | Sì |
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.
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.
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.
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.
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.
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.
Passa al thread di chat
È possibile scegliere tra più thread in corso per fornire il contesto cronologico giusto per la domanda.
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.
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.