Esegui il refactoring del codice utilizzando le modalità chat di GitHub Copilot.
GitHub Copilot può essere usato per effettuare il refactoring del codice nella codebase. È possibile usare gli agenti di visualizzazione Chat per analizzare, pianificare e implementare attività di refactoring del codice. Gli agenti di visualizzazione Chat offrono un'interfaccia intuitiva per la gestione delle conversazioni di chat e l'accesso alle funzionalità di GitHub Copilot. La visualizzazione Chat include gli agenti predefiniti seguenti:
- Chiedi: Fai domande sulla tua codebase o sui concetti relativi alla tecnologia. È possibile usare Ask per spiegare il codice, suggerire revisioni o correzioni o fornire informazioni correlate alla codebase.
- Piano: usare l'agente di piano per creare un piano di implementazione strutturato e dettagliato prima di scrivere codice. Quando il piano sembra corretto, consegnarlo a un agente di implementazione per eseguirlo.
- Agente: usare l'agente per avviare un flusso di lavoro di codifica agentico. È possibile usare l'agente per eseguire comandi, eseguire codice o eseguire altre attività nell'area di lavoro.
Importante
Quando si usa Agent, GitHub Copilot può effettuare più richieste Premium per completare una singola attività. Le richieste Premium possono essere utilizzate dalle richieste avviate dall'utente e dalle azioni successive che GitHub Copilot esegue per conto dell'utente. Le richieste Premium totali usate dipendono dalla complessità dell'attività, dal numero di passaggi coinvolti e dal modello selezionato.
Usare Ask per effettuare il refactoring del codice
È possibile usare Ask per ottenere assistenza con le attività di scrittura del codice, comprendere concetti complessi e migliorare il codice. Ask è progettato per conversazioni interattive con GitHub Copilot Chat. È possibile porre domande, ottenere spiegazioni o richiedere suggerimenti in tempo reale.
Aprire la visualizzazione Chat e selezionare Chiedi.
Aggiungere il contesto alla chat.
Ask supporta i partecipanti alla chat, i comandi con barra e le variabili di chat. È possibile aggiungere il
@workspacepartecipante alla chat o#codebasealla chat per fornire contesto insieme a file o cartelle.Fai domande che ti aiutino a comprendere il codice che vuoi rifattorizzare e le modifiche che intendi apportare.
Ad esempio, potresti chiedere a GitHub Copilot di aiutarti a comprendere il tuo codice di autenticazione esistente e su come aggiornare il metodo attuale utilizzando OAuth.
Costruisci un prompt che descrive l'aggiornamento che vuoi implementare.
Il prompt deve includere una descrizione della funzionalità di codice che si vuole implementare. Per esempio:
@workspace I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files. Explain how to update the EnumHelper class using dictionaries and show me the updated code.Esaminare il codice suggerito nella visualizzazione Chat.
La risposta visualizzata nella visualizzazione Chat includerà un frammento di codice che è possibile usare per implementare la funzionalità. È possibile immettere richieste aggiornate per perfezionare il codice o richiedere altri dettagli.
Per implementare il codice suggerito, è possibile posizionare il puntatore del mouse sul frammento di codice e quindi selezionare tra le opzioni Applica, Inserisci e Copia .
- Applica: applica il suggerimento di codice al file corrente nell'editor.
- Inserisci: inserisce il suggerimento di codice nella posizione corrente del cursore nell'editor.
- Copia: copia il suggerimento del codice negli appunti.
Testare il codice sottoposto a refactoring per assicurarsi che venga eseguito senza errori e generi il risultato previsto.
Usare Plan per effettuare il refactoring del codice
È possibile usare l'agente di piano quando si vuole creare un piano di implementazione strutturato e dettagliato prima di apportare modifiche. L'agente di piano analizza la codebase, pone domande chiare e produce un piano dettagliato. Quando il piano ha un aspetto corretto, è possibile consegnarlo a un agente di implementazione per eseguirlo.
Suggerimento
Usare Ask per valutare il codice a cui si è interessati per effettuare il refactoring e valutare le opzioni prima di iniziare a apportare modifiche. È possibile usare Plan per creare un piano strutturato e quindi passarlo a un agente di implementazione.
Aprire la visualizzazione Chat e selezionare Piano.
Aggiungere il contesto alla chat.
Specificare il contesto dell'area di lavoro usando
#codebasee aggiungendo file alla chat.Creare un prompt che descrive la funzionalità di codice che si vuole implementare.
Il prompt deve includere una descrizione della funzionalità di codice che si vuole implementare. Per esempio:
#codebase I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files.Esaminare il piano di implementazione strutturato generato GitHub Copilot.
L'agente di piano crea un piano dettagliato che è possibile esaminare prima che vengano apportate modifiche al codice.
Quando il piano sembra corretto, consegnarlo a un agente di implementazione per eseguirlo.
È possibile distribuire il piano all'agente per applicare le modifiche alla codebase.
Esaminare le modifiche suggerite nell'editor di codice.
Accettare o rimuovere le modifiche suggerite.
È possibile spostarsi tra le modifiche usando le frecce su e giù. È possibile mantenere (accettare) o annullare (scartare) le modifiche suggerite per ciascuna modifica usando il menu popup visualizzato su ogni modifica. È anche possibile accettare o rifiutare tutte le modifiche contemporaneamente usando i pulsanti Mantieni e Annulla nella parte inferiore della scheda dell'editor (o visualizzazione Chat).
Testare il codice sottoposto a refactoring per assicurarsi che venga eseguito senza errori e generi il risultato previsto.
Usare l'agente per effettuare il refactoring del codice
È possibile usare Agent quando si vuole automatizzare il processo di refactoring del codice. L'agente funge da agente autonomo che può eseguire azioni per conto dell'utente. È possibile chiedere GitHub Copilot di eseguire attività specifiche e genera codice in base alle richieste.
Con l'Agent è possibile usare il linguaggio naturale per specificare un'attività di alto livello e permettere a GitHub Copilot di ragionare autonomamente sulla richiesta, pianificare il lavoro necessario e applicare le modifiche alla base di codice. Agent usa una combinazione di modifica del codice e chiamata allo strumento per eseguire l'attività specificata. Durante l'elaborazione della richiesta, monitora il risultato delle modifiche e degli strumenti e esegue l'iterazione per risolvere eventuali problemi che si verificano.
Importante
Quando si usa Agent, GitHub Copilot può effettuare più richieste Premium per completare una singola attività. Le richieste Premium possono essere utilizzate dalle richieste avviate dall'utente e dalle azioni successive che GitHub Copilot esegue per conto dell'utente. Le richieste Premium totali usate dipendono dalla complessità dell'attività, dal numero di passaggi coinvolti e dal modello selezionato.
Aprire la visualizzazione Chat e selezionare Agente.
Creare un prompt che descriva l'attività che desideri venga eseguita da GitHub Copilot.
Si supponga di avere un progetto di codice che usa due o più processi/tecniche per eseguire la stessa attività. È possibile chiedere GitHub Copilot di effettuare il refactoring del codice usando un unico approccio per migliorare la coerenza, la gestibilità e le prestazioni.
Per esempio:
Review the LINQ code used in the JsonData and JsonLoanRepository classes. Refactor the methods in the JsonPatronRepository class using LINQ queries. Ensure that existing code functionality is maintained.Agent potrebbe richiamare più strumenti per eseguire attività diverse. Facoltativamente, selezionare l'icona Strumenti per configurare gli strumenti che è possibile usare per rispondere alla richiesta.
Confermare le chiamate allo strumento e i comandi del terminale.
Prima di GitHub Copilot eseguire un comando terminale o uno strumento che non è integrato, richiede conferma per continuare. La conferma è necessaria perché gli strumenti potrebbero essere eseguiti localmente nel computer ed eseguire azioni che modificano file o dati.
GitHub Copilot rileva problemi e problemi nelle modifiche del codice e nei comandi del terminale e eseguirà l'iterazione e l'esecuzione di azioni per risolverli.
Importante
Anche se GitHub Copilot è in grado di auto-guarigione, potrebbe non essere sempre in grado di risolvere i problemi autonomamente. È possibile sospendere il processo e fornire più contesto per GitHub Copilot comprendere il problema. È anche possibile annullare il processo e ricominciare con una nuova indicazione.
Esaminare le modifiche suggerite e accettare o rimuovere le modifiche suggerite.
Testare il codice sottoposto a refactoring per assicurarsi che generi il risultato previsto.
L'agente deve risolvere i problemi autonomamente, ma è comunque necessario testare il codice per assicurarsi che funzioni come previsto.
È possibile ripristinare le modifiche apportate dall'agente usando il pulsante Annulla nella visualizzazione Chat. È anche possibile usare l'opzione Ripristina nell'editor per ripristinare le modifiche apportate dall'agente.
Quando scegliere l'agente rispetto al piano
Considerare i criteri seguenti per scegliere tra Piano e Agente:
- Pianificazione: il piano crea un piano di implementazione strutturato e dettagliato prima di scrivere codice. L'agente determina in modo autonomo il contesto e i file pertinenti da modificare e inizia a apportare direttamente le modifiche.
- Complessità delle attività: l'agente è più adatto per attività complesse che richiedono sia modifiche al codice che la chiamata di strumenti o comandi del terminale.
- Durata: l'agente usa più passaggi per elaborare una richiesta, quindi potrebbe richiedere più tempo per generare una risposta. Ad esempio, per determinare il contesto e i file pertinenti da modificare, determinare il piano di azione e altro ancora.
- Riparazione automatica: l'agente valuta il risultato delle modifiche generate e potrebbe iterare più volte per risolvere eventuali problemi intermedi.
- Quota richiesta: quando si usa la modalità Agente, a seconda della complessità dell'attività, una richiesta potrebbe comportare molte richieste al back-end.
Riassunto
GitHub Copilot può essere usato per effettuare il refactoring del codice nella codebase. È possibile usare gli agenti di visualizzazione Chat per analizzare, pianificare e implementare attività di refactoring del codice. La visualizzazione Chat include tre agenti predefiniti: Ask, Plan e Agent. È possibile usare Ask per porre domande sulla codebase o sui concetti della tecnologia. È possibile usare Plan per creare un piano di implementazione strutturato prima di scrivere codice. È possibile usare Agent per avviare un flusso di lavoro di codifica agentico.