Ottenere risposte migliori impostando il contesto per GitHub Copilot Chat in Visual Studio
È possibile usare GitHub Copilot Chat in Visual Studio per ottenere informazioni e supporto per la codifica, ad esempio sintassi, concetti di programmazione, guida al 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 i comandi slash per specificare rapidamente attività comuni come
/explain
ottenere spiegazioni del codice. - Definire l'ambito della chat a file specifici usando riferimenti.
- Esaminare l'origine usata da Copilot per generare la risposta.
- Usare thread diversi per ognuna delle chat di Copilot in modo da poter gestire contesti diversi in ognuno di essi.
Altre informazioni sullo sviluppo assistito dall'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 successive
- Sottoscrizione attiva a GitHub Copilot per utenti singoli o GitHub Copilot for Business
- GitHub Copilot in Visual Studio
- Chat di GitHub Copilot in Visual Studio
- Accedere a Visual Studio con l'account GitHub con una sottoscrizione di GitHub Copilot attiva
Il supporto per GitHub Copilot Chat verrà fornito da GitHub e può essere raggiunto all'indirizzo https://support.github.com.
Usare i comandi barra 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 inline nel codice che si sta cercando di modificare, usando 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 inline |
---|---|---|---|
/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ì |
/correggi | 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ì |
/help | Ottenere assistenza sull'uso di Copilot Chat. Esempio: /help |
Sì | Sì |
/optimize | 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, fare riferimento a esso 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, fare riferimento a esso 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 possono ora usare @github
nella chat per includere il contesto dall'intero repository e cercare nel 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 Uso delle competenze di GitHub per Copilot.
Esempi di utilizzo
Ecco alcuni esempi di utilizzo dei riferimenti per il controllo del contesto:
Esempio | 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 |
/explain il #AddItemToBasket in #BasketService.cs | Metodo AddItemToBasket in BasketService.cs |
Esiste un metodo di eliminazione carrello in questo @workspace | Soluzione corrente aperta nell'IDE |
Ho un metodo di test denominato #TestCalculator. Come è possibile assicurarsi che venga eseguito correttamente? | TestCalculator, metodo |
È possibile spiegare le differenze tra classi #BasketService e #OrderService? | Classe BasketService e classe OrderService |
Nel mio @workspace dove è #AddItemToBasket? | 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 thread
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 pulsante Crea nuovo thread nella finestra della chat.
Cambiare 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 nella 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. Vedere Prompt engineering for Github Copilot for strategies on effective prompting to improve your Copilot results (Richiedi progettazione per Github Copilot ) per le strategie su come migliorare i risultati di Copilot.