Egyéni frissítési utasítások alkalmazása .NET frissítésekhez

Az egyéni frissítési utasítások olyan Markdown-fájlok, amelyek útmutatást nyújtanak a GitHub Copilot számára a modernizálás során, hogy a frissítés közben konkrét átalakításokat hajtson végre. Ezeket a fájlokat úgy hozhatja létre, hogy automatizálja az ismétlődő módosításokat, például lecserélheti az egyik tárat egy másikra, vagy egy adott API-frissítést alkalmazhat.

Ez a cikk bemutatja, hogyan hozhat létre és strukturálhat egyéni frissítési utasításfájlokat, hogyan tesztelheti és integrálhatja azt a frissítési munkafolyamat értékelési szakaszába.

Előfeltételek

Egyéni utasítások létrehozása előtt állítsa be GitHub Copilot modernizálást a fejlesztési környezetben. A telepítés lépéseit a Install GitHub Copilot modernizálás című témakörben találja.

Az egyéni frissítési utasítások ismertetése

GitHub Copilot átalakítása igény szerint, a frissítés értékelési és tervezési szakaszaiban Markdown-fájlokként kér be egyéni frissítési utasításokat. Az egyéni frissítési utasítások copilot-instructions.md-től a következők miatt térnek el:

  • A kód- és függőségváltozások automatizálására szolgál.
  • Csak akkor kérhető le, ha az aktuális frissítési értékelés vagy terv szempontjából releváns.
  • Az egyes adattárakba másolt megoldások között újra felhasználható.

Strukturálja az utasításfájlokat az alábbiakkal:

  • A műveletet leíró rövid cím. Például: "cserélje le a Newtonsoft.Json-t System.Text.Json-ra".
  • Egy tömör problémautasítás vagy előfeltétel-szakasz.
  • Explicit lépéslogika ("Ha X található, tegye az Y-t"). Kerülje a homályos nyelvet.
  • (Ajánlott) Egy vagy több diff példa, amely a tényleges helyi módosításokból van rögzítve az átalakítások irányításához.

Az egyéni frissítési utasításokon túl a GitHub Copilot modernizálást a standard készségek és utasítások rendszerén keresztül is kiterjesztheti. A készségek képességeket adnak hozzá az ügynökhöz, és az utasításfájlok (például copilot-instructions.md) globális útmutatást nyújtanak.

Egyéni frissítési utasítás létrehozása

Kövesse az alábbi lépéseket egy új utasításfájl létrehozásához és finomításához. Ezek a szakaszok példaként a Newtonsoft.JsonSystem.Text.Json-re való helyettesítésére összpontosítanak.

  1. A Megoldáskezelő ablakban kattintson a jobb gombbal a solution>Modernize elemre.

    -vagy-

    Nyissa meg a Copilot csevegőpanelt, és írja be a @Modernize parancsot az ügynökkel folytatott beszélgetés indításához.

    Megjegyzés:

    Ezek a lépések Visual Studio vonatkoznak. Visual Studio Code és más környezetekben hívja meg a modernize-dotnet ügynököt közvetlenül a Copilot csevegőpanelről. A Visual Studio-ban az ügynök neve Modernize.

  2. A csevegésbe írja be a következőt: I want to generate a custom upgrade instruction.

  3. Amikor a rendszer kéri, adjon meg egy olyan forgatókönyvet, mint a I want to replace Newtonsoft with System.Text.Json, hogy Copilot hozza létre a fájlt.

  4. Amikor Copilot létrehozza az új fájlt, például replace_newtonsoft_with_system_text_json.md, tekintse át a tartalmat, és finomítsa azt a csevegésben. Kérje meg például Copilot, hogy "tisztázza az észlelési feltételeket" vagy "adjon hozzá előfeltétel-szakaszt."

    Jótanács

    Ha még nem tartalmazza, adja hozzá a fájlt a megoldáshoz a láthatóság érdekében.

  5. Erősítse meg az utasítást valós példákkal.

    1. Végezze el manuálisan a kívánt kódmódosításokat egy projektben. Például: "Távolítsa el a Newtonsoft.Json csomagot, frissítse az 'using' direktívákat, és cserélje le a JsonConvert kódot a JsonSerializer kifejezésre."
    2. A csevegésben az utasításfájl megnyitásával írja be a következőt: Check my git changes and add diffs as examples to my instruction file.
    3. Győződjön meg arról, Copilot git diffet használt, és hozzáfűzött egy bekerített diff blokkot vagy strukturált példát a Markdown-fájlhoz.

Szerzői tippek

Az alábbi irányelveket követve egyértelmű, hatékony egyéni frissítési utasításokat írhat, amelyeket Copilot megbízhatóan értelmezhet:

  • Használjon egyértelmű feltételes kifejezéseket: If code references X, then do Y.
  • Fájlonként egy átalakítás megtartása; akkor használja az előfeltételeket, ha több fájlnak egymás után kell futnia.
  • Adjon meg legalább egy konkrét példát, például egy diffet vagy egy kódrészlet előtt/után, az átalakítási pontosság javítása érdekében.
  • Kerülje az olyan nem egyértelmű igéket, mint a "javítás" vagy a "javítás"; olyan explicit műveleteket használjon, mint a "csere", az "eltávolítás" és a "frissítés".

Egyéni frissítési utasítás tesztelése (egyszeri futtatás)

Mielőtt futtatja az utasítást a frissítés során, ellenőrizze külön-külön. Az izolált tesztelés segít pontosítani az észlelést és ellenőrizni a kódmódosításokat.

  1. A Megoldáskezelő ablakban kattintson a jobb gombbal a solution>Modernize elemre.

    Megjegyzés:

    Ezek a lépések Visual Studio vonatkoznak. Visual Studio Code és más környezetekben hívja meg a modernize-dotnet ügynököt közvetlenül a Copilot csevegőpanelről.

  2. Csevegésben hívja meg az utasítást a fájlnévhez hasonló szöveggel. Például: replace Newtonsoft with System.Text.Json.

  3. Ellenőrizze a csevegőablakban, hogy Copilot lekérte az utasításfájlt:

    > 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.
    

    Ha Copilot nem jelzi, hogy megtalálta az utasításokat, próbálkozzon újra a fájl nevéből származó kulcsszavakkal, például ugyanazokkal az igével és főnévkombinációkkal.

  4. Tekintse át a javasolt módosításokat (megoldásdiffek, függőben lévő véglegesítések vagy előzetes verziójú módosítások) annak ellenőrzéséhez, hogy az egyéni frissítési utasítás a várt módon működik-e.

Érvényesítési tippek

Ha a tesztfuttatás nem hozza meg a várt eredményeket, az alábbi hibaelhárítási tippekkel pontosíthatja az utasításfájlt:

  • Ha Copilot a csomag cseréje helyett csak a csomagverziókat frissíti, győződjön meg arról, hogy az utasítás kifejezetten a régi csomag eltávolítására vagy cseréjére vonatkozik.
  • Konzisztens elnevezést használjon, hogy a természetes nyelvű aktiválás egyezzen. Kezdje a fájlnevet például a replace_ karakterrel, és kezdje el a csevegési kérést a "Csere ..." szöveggel.
  • A tesztelés során példákként adja hozzá a hiányzó kódmintákat a lefedettség javítása érdekében.

Egyéni utasítások alkalmazása a frissítés során

Ezekkel a lépésekkel beépíthet egy meglévő egyéni frissítési utasítást a frissítés értékelési szakaszába.

  1. A Megoldáskezelő ablakban kattintson a jobb gombbal a solution>Modernize elemre.

    Megjegyzés:

    Ezek a lépések Visual Studio vonatkoznak. Visual Studio Code és más környezetekben hívja meg a modernize-dotnet ügynököt közvetlenül a Copilot csevegőpanelről.

  2. A csevegésben válassza a Upgrade to a newer version of .NET lehetőséget. Válaszoljon Copilot kérdéseire, amíg el nem kezdi az értékelést.

  3. Figyelje meg a csevegést, hogy Copilot automatikusan lekérje-e az egyéni utasításfájlt az értékelés során. Keressen egy üzenetet, amely jelzi, hogy megnyitotta a Markdown utasításfájlt.

    Ha Copilot nem alkalmazza automatikusan az egyéni utasításokat, kérje őket explicit módon. A fájlnévhez hasonló szövegeket használjon. Például: use the custom instructions to replace Newtonsoft with System.Text.Json during the assessment.

  4. Várjon, amíg Copilot megerősíti, hogy lekérte a Markdown-fájlt. Ha nem látja az utasításfájlra mutató hivatkozást, fogalmazza át a kérést a fájl fő igéinek (csere, frissítés, eltávolítás) és a csomagnevek használatával.

  5. Tekintse át a assessment.md létrehozott fájlt a .github/upgrades mappában. Ellenőrizze, hogy az értékelés tartalmaz-e az egyéni utasítás által azonosított problémákat és módosításokat.

    A Newtonsoft cseréjekor például az értékelés a következőt azonosítja:

    • Csomagok használatával végzett Newtonsoft.Json projektek.
    • Kódminták refaktorálása a következőhöz: System.Text.Json.
    • Eltávolítandó vagy lecserélendő függőségek.
  6. Szükség esetén szerkessze a fájlt, assessment.md hogy kontextust adjon hozzá, vagy módosítsa az azonosított problémákat a folytatás előtt.

  7. Mondja meg Copilot, hogy folytassa a tervezési szakaszt, ha az értékelés tükrözi az egyéni utasítást.

  8. Tekintse át az Copilot által létrehozott plan.md fájlt. Ez a fájl stratégiákat tartalmaz az értékelésből származó problémák kezelésére.

  9. Folytassa a végrehajtási szakaszt azzal, hogy utasítja a Copilotot a folytatásra. Figyelje a tasks.md fájlt, Copilot alkalmazza az átalakításokat.

Tippek a jobb aktiváláshoz

Az egyéni frissítési utasítások elnevezése és meghívása befolyásolja, hogy Copilot automatikusan lekéri-e őket. Kövesse az alábbi irányelveket az aktiválás megbízhatóságának javításához:

  • Egyeztesse a fájlban található igét. Ha a fájlnév használja replace, használja ezt a kifejezést (nem upgrade vagy fixnem).
  • Fájlonként egy átalakítást tarthat meg az egyértelműség és az újbóli használat érdekében. Több fájl sorrendbe rendezése az egyes fájlok előfeltételeinek felsorolásával.
  • Egyéni utasításokat kérhet az értékelés során a legjobb eredmények érdekében, ahelyett, hogy a tervezésig vagy a végrehajtásig várnál.
  • Kerülje az olyan kétértelmű kéréseket, mint az "értékelés javítása". Legyen explicit: "alkalmazza a replace_newtonsoft_with_system_text_json utasításokat az értékelés során".

Az alkalmazott módosítások ellenőrzése

A frissítés befejezése után:

  1. Tekintse át a tasks.md fájlban az .github/upgrades egyéni utasításhoz kapcsolódó feladatok állapotát.
  2. Ellenőrizze a végrehajtási szakaszban létrehozott Git-véglegesítéseket az egyéni utasítással kapcsolatos módosításokért.
  3. Futtassa a teszteket annak érdekében, hogy a működés továbbra is helyes legyen.
  4. Nem kötelező: Rögzítsen egy példát a sikeres módosításból, és adja hozzá az utasításfájlhoz a jövőbeli automatizálás megerősítése érdekében.

Erőforrások tisztítása

Távolítsa el vagy összesítse az ideiglenes utasításfájlokat, hogy elkerülje az átfedő átalakításokat a későbbi frissítésekben.