Condividi tramite


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:

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
/spiegare Ottenere spiegazioni del codice.

Esempi:
- /explain the AddItemToBasket method in BasketService.cs
- Selezionare il codice desiderato e immettere /explain
/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
/ generare Generare il codice per rispondere alla domanda specificata.
Esempio: /generate code to add two numbers in Calculator.cs
/help Ottenere assistenza sull'uso di Copilot Chat.
Esempio: /help
/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
/Test Creare unit test per il codice selezionato.
Esempio: selezionare il codice desiderato e immettere /tests using XUnit Framework

Screenshot dei comandi barra nelle finestre di chat inline.

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.

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, fare riferimento a esso 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 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.

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 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.

Screenshot dell'elenco a discesa Riferimenti usati nella chat di Copilot.

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.

Screenshot dell'icona Crea nuovo thread in Copilot Chat.

Cambiare 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 Chat copilota.

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.

Screenshot dell'innalzamento di livello del thread in corso nella chat inline 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. 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.

Passaggi successivi