Refactor-kode ved hjælp af GitHub Copilot Chat-tilstande
GitHub Copilot kan bruges til at omstrukturere kode i din kodebase. Du kan bruge chatvisningstilstandene til at analysere, planlægge og implementere opgaver til omstrukturering af kode. Chatvisningstilstandene giver en brugervenlig grænseflade til administration af chatsamtaler og adgang til GitHub Copilots funktioner. Chatvisningen indeholder følgende chattilstande:
- Stil tilstand: Brug stil tilstand til at stille spørgsmål om din kodebase eller teknologi begreber. Du kan bruge ask mode explain code, foreslå ændringer eller rettelser eller angive oplysninger, der er relateret til kodebasen.
- Redigeringstilstand: Brug redigeringstilstanden til at foretage ændringer på tværs af flere filer i din kodebase. Du kan bruge redigeringstilstand til at omstrukturere kode, tilføje kommentarer eller foretage andre ændringer af din kode.
- Agenttilstand: Brug agenttilstanden til at starte en agentkodningsarbejdsproces. Du kan bruge agenttilstand til at køre kommandoer, udføre kode eller udføre andre opgaver i dit arbejdsområde.
Vigtig
Når du bruger agenttilstand, kan GitHub Copilot foretage flere Premium-anmodninger for at fuldføre en enkelt opgave. Premium-anmodninger kan bruges af brugerinitierede prompter og opfølgningshandlinger, som Copilot tager på dine vegne. De samlede premiumanmodninger, der bruges, afhænger af opgavens kompleksitet, antallet af involverede trin og den valgte model.
Brug spørg tilstand til at omstrukturere kode
Du kan bruge ask mode til at få hjælp til kodningsopgaver, forstå vanskelige begreber og forbedre din kode. Ask-tilstand er designet til interaktive samtaler med Copilot Chat. Du kan stille spørgsmål, få forklaringer eller anmode om forslag i realtid.
Åbn chatvisningen i spørgetilstand.
Føj kontekst til chatten.
Ask-tilstanden understøtter chatdeltagere, skråstregskommandoer og chatvariabler. Du kan tilføje chatdeltageren
@workspaceeller#codebasechatten for at angive kontekst sammen med filer eller mapper.Stil spørgsmål, der hjælper dig med at forstå den kode, du vil omstrukturere, og de ændringer, du vil foretage.
Du kan f.eks. bede GitHub Copilot om at hjælpe dig med at forstå din eksisterende godkendelseskode, hvordan du opdaterer den aktuelle metode ved hjælp af OAuth.
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.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.
Hvis du vil implementere foreslået kode, kan du holde musemarkøren over kodestykket og derefter vælge mellem indstillingerne Anvend, Indsæt og Kopiér .
- Anvend: Anvender kodeforslaget på den aktuelle fil i editoren.
- Indsæt: Indsætter kodeforslaget på den aktuelle markørposition i editoren.
- Kopiér: Kopierer kodeforslaget til Udklipsholder.
Test din omstruktureringskode for at sikre, at den kører uden fejl og genererer det forventede resultat.
Brug redigeringstilstand til at omstrukturere kode
Du kan bruge redigeringstilstand, når du vil have mere detaljeret kontrol over de redigeringer, som Copilot foreslår. I redigeringstilstand skal du vælge, hvilke filer Copilot kan foretage ændringer af, angive kontekst til Copilot med hver gentagelse og beslutte, om de foreslåede ændringer skal accepteres eller ej.
Tips
Brug ask-tilstanden til at evaluere den kode, du er interesseret i at omstrukturere og evaluere dine indstillinger, før du begynder at foretage ændringer. Du kan bruge redigeringstilstand til at foretage ændringer af din kode.
Åbn chatvisningen i redigeringstilstand.
Føj kontekst til chatten.
Redigeringstilstanden understøtter ikke chatdeltagere. Angiv kontekst for arbejdsområdet ved hjælp af
#codebaseog ved at føje filer til chatten.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.Gennemse de foreslåede ændringer i kodeeditoren.
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 hjælp af knapperne Behold og Fortryd nederst på editorfanen (eller Chatvisning).
Test din omstruktureringskode for at sikre, at den kører uden fejl og genererer det forventede resultat.
Brug agenttilstand til at omstrukturere kode
Du kan bruge agenttilstand, når du vil automatisere processen med omstrukturering af kode. I agenttilstand fungerer Copilot som en selvstændig agent, der kan foretage handlinger på dine vegne. Du kan bede Copilot om at udføre bestemte opgaver, og den genererer kode baseret på dine anmodninger.
I agenttilstand kan du bruge naturligt sprog til at angive en opgave på højt niveau og give Copilot autonom grund til anmodningen, planlægge det nødvendige arbejde og anvende ændringerne på din kodebase. Agenttilstand bruger en kombination af koderedigering og aktivering af værktøjer til 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 agenttilstand, kan GitHub Copilot foretage flere Premium-anmodninger for at fuldføre en enkelt opgave. Premium-anmodninger kan bruges af brugerinitierede prompter og opfølgningshandlinger, som Copilot tager på dine vegne. De samlede premiumanmodninger, der bruges, afhænger af opgavens kompleksitet, antallet af involverede trin og den valgte model.
Åbn chatvisningen i agenttilstand.
Opret en prompt, der beskriver den opgave, som 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 omstrukturere din kode ved hjælp af en enkelt tilgang for at forbedre konsistensen, vedligeholdelsen og ydeevnen.
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.Agenttilstand 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.
Bekræft aktiveringer og terminalkommandoer for værktøjet.
Før Copilot kører en terminalkommando eller et værktøj, der ikke er indbygget, anmodes der om bekræftelse for 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.
Copilot registrerer problemer og problemer i koderedigeringer og terminalkommandoer og gentager og udfører handlinger for at løse dem.
Vigtig
Selvom Copilot er i stand til selvhelbredende, kan den muligvis ikke altid løse problemer på egen hånd. Du kan afbryde processen midlertidigt og angive mere kontekst for at hjælpe Copilot med at forstå problemet. Du kan også annullere processen og starte forfra med en ny prompt.
Gennemse de foreslåede redigeringer, og acceptér eller fjern de foreslåede redigeringer.
Test din omstruktureringskode for at sikre, at den genererer det forventede resultat.
Agenttilstanden skal løse problemer én for sig, men du bør stadig teste koden for at sikre, at den fungerer som forventet.
Du kan gendanne ændringer foretaget af agenttilstand ved hjælp af knappen Fortryd i chatvisningen. Du kan også bruge indstillingen Vend tilbage i editoren til at gendanne ændringer, der er foretaget af agenttilstand.
Hvornår skal du vælge agenttilstand via redigeringstilstand?
Overvej følgende kriterier for at vælge mellem redigeringstilstand og agenttilstand:
- Rediger omfang: Agenttilstand bestemmer autonomt den relevante kontekst og de filer, der skal redigeres. I redigeringstilstand skal du selv angive konteksten.
- Opgavekompleksitet: Agenttilstand er bedre egnet til komplekse opgaver, der kræver både koderedigeringer og aktivering af værktøjer eller terminalkommandoer.
- Varighed: Agenttilstand bruger flere trin til at behandle en anmodning, 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.
- Selvreparerende: Agenttilstand evaluerer resultatet af de genererede ændringer og gentager muligvis flere gange for at løse mellemliggende problemer.
- Anmodningskvote: I agenttilstand, afhængigt af opgavens kompleksitet, kan én prompt resultere i mange anmodninger til backend.
Resumé
GitHub Copilot kan bruges til at omstrukturere kode i din kodebase. Du kan bruge chatvisningstilstandene til at analysere, planlægge og implementere opgaver til omstrukturering af kode. Chatvisningen indeholder tre chattilstande: Ask-tilstand, Redigeringstilstand og Agenttilstand. Du kan bruge stil-tilstanden til at stille spørgsmål om dine kodebase- eller teknologibegreber. Du kan bruge redigeringstilstanden til at foretage ændringer på tværs af flere filer i kodebasen. Du kan bruge agenttilstanden til at starte en agentisk kodningsarbejdsproces.