Refaktoreringskode ved hjælp af GitHub Copilot Chat-tilstande

Fuldført

GitHub Copilot kan bruges til at refaktorere kode i din kodebase. Du kan bruge chatvisningsagenterne til at analysere, planlægge og implementere koderefaktoreringsopgaver. Chatvisningsagentlerne tilbyder en brugervenlig grænseflade til håndtering af chatsamtaler og adgang til GitHub Copilot's funktioner. Chat-visningen inkluderer følgende indbyggede agenter:

  • Spørg: Brug Ask til at stille spørgsmål om din kodebase eller teknologiske koncepter. Du kan bruge Ask til at forklare kode, foreslå revisioner eller rettelser eller give information relateret til kodebasen.
  • Plan: Brug Plan-agenten til at lave en struktureret, trin-for-trin implementeringsplan, før du skriver kode. Når planen ser rigtig ud, overgiv den til en implementeringsagent, som kan udføre den.
  • Agent: Brug agenten til at starte en agentisk kodningsarbejdsgang. Du kan bruge agenten til at køre kommandoer, udføre kode eller udføre andre opgaver i dit arbejdsområde.

Vigtig

Når du bruger agenten, kan GitHub Copilot lave flere premium-anmodninger for at fuldføre en enkelt opgave. Premium-anmodninger kan bruges af brugerinitierede prompts og opfølgende handlinger, GitHub Copilot foretager på dine vegne. De samlede premiumanmodninger, der bruges, afhænger af opgavens kompleksitet, antallet af involverede trin og den valgte model.

Brug Ask til at refaktorere kode

Du kan bruge Ask til at få hjælp til kodningsopgaver, forstå svære koncepter og forbedre din kode. Ask er designet til interaktive samtaler med GitHub Copilot Chat. Du kan stille spørgsmål, få forklaringer eller anmode om forslag i realtid.

  1. Åbn chatvisningen og vælg Spørg.

  2. Føj kontekst til chatten.

    Ask understøtter chatdeltagere, skråstregstregskommandoer og chatvariabler. Du kan tilføje chatdeltageren @workspace eller #codebase chatten for at give kontekst sammen med filer eller mapper.

  3. Stil spørgsmål, der hjælper dig med at forstå den kode, du vil omstrukturere, og de ændringer, du vil foretage.

    For eksempel kan du bede GitHub Copilot om hjælp til at forstå din eksisterende autentificeringskode, hvordan du opdaterer den nuværende metode med OAuth.

  4. Opret en prompt, der beskriver den opdatering, du vil implementere.

    Din prompt skal indeholde en beskrivelse af den kodefunktion, du vil implementere. Eksempler:

    @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. Gennemse den foreslåede kode i chatvisningen.

    Det svar, der vises i chatvisningen, indeholder et kodestykke, som du kan bruge til at implementere funktionen. Du kan angive opdaterede prompts for at afgrænse koden eller bede om flere oplysninger.

  6. For at implementere foreslået kode kan du holde musemarkøren over kodeuddraget og derefter vælge mellem indstillingerne Anvend,Indsæt og Kopier .

    • Anvend: Anvender kodeforslaget på den aktuelle fil i editoren.
    • Indsæt: Indsætter kodeforslaget på den aktuelle cursorposition i editoren.
    • Kopier: Kopierer kodeforslaget til udklipsholderen.
  7. Test din omstruktureringskode for at sikre, at den kører uden fejl og genererer det forventede resultat.

Brug Plan til at refaktorere kode

Du kan bruge Planagenten, når du vil lave en struktureret, trin-for-trin implementeringsplan, før du laver ændringer. Planagenten analyserer din kodebase, stiller afklarende spørgsmål og udarbejder en detaljeret plan. Når planen ser rigtig ud, kan du overdrage den til en implementeringsagent, der kan udføre den.

Tips

Brug Ask til at evaluere den kode, du er interesseret i at refaktorere, og vurder dine muligheder, før du begynder at lave ændringer. Du kan bruge Plan til at lave en struktureret plan og derefter overdrage den til en implementeringsagent.

  1. Åbn chatvisningen og vælg Planlæg.

  2. Føj kontekst til chatten.

    Angiv arbejdsområdekontekst ved at tilføje #codebase filer til chatten.

  3. Opret en prompt, der beskriver den kodefunktion, du vil implementere.

    Din prompt skal indeholde en beskrivelse af den kodefunktion, du vil implementere. Eksempler:

    
    #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. Gennemgå den strukturerede implementeringsplan, som GitHub Copilot udarbejder.

    Planagenten laver en trin-for-trin plan, som du kan gennemgå, før der foretages ændringer i forskriften.

  5. Når planen ser rigtig ud, overgiv den til en implementeringsagent, som kan udføre den.

    Du kan overdrage planen til agenten for at anvende ændringerne på din kodebase.

  6. Gennemse de foreslåede ændringer i kodeeditoren.

  7. Acceptér eller fjern de foreslåede ændringer.

    Du kan navigere gennem redigeringerne ved hjælp af pil op og ned. Du kan beholde (acceptere) eller fortryde (kassere) de foreslåede redigeringer enkeltvist ved hjælp af den pop op-menu, der vises for hver redigering. Du kan også acceptere eller afvise alle redigeringer på én gang ved at bruge knapperne Behold og Fortryd nederst i editorfanen (eller chatvisningen).

  8. Test din omstruktureringskode for at sikre, at den kører uden fejl og genererer det forventede resultat.

Brug agenten til at refaktorere koden

Du kan bruge Agenten, når du vil automatisere processen med at refaktorere kode. Agenten fungerer som en autonom agent, der kan handle på dine vegne. Du kan bede GitHub Copilot om at udføre specifikke opgaver, og den genererer kode baseret på dine ønsker.

Med agenten kan du bruge naturligt sprog til at specificere en opgave på højt niveau og lade GitHub Copilot autonomt ræsonnere om anmodningen, planlægge det nødvendige arbejde og anvende ændringerne i din kodebase. Agenten bruger en kombination af koderedigering og værktøjsinkald for at udføre den opgave, du har angivet. I takt med at den behandler din anmodning, overvåger den resultatet af redigeringer og værktøjer og gentager sig for at løse eventuelle problemer, der opstår.

Vigtig

Når du bruger agenten, kan GitHub Copilot lave flere premium-anmodninger for at fuldføre en enkelt opgave. Premium-anmodninger kan bruges af brugerinitierede prompts og opfølgende handlinger, GitHub Copilot foretager på dine vegne. De samlede premiumanmodninger, der bruges, afhænger af opgavens kompleksitet, antallet af involverede trin og den valgte model.

  1. Åbn chatvisningen og vælg Agent.

  2. Lav en prompt, der beskriver den opgave, du ønsker, at GitHub Copilot skal udføre.

    Lad os antage, at du har et kodeprojekt, der bruger to eller flere processer/teknikker til at udføre den samme opgave. Du kan bede GitHub Copilot om at refaktorere din kode ved hjælp af én tilgang for at forbedre konsistens, vedligeholdelse og ydeevne.

    Eksempler:

    
    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. Agenten kan aktivere flere værktøjer for at udføre forskellige opgaver. Du kan også vælge ikonet Funktioner for at konfigurere, hvilke værktøjer der kan bruges til at besvare din anmodning.

  4. Bekræft aktiveringer og terminalkommandoer for værktøjet.

    Før GitHub Copilot kører en terminalkommando eller et værktøj, der ikke er indbygget, anmoder den om bekræftelse på at fortsætte. Bekræftelse er påkrævet, fordi værktøjer kan køre lokalt på computeren og udføre handlinger, der ændrer filer eller data.

  5. GitHub Copilot opdager problemer og problemer i koderedigeringer og terminalkommandoer og vil iterere og udføre handlinger for at løse dem.

    Vigtig

    Selvom GitHub Copilot er i stand til selvheling, kan det ikke altid løse problemerne på egen hånd. Du kan sætte processen på pause og give mere kontekst, så GitHub Copilot kan forstå problemet. Du kan også annullere processen og starte forfra med en ny prompt.

  6. Gennemse de foreslåede redigeringer, og acceptér eller fjern de foreslåede redigeringer.

  7. Test din omstruktureringskode for at sikre, at den genererer det forventede resultat.

    Agenten burde løse problemerne selv, men du bør stadig teste koden for at sikre, at den fungerer som forventet.

    Du kan gendanne redigeringer foretaget af agenten ved at bruge Fortryd-knappen i chatvisningen. Du kan også bruge Tilbage-indstillingen i editoren til at tilbagerulle ændringer, som agenten har foretaget.

Hvornår skal man vælge Agent frem for Plan

Overvej følgende kriterier for at vælge mellem Plan og Agent:

  • Planlægning: Plan laver en struktureret, trin-for-trin implementeringsplan, før der skrives kode. Agenten bestemmer autonomt den relevante kontekst og filer, der skal redigeres, og begynder at foretage ændringer direkte.
  • Opgavekompleksitet: Agenten er bedre egnet til komplekse opgaver, der kræver både koderedigeringer og aktivering af værktøjer eller terminalkommandoer.
  • Varighed: Agenten bruger flere trin til at behandle en forespørgsel, så det kan tage længere tid at generere et svar. Hvis du f.eks. vil bestemme den relevante kontekst og de filer, der skal redigeres, skal du fastlægge handlingsplanen og meget mere.
  • Selvheling: Agenten vurderer resultatet af de genererede redigeringer og kan iterere flere gange for at løse mellemliggende problemer.
  • Anmodningskvote: Når du bruger Agent-tilstanden, kan én prompt, afhængigt af opgavens kompleksitet, resultere i mange forespørgsler til backend.

Resumé

GitHub Copilot kan bruges til at refaktorere kode i din kodebase. Du kan bruge chatvisningsagenterne til at analysere, planlægge og implementere koderefaktoreringsopgaver. Chat-visningen inkluderer tre indbyggede agenter: Ask, Plan og Agent. Du kan bruge Ask til at stille spørgsmål om din kodebase eller teknologiske koncepter. Du kan bruge Plan til at lave en struktureret implementeringsplan, før du skriver kode. Du kan bruge agenten til at starte en agentisk kodningsarbejdsgang.