Använd anpassade uppgraderingsinstruktioner för .NET uppgraderingar

Anpassade uppgraderingsinstruktioner är Markdown-filer som vägleder moderniseringen av GitHub Copilot genom att tillämpa specifika transformationer under en uppgradering. Skapa dessa filer för att automatisera repetitiva ändringar, till exempel ersätta ett bibliotek med ett annat eller tillämpa en specifik API-uppgradering.

Den här artikeln beskriver hur du skapar och strukturerar en anpassad uppgraderingsinstruktionsfil, testar den isolerat och integrerar den i utvärderingssteget i ett uppgraderingsarbetsflöde.

Förutsättningar

Konfigurera GitHub Copilot i utvecklingsmiljön innan du skapar anpassade instruktioner. För installationssteg, se Installera GitHub Copilot uppdatering.

Förstå anpassade uppgraderingsinstruktioner

GitHub Copilot moderniseringsprocessen hämtar anpassade uppgraderingsinstruktioner som Markdown-filer vid behov under utvärderings- och planeringsstegen för en uppgradering. Anpassade uppgraderingsinstruktioner skiljer sig från copilot-instructions.md eftersom de är:

  • Målet är att automatisera kod- och beroendeändringar.
  • Hämtas endast när det är relevant för den aktuella uppgraderingsutvärderingen eller planen.
  • Återanvändbara lösningar när de kopieras till varje lagringsplats.

Strukturera dina instruktionsfiler med:

  • En kort rubrik som beskriver åtgärden. Ersätt till exempel Newtonsoft.Json med System.Text.Json.
  • En kortfattad problembeskrivning eller ett kravavsnitt.
  • Explicit steglogik ("Om X hittas gör du Y"). Undvik vagt språk.
  • (Rekommenderas) Ett eller flera olika exempel som hämtats från faktiska lokala redigeringar för att vägleda transformeringar.

Utöver anpassade uppgraderingsinstruktioner kan du utöka GitHub Copilot modernisering med hjälp av standardsystemet för kunskaper och instruktioner. Färdigheter lägger till funktioner i agenten och instruktionsfiler (till exempel copilot-instructions.md) ger global vägledning.

Skapa en anpassad uppgraderingsinstruktion

Följ de här stegen för att generera och förfina en ny instruktionsfil. De här avsnitten fokuserar på att Newtonsoft.Json ersätta med System.Text.Json som exempel.

  1. I fönstret Prieskumník riešení högerklickar du på solution>Modernize.

    -eller-

    Öppna Copilot chattpanelen och skriv @Modernize för att starta en konversation med agenten.

    Anmärkning

    De här stegen gäller för Visual Studio. I Visual Studio Code och andra miljöer anropar du modernize-dotnet-agenten direkt från Copilot chattpanel. I Visual Studio heter agenten Modernize.

  2. I chatten skriver du: I want to generate a custom upgrade instruction.

  3. När du tillfrågas anger du ett scenario som I want to replace Newtonsoft with System.Text.Json för att Copilot ska skapa filen.

  4. När Copilot skapar den nya filen, till exempel replace_newtonsoft_with_system_text_json.md, granskar du innehållet och förfinar det i chatten. Be till exempel Copilot att "klargöra identifieringskriterierna" eller "lägg till ett kravavsnitt."

    Tips/Råd

    Lägg till filen i lösningen för synlighet om den inte redan ingår.

  5. Stärka instruktionen med verkliga diffexempel.

    1. Gör önskade kodändringar manuellt i ett projekt. Till exempel "ta bort Newtonsoft.Json paketet, uppdatera med hjälp av direktiv och ersätt JsonConvert kod med JsonSerializer"
    2. I chatten, med instruktionsfilen öppen, skriver du: Check my git changes and add diffs as examples to my instruction file.
    3. Bekräfta att Copilot använde en git diff och lade till ett inhägnat diffblock eller ett strukturerat exempel i Markdown-filen.

Författartips

Följ dessa riktlinjer för att skriva tydliga, effektiva anpassade uppgraderingsinstruktioner som Copilot kan tolka på ett tillförlitligt sätt:

  • Använd tydlig villkorsfras: If code references X, then do Y.
  • Behåll en transformering per fil. använd förutsättningar när flera filer måste köras i följd.
  • Ange minst ett konkret exempel, till exempel ett diff eller före/efter kodfragment, för att förbättra transformeringsprecisionen.
  • Undvik tvetydiga verb som "förbättra" eller "åtgärda"; använd explicita åtgärder som "replace", "remove" och "update".

Testa en anpassad uppgraderingsinstruktion (engångskörning)

Innan du kör instruktionen under en uppgradering verifierar du den isolerat. Isolerad testning hjälper dig att förfina identifiering och verifiera kodändringar.

  1. I fönstret Prieskumník riešení högerklickar du på solution>Modernize.

    Anmärkning

    De här stegen gäller för Visual Studio. I Visual Studio Code och andra miljöer anropar du modernize-dotnet-agenten direkt från Copilot chattpanel.

  2. I chatten anropar du instruktionen med formuleringar som liknar filnamnet. Till exempel replace Newtonsoft with System.Text.Json.

  3. Bekräfta i chattfönstret att Copilot hämtat instruktionsfilen:

    > Getting instructions for 'replace Newtonsoft with System.Text.Json'.
    
    Perfect! I've retrieved the scenario instructions for upgrading from Newtonsoft.Json to System.Text.Json. Now I'll begin the analysis following the scenario-specific instructions.
    

    Om Copilot inte anger att den hittade instruktionerna försöker du igen med nyckelord från filens namn, till exempel samma verb och substantivkombinationer.

  4. Granska de föreslagna ändringarna (lösningsskillnader, väntande kommittéringar, eller förhandsgranskade ändringar) för att bekräfta att den anpassade uppgraderingsinstruktionen fungerar som förväntat.

Tips för validering

Om testkörningen inte ger förväntade resultat kan du använda följande felsökningstips för att förfina instruktionsfilen:

  • Om Copilot endast uppdaterar paketversioner i stället för att ersätta paketet kontrollerar du att instruktionen uttryckligen säger att ta bort eller ersätta det gamla paketet.
  • Använd konsekvent namngivning så att aktivering på naturligt språk matchar. Starta till exempel filnamnet med replace_ och börja chattbegäran med "Ersätt ...".
  • Under testningen lägger du till eventuella saknade kodmönster som exempel för att förbättra täckningen.

Tillämpa anpassade instruktioner under en uppgradering

Använd de här stegen för att införliva en befintlig anpassad uppgraderingsinstruktion i utvärderingssteget för en uppgradering.

  1. I fönstret Prieskumník riešení högerklickar du på solution>Modernize.

    Anmärkning

    De här stegen gäller för Visual Studio. I Visual Studio Code och andra miljöer anropar du modernize-dotnet-agenten direkt från Copilot chattpanel.

  2. I chatten väljer du Upgrade to a newer version of .NET. Besvara Copilot frågor tills utvärderingen påbörjas.

  3. Övervaka chatten för att se om Copilot automatiskt hämtar din anpassade instruktionsfil under utvärderingen. Leta efter ett meddelande som anger att markdown-instruktionsfilen öppnades.

    Om Copilot inte tillämpar de anpassade anvisningarna automatiskt begär du dem uttryckligen. Använd formuleringar som liknar filnamnet. Till exempel use the custom instructions to replace Newtonsoft with System.Text.Json during the assessment.

  4. Vänta tills Copilot bekräftar att markdown-filen har hämtats. Om du inte ser någon referens till instruktionsfilen kan du upprepa begäran med hjälp av filens nyckelverb (ersätt, uppdatera, ta bort) och paketnamn.

  5. Granska den genererade assessment.md filen i .github/upgrades mappen. Bekräfta att utvärderingen innehåller problem och ändringar som din anpassade instruktion har identifierat.

    När du till exempel ersätter Newtonsoft identifierar utvärderingen:

    • Projekt som använder Newtonsoft.Json paket.
    • Kodmönster att refaktorisera för System.Text.Json.
    • Beroenden för att ta bort eller ersätta.
  6. Om det behövs kan du redigera filen assessment.md för att lägga till kontext eller justera de identifierade problemen innan du fortsätter.

  7. Be Copilot fortsätta till planeringssteget när utvärderingen visar din anpassade instruktion.

  8. Granska filen plan.md som Copilot genererar. Den här filen innehåller strategier för att hantera problemen från utvärderingen.

  9. Fortsätt genom körningssteget genom att uppmana Copilot att fortsätta. Övervaka filen tasks.md eftersom Copilot tillämpar transformeringarna.

Tips för bättre aktivering

Hur du namnger och anropar anpassade uppgraderingsinstruktioner påverkar om Copilot hämtar dem automatiskt. Följ dessa riktlinjer för att förbättra aktiveringstillförlitligheten:

  • Matcha filens kommandon. Om filnamnet använder replace ska du använda den frasen (inte upgrade eller fix).
  • Behåll en transformering per fil för tydlighet och återanvändning. Ordna flera filer genom att lista förutsättningar i varje fil.
  • Be om anpassade instruktioner under utvärderingssteget för bästa resultat i stället för att vänta tills planering eller genomförande.
  • Undvik tvetydiga begäranden som "förbättra utvärderingen". Var explicit: "tillämpa replace_newtonsoft_with_system_text_json instruktioner under utvärderingen."

Verifiera de tillämpade ändringarna

När uppgraderingen är klar:

  1. tasks.md Granska filen i .github/upgrades för att se statusen för uppgifter som är relaterade till din anpassade instruktion.
  2. Kontrollera de Git-commits som skapades under körningssteget för ändringar relaterade till den anpassade instruktionen.
  3. Kör testerna för att säkerställa att funktionsbeteendet förblir korrekt.
  4. Valfritt: Avbilda ett exempel från den lyckade ändringen och lägg till det i instruktionsfilen för att stärka framtida automatisering.

Rensa resurser

Ta bort eller konsolidera temporära instruktionsfiler för att undvika överlappande transformeringar i framtida uppgraderingar.