Eseguire il debug dell'app con GitHub Copilot in Visual Studio
Questo articolo illustra come eseguire il debug in modo più efficiente usando GitHub Copilot. Copilot può fornire correzioni del codice insieme ad analisi approfondite e spiegazioni sul funzionamento del codice. Consente di risolvere i bug proposti e spiega elementi come le eccezioni. Copilot comprende stack di chiamate, frame, nomi di variabili e valori. Di conseguenza, è possibile interagire con l'intelligenza artificiale compatibile con il debugger per porre domande dettagliate relative al codice e al debug dei problemi in generale.
Inoltre, Copilot offre assistenza più precisa per alcuni scenari di destinazione, ad esempio i seguenti:
- Eccezioni
- Variabili
- Deadlock
- Azioni rapide (lampadina)
Per ottenere assistenza per l'intelligenza artificiale durante il debug in questi scenari, cercare il pulsante Chiedi copilot. In questi scenari Copilot conosce già il contesto per le domande. Ad esempio, conosce lo stack di chiamate corrente, la riga di codice che si sta chiedendo e il nome dell'eccezione (se si è verificato), quindi non è necessario fornire il contesto in chat. Copilot fornisce anche suggerimenti per l'uso di punti di interruzione condizionali e punti di traccia.
Per altre informazioni sui completamenti di GitHub Copilot in Visual Studio, vedere Informazioni sui completamenti di GitHub Copilot in Visual Studio.
Prerequisiti
Per iniziare, è necessario:
Visual Studio 2022 versione 17.8 o successive
Sottoscrizione attiva a GitHub Copilot per utenti singoli o GitHub Copilot for Business
-
Nota
Se si verificano problemi di autenticazione dopo l'installazione dell'estensione, vedere Risoluzione dei problemi di autenticazione con GitHub Copilot Chat.
Ottenere assistenza per l'intelligenza artificiale per il debug dell'app
L'esempio semplice seguente illustra come ottenere assistenza per l'intelligenza artificiale usando la visualizzazione Chat inline.
Nota
È anche possibile ottenere assistenza usando la finestra chat separata selezionando Visualizza > chat di GitHub Copilot. Per altre informazioni, vedere Che cos'è l'estensione GitHub Copilot Chat per Visual Studio?
Avviare una sessione di debug
In Visual Studio creare una nuova app console C#.
Nella finestra iniziale scegliere Crea un nuovo progetto. Digitare console nella casella di ricerca, selezionare C# come linguaggio e quindi scegliere App console per .NET. Scegliere Avanti. Digitare un nome di progetto come ConsoleApp_Copilot e selezionare Avanti.
Scegliere il framework di destinazione consigliato o .NET 8 e quindi scegliere Crea.
Se non viene visualizzato il modello di progetto App console per .NET, passare a Strumenti Ottieni strumenti>e funzionalità, che apre il Programma di installazione di Visual Studio. Scegliere il carico di lavoro Sviluppo per desktop .NET, quindi scegliere Modifica.
Visual Studio crea il progetto console, visualizzato in Esplora soluzioni nel riquadro destro.
Sostituire il codice nel file Program.cs con il codice seguente:
using System; using System.Collections.Generic; public class Example { public static void Main(string[] args) { int value = Int32.Parse(args[0]); List<String> names = null; if (value > 0) names = new List<String>(); names.Add("Major Major Major"); } }
Fare clic con il pulsante destro del mouse sull'istruzione seguente e scegliere Inserisci punto> di interruzione.
int value = Int32.Parse(args[0]);
Premere F5 o scegliere Avvia debug dal menu Debug .
L'app viene sospesa in corrispondenza del punto di interruzione. La finestra Auto mostra che la variabile args ha un valore .
string[0]
Fare clic con il pulsante destro del mouse nel codice e scegliere Chiedi a Copilot di aprire la visualizzazione Chat inline.
Suggerimento
In alternativa, è possibile fare clic con il pulsante destro del mouse su una variabile nella finestra Auto o Variabili locali oppure in una descrizione dati e scegliere Chiedi copilot. Questo fornisce a Copilot il nome e il contesto della variabile, quindi non è necessario fornire il contesto manualmente nella chat.
Digitare la domanda seguente nella visualizzazione Chat inline:
Why does the args variable have a value of string[0]?
Quando si preme INVIO, Copilot fornisce una risposta in base alla comprensione del codice. Si potrebbe ottenere una risposta diversa da quella mostrata qui.
Se Copilot ha una correzione suggerita per il codice, viene visualizzato. In caso contrario, è possibile chiedere a Copilot un suggerimento di codice.
Suggerimento
Nella chat inline usare il simbolo "#" e selezionare dall'elenco a discesa per distribuire informazioni specifiche a Copilot mentre vi si fa riferimento nella domanda. Ad esempio, se si seleziona una parte di codice e quindi si digita #, è possibile scegliere tale selezione dall'elenco # a discesa. È anche possibile usare il simbolo "#" per fare riferimento alle funzionalità dell'IDE visualizzate nell'elenco a discesa, ad esempio la finestra Variabili locali.
In questo esempio scorrere fino alla fine della risposta di Copilot e selezionare la domanda di completamento alla fine della finestra chat inline, "Come posso gestire il caso quando non vengono passati argomenti al programma?"
Copilot mostra una correzione suggerita al codice.
Per applicare la correzione del codice, scegliere Accetta.
Scegliere Annulla per continuare ad apprendere altre funzionalità di Copilot nella sezione successiva.
Ottenere assistenza per l'intelligenza artificiale per un'eccezione
L'esempio semplice seguente illustra come ottenere assistenza per l'intelligenza artificiale quando si verifica un'eccezione e come aggiornare rapidamente il codice in base alle correzioni suggerite dall'intelligenza artificiale.
Avviare una sessione di debug
Mentre è in pausa nel debugger usando la stessa app di esempio, premere F11 o Debug>Esegui istruzione in per eseguire l'istruzione corrente.
Si
IndexOutOfRangeException
verifica e l'app viene sospesa, che mostra l'eccezione.Per ottenere assistenza per l'intelligenza artificiale per l'eccezione, passare alla sezione successiva.
Richiedere assistenza per l'intelligenza artificiale
Con l'applicazione sospesa nell'eccezione, selezionare il pulsante Ask Copilot ( Chiedi copilot ).
Se non è già aperto, viene visualizzata la finestra Chat di Copilot e viene fornita una valutazione dell'errore e del motivo per cui si è verificato. In questo esempio Copilot identifica una correzione del codice suggerita, un pulsante per copiare il codice e un pulsante Anteprima per la correzione del codice.
In caso di domande sull'eccezione, chiedere loro nella casella di testo Chiedi copilot.
Selezionare il pulsante Anteprima.
Visual Studio mostra un'anteprima del codice con la correzione suggerita.
Esaminare la correzione suggerita e scegliere Accetta per applicare il suggerimento del codice.
Riavviare il debugger.
Questa volta non si verifica alcuna eccezione. È stato risolto!
Ottenere assistenza per l'intelligenza artificiale con punti di interruzione condizionali e punti di traccia
Copilot offre suggerimenti per punti di interruzione condizionali e punti di traccia specifici del codice.
In questo esempio vengono mostrati suggerimenti di intelligenza artificiale per un punto di interruzione condizionale. Per i punti di traccia, l'assistenza di intelligenza artificiale funziona allo stesso modo.
Rimuovere il punto di interruzione corrente facendo clic su di esso o facendo clic con il pulsante destro del mouse e scegliendo Elimina punto di interruzione.
Sostituire la riga di codice seguente:
names.Add("Major Major Major");
con il seguente:
// names.Add("Major Major Major"); foreach (var item in args) { names.Add("Name: " + item); }
A sinistra dell'istruzione
names.Add("Name: " + item)
fare clic con il pulsante destro del mouse nella barra e scegliere Inserisci punto di interruzione condizionale.Selezionare il campo dell'espressione e Copilot inizia a lavorare sui suggerimenti.
Quando vengono visualizzati i suggerimenti, scegliere uno come
item == "John"
. Modificare il suggerimento in modo che il nome siaFred
.Per testare l'espressione condizionale:
Fare clic con il pulsante destro del mouse sul progetto ConsoleApp_Copilot in Esplora soluzioni e scegliere Proprietà.
Selezionare Debug>generale>Aprire l'interfaccia utente dei profili di avvio del debug.
Nel campo Argomenti della riga di comando immettere
5 Fred Joe
, in tre righe separate.Riavviare il debugger.
Quando il debugger viene sospeso in corrispondenza del punto di interruzione, controllare il valore di
item
e verificare che il valore corrente siaFred
.
Ottenere assistenza per intelligenza artificiale nel visualizzatore tabulare IEnumerable
Per assistenza sull'intelligenza artificiale per il visualizzatore tabulare IEnumerable, vedere Modificare l'espressione del visualizzatore.
Ottenere assistenza per l'intelligenza artificiale per informazioni dettagliate automatiche
Oltre all'assistenza per il debug interattivo, Copilot fornisce informazioni dettagliate in Informazioni dettagliate sull'utilizzo della CPU. Fornisce informazioni e informazioni dettagliate correlate a un set di informazioni dettagliate specifiche sulle prestazioni. Con Copilot, porre domande sulle funzioni sui percorsi ad accesso frequente identificati nel codice, che consentono di produrre codice più efficiente o conveniente.
Il pulsante Ask Copilot viene visualizzato anche se non vengono identificate informazioni specifiche sulle prestazioni. Selezionare Chiedi a Copilot per imparare da Copilot e iniziare a porre domande.