Code herstructureren met GitHub Copilot Chatmodi

Voltooid

GitHub Copilot kan worden gebruikt om code in uw codebasis te herstructureren. U kunt de chatweergaveagenten gebruiken om taken voor het herstructureren van code te analyseren, te plannen en te implementeren. De chatweergaveagenten bieden een gebruiksvriendelijke interface voor het beheren van chatgesprekken en het openen van de functies van GitHub Copilot. De chatweergave bevat de volgende ingebouwde agents:

  • Vraag: Gebruik Vraag om vragen te stellen over uw codebasis of technologieconcepten. U kunt Vragen gebruiken om code uit te leggen, revisies of oplossingen voor te stellen of informatie op te geven met betrekking tot de codebasis.
  • Plan: Gebruik de planagent om een gestructureerd, stapsgewijs implementatieplan te maken voordat u code schrijft. Wanneer het plan er goed uitziet, kunt u het overdragen aan een implementatieagent om het uit te voeren.
  • Agent: Gebruik de agent om een werkstroom voor agentische codering te starten. U kunt de agent gebruiken om opdrachten uit te voeren, code uit te voeren of andere taken uit te voeren in uw werkruimte.

Belangrijk

Wanneer u de agent gebruikt, kan GitHub Copilot meerdere Premium-aanvragen indienen om één taak te voltooien. Premium-aanvragen kunnen worden gebruikt door user-initiated prompts en opvolgingsacties die namens u door GitHub Copilot worden uitgevoerd. Het totale aantal gebruikte Premium-aanvragen is afhankelijk van de complexiteit van de taak, het aantal benodigde stappen en het geselecteerde model.

Vraag om code te refactoren

U kunt Vragen gebruiken om hulp te krijgen bij het coderen van taken, het begrijpen van lastige concepten en het verbeteren van uw code. Ask is ontworpen voor interactieve gesprekken met GitHub Copilot Chat. U kunt in realtime vragen stellen, uitleg krijgen of suggesties aanvragen.

  1. Open de chatweergave en selecteer Vragen.

  2. Voeg context toe aan de chat.

    Ask ondersteunt chatdeelnemers, slash-opdrachten en chatvariabelen. U kunt de @workspace chatdeelnemer of #codebase aan de chat toevoegen om context te bieden, samen met bestanden of mappen.

  3. Stel vragen waarmee u inzicht krijgt in de code die u wilt herstructureren en de wijzigingen die u wilt aanbrengen.

    U kunt bijvoorbeeld GitHub Copilot vragen om inzicht te verkrijgen in uw bestaande verificatiecode om de huidige methode bij te werken met behulp van OAuth.

  4. Maak een prompt waarin de update wordt beschreven die u wilt implementeren.

    Uw prompt moet een beschrijving bevatten van de codefunctie die u wilt implementeren. Voorbeeld:

    @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.
    
  5. Bekijk de voorgestelde code in de chatweergave.

    Het antwoord dat wordt weergegeven in de chatweergave bevat een codefragment dat u kunt gebruiken om de functie te implementeren. U kunt bijgewerkte prompts invoeren om de code te verfijnen of om meer informatie vragen.

  6. Als u voorgestelde code wilt implementeren, kunt u de muisaanwijzer op het codefragment plaatsen en vervolgens kiezen tussen de opties Toepassen, Invoegen en Kopiëren .

    • Toepassen: De codesuggesties toepassen op het huidige bestand in de editor.
    • Invoegen: Hiermee voegt u de codesuggesties in op de huidige cursorpositie in de editor.
    • Kopiëren: Kopieert de codesuggestie naar het Klembord.
  7. Test uw geherstructureerde code om ervoor te zorgen dat deze zonder fouten wordt uitgevoerd en genereert het verwachte resultaat.

Plan gebruiken om code te herstructureren

U kunt de planagent gebruiken als u een gestructureerd, stapsgewijs implementatieplan wilt maken voordat u wijzigingen aanbrengt. De planagent analyseert uw codebasis, stelt vragen en produceert een gedetailleerd plan. Wanneer het plan er goed uitziet, kunt u het overdragen aan een implementatieagent om het uit te voeren.

Aanbeveling

Gebruik de functie "Ask" om de code te evalueren waarin je geïnteresseerd bent voor herstructurering en je opties te beoordelen voordat je wijzigingen gaat doorvoeren. U kunt Plan gebruiken om een gestructureerd plan te maken en dit vervolgens aan een implementatieagent over te dragen.

  1. Open de chatweergave en selecteer Plan.

  2. Voeg context toe aan de chat.

    Geef werkruimtecontext op met behulp van #codebase en door bestanden toe te voegen aan de chat.

  3. Maak een prompt waarin de codefunctie wordt beschreven die u wilt implementeren.

    Uw prompt moet een beschrijving bevatten van de codefunctie die u wilt implementeren. Voorbeeld:

    
    #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.
    
    
  4. Bekijk het gestructureerde implementatieplan dat GitHub Copilot genereert.

    De planagent maakt een stapsgewijs plan dat u kunt controleren voordat er codewijzigingen worden aangebracht.

  5. Wanneer het plan er goed uitziet, kunt u het overdragen aan een implementatieagent om het uit te voeren.

    U kunt het plan aan de agent overdragen om de wijzigingen toe te passen op uw codebasis.

  6. Bekijk de voorgestelde bewerkingen in de code-editor.

  7. Accepteer of negeer de voorgestelde bewerkingen.

    U kunt door de bewerkingen navigeren met behulp van de pijl-omhoog en pijl-omlaag. U kunt de voorgestelde bewerkingen afzonderlijk behouden (accepteren) of ongedaan maken (ongedaan maken) met behulp van het pop-upmenu dat tijdens elke bewerking wordt weergegeven. U kunt ook alle bewerkingen tegelijk accepteren of negeren met behulp van de knoppen Behouden en Ongedaan maken onder aan het tabblad Editor (of chatweergave).

  8. Test uw geherstructureerde code om ervoor te zorgen dat deze zonder fouten wordt uitgevoerd en genereert het verwachte resultaat.

De agent gebruiken om code te herstructureren

U kunt de agent gebruiken wanneer u het proces van het herstructureren van code wilt automatiseren. De agent fungeert als een autonome agent die namens u acties kan ondernemen. U kunt GitHub Copilot vragen om specifieke taken uit te voeren en code genereert op basis van uw aanvragen.

Met de agent kunt u natuurlijke taal gebruiken om een taak op hoog niveau op te geven en GitHub Copilot autonoom redeneren over de aanvraag, het benodigde werk plannen en de wijzigingen toepassen op uw codebasis. De agent gebruikt een combinatie van codebewerking en aanroep van hulpprogramma's om de opgegeven taak uit te voeren. Terwijl uw aanvraag wordt verwerkt, wordt het resultaat van bewerkingen en hulpprogramma's bewaakt en wordt herhaald om eventuele problemen op te lossen die zich voordoen.

Belangrijk

Wanneer u de agent gebruikt, kan GitHub Copilot meerdere Premium-aanvragen indienen om één taak te voltooien. Premium-aanvragen kunnen worden gebruikt door user-initiated prompts en opvolgingsacties die namens u door GitHub Copilot worden uitgevoerd. Het totale aantal gebruikte Premium-aanvragen is afhankelijk van de complexiteit van de taak, het aantal benodigde stappen en het geselecteerde model.

  1. Open de chatweergave en selecteer Agent.

  2. Maak een prompt waarin de taak wordt beschreven die u GitHub Copilot wilt laten uitvoeren.

    Stel dat u een codeproject hebt dat gebruikmaakt van twee of meer processen/technieken om dezelfde taak uit te voeren. U kunt GitHub Copilot vragen om code te herstructureren met behulp van één benadering om consistentie, onderhoudbaarheid en prestaties te verbeteren.

    Voorbeeld:

    
    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.
    
    
  3. Agent kan meerdere hulpprogramma's aanroepen om verschillende taken uit te voeren. Selecteer desgewenst het pictogram Tools om te configureren welke hulpprogramma's kunnen worden gebruikt voor uw verzoek.

  4. Bevestig aanroepen van hulpprogramma's en terminalopdrachten.

    Voordat GitHub Copilot een terminalopdracht of een hulpprogramma uitvoert dat niet is ingebouwd, wordt bevestiging gevraagd om door te gaan. Bevestiging is vereist omdat hulpprogramma's lokaal op uw computer kunnen worden uitgevoerd en acties kunnen uitvoeren waarmee bestanden of gegevens worden gewijzigd.

  5. GitHub Copilot detecteert problemen en problemen in codebewerkingen en terminalopdrachten en voert deze acties uit om ze op te lossen.

    Belangrijk

    Hoewel GitHub Copilot in staat is om zelfherstel mogelijk te maken, kan het misschien niet altijd zelf problemen oplossen. U kunt het proces onderbreken en meer context bieden om GitHub Copilot inzicht te geven in het probleem. U kunt het proces ook annuleren en opnieuw beginnen met een nieuwe prompt.

  6. Bekijk de voorgestelde bewerkingen en accepteer of negeer de voorgestelde bewerkingen.

  7. Test uw geherstructureerde code om ervoor te zorgen dat het verwachte resultaat wordt gegenereerd.

    De agent moet zelf problemen oplossen, maar u moet de code nog steeds testen om ervoor te zorgen dat deze werkt zoals verwacht.

    U kunt wijzigingen die door de agent zijn aangebracht, terugdraaien met behulp van de knop Ongedaan maken in de chatweergave. U kunt ook de optie Herstellen in de editor gebruiken om wijzigingen die door de agent zijn aangebracht, te herstellen.

Wanneer u de Agent boven de Plan moet kiezen

Houd rekening met de volgende criteria om te kiezen tussen Plan en Agent:

  • Planning: Plan maakt een gestructureerd, stapsgewijs implementatieplan voordat u code schrijft. De agent bepaalt autonoom de relevante context en bestanden die moeten worden bewerkt en begint met het rechtstreeks aanbrengen van wijzigingen.
  • Taakcomplexiteit: de agent is beter geschikt voor complexe taken waarvoor codebewerkingen en het aanroepen van hulpprogramma's of terminalopdrachten vereist zijn.
  • Duur: De agent gebruikt meerdere stappen om een aanvraag te verwerken, dus het kan langer duren om een antwoord te genereren. Als u bijvoorbeeld de relevante context en bestanden wilt bepalen die u wilt bewerken, bepaalt u het actieplan en meer.
  • Zelfherstel: De agent evalueert het resultaat van de gegenereerde bewerkingen en kan meerdere keren herhalen om tussenliggende problemen op te lossen.
  • Aanvraagquotum: wanneer u de agentmodus gebruikt, kan één prompt leiden tot veel aanvragen naar de back-end, afhankelijk van de complexiteit van de taak.

Samenvatting

GitHub Copilot kan worden gebruikt om code in uw codebasis te herstructureren. U kunt de chatweergaveagenten gebruiken om taken voor het herstructureren van code te analyseren, te plannen en te implementeren. De chatweergave bevat drie ingebouwde agents: Vragen, Plannen en Agent. U kunt Vragen stellen gebruiken om vragen te stellen over uw codebasis- of technologieconcepten. U kunt Plan gebruiken om een gestructureerd implementatieplan te maken voordat u code schrijft. U kunt de agent gebruiken om een werkstroom voor agentische codering te starten.