Mi az a GitHub Copilot-frissítés?

GitHub Copilot frissítés egy GitHub Copilot ügynök, amely segít a támogatott projektek frissítésében és modernizálásában. Végigvezeti a felmérésen, a javaslatokon, a kódmódosításokon és az érvényesítésen a következő környezetekben: Visual Studio, Visual Studio Code, GitHub Copilot CLI és GitHub.com.

Használja ezt az ügynököt a következőre:

  • Keretrendszerek, fordítók és függőségek frissítése.
  • Az alkalmazásarchitektúra modernizálása és a kódtárak cseréje.
  • Mérje fel az alkalmazás kódját, konfigurációját és függőségeit.
  • Ellenőrizze, hogy az alkalmazás sikeresen épül-e és tesztel-e.

Támogatott technológiák

Válassza ki a projektnek megfelelő technológiai csomagot:

Technológia Támogatott munka
.NET Frissítse .NET és .NET keretrendszerprojekteket, modernizálja a projektfájlokat, cserélje le a kódtárakat, és migrálja az alkalmazásarchitektúrákat.
JavaScript és TypeScript Frissítse az npm-függőségeket és a TypeScript-fordítót, javítsa ki a kompatibilitási problémákat, és ellenőrizze az alkalmazás viselkedését.

Minden egyes technológiai csomag saját forgatókönyveket, koncentrált képességeket, előfeltételeket és érvényesítési folyamatokat biztosít. A további technológiai csomagok a megosztott munkafolyamatok fogalmainak módosítása nélkül bővíthetik az ügynököt.

Forgatókönyvek

Az ügynök több, végponttól végpontig tartó modernizálási munkafolyamatot, úgynevezett forgatókönyveket biztosít. Minden forgatókönyv egy felügyelt munkafolyamat, amely végigvezeti önt egy adott frissítési vagy migrálási típuson:

Scenario Description Példakérés
.NET verziófrissítés Frissítés a régebbi .NET verziókról a 8-.NET 9-re, 10-re vagy újabbra. "A megoldás frissítése a .NET 10 verzióra"
SDK-stílusú átalakítás Az örökölt projektformátumot SDK-stílusúvá alakítja. "Konvertálás SDK-stílusra"
Newtonsoft.Json frissítés A Newtonsoft.Json helyére System.Text.Json lép. "Frissítés a Newtonsoft.Json-ról"
SqlClient-frissítés Frissítések a System.Data.SqlClientről a Microsoft.Data.SqlClientre. "SqlClient frissítése"
Azure Functions frissítés Az Azure Functions frissítése a folyamaton belüli modellről izolált feldolgozói modellre. "Az Azure Functions-öm frissítése"
Szemantikus kernel ügynököknek Frissíti a Szemantikus kernel ügynököket a Microsoft ügynök-keretrendszerre. "Az SK-ügynökeim frissítése"
Aspire integráció Hozzáadja a Aspire belső hurkos és az Azure-beli üzembe helyezés támogatását. "Hozzáadás Aspire az alkalmazáshoz"
Aspire verziófrissítés A meglévő Aspire alkalmazásokat újabb verziókra frissíti. "Verzióm frissítése Aspire"
WebForms-to-Blazor frissítés Frissíti ASP.NET Web Forms alkalmazásokat a Blazorra. "Web Forms-alkalmazás migrálása a Blazorba"
JavaScript- és TypeScript-függőségek frissítése Frissíti a kijelölt npm-csomagokat vagy az összes projektfüggőséget, és kijavítja a kompatibilitástörő változásokat. "A projekt összes függőségének frissítése"
TypeScript-fordító frissítése Áthelyez egy projektet TypeScript-fordítóverziókon keresztül, és elhárítja az új fordítóhibákat. "TypeScript frissítése a 7-es verzióra"

A technológiaspecifikus részletekért tekintse meg .NET forgatókönyveket és készségeket, illetve a JavaScript- és TypeScript-képességeket.

Visszajelzés küldése

Microsoft értékeli a visszajelzést, és az ügynök továbbfejlesztésére használja. Küldjön visszajelzést az alábbi lehetőségek egyikével:

Prerequisites

Az ügynök használata előtt állítsa be GitHub Copilot frissítését a fejlesztői környezetben. A telepítés lépéseit lásd: Telepítés GitHub Copilot frissítés.

.NET-projektek frissítése

A frissítési ügynök a következő típusú C# és Visual Basic projektek frissítését támogatja:

  • ASP.NET Core (és az olyan kapcsolódó technológiák, mint az MVC, a Razor Pages és a Web API)
  • ASP.NET Web Forms
  • Blazor
  • Azure Functions
  • Windows megjelenítési alaprendszer (WPF)
  • Windows Forms
  • WinUI
  • .NET MAUI és Xamarin
  • Osztálykönyvtárak
  • Konzolalkalmazások
  • Tesztprojektek (MSTest, NUnit és xUnit)

Frissítés indításához lásd: .NET alkalmazás frissítése GitHub Copilot frissítéssel.

Támogatott frissítési útvonalak

Az ügynök a következő frissítési útvonalakat támogatja:

Source Target
.NET Keretrendszer (bármely verzió) .NET 8 vagy újabb
.NET Keretrendszer (bármely verzió) .NET-keretrendszer 4.8.1
.NET Core 1.x–3.x .NET 8 vagy újabb
.NET 5 vagy újabb .NET 8 vagy újabb

.NET-projektek migrálása az Azure-ba

A .NET-alkalmazások Azure való migrálásához használja a GitHub Copilot modernizálási ügynököt. A modernizálási ügynök Azure-specifikus forgatókönyveket kezel, például az adatbázis-migrálást, a tárolást, az identitást, az üzenetkezelést és az üzembe helyezést.

Frissítések monitorozása az irányítópulttal

A Frissítési irányítópult vizuális nézetet biztosít a frissítési munkamenetről GitHub Copilot parancssori felületen és GitHub Copilot alkalmazásban. A panelek segítségével nyomon követheti az általános előrehaladást, forgatókönyveket, feladatokat, projekteket, függőségeket, értékelési eredményeket, frissítési lehetőségeket és ügynöktevékenységeket.

Az irányítópult megnyitásához kérje meg Copilot, hogy jelenítse meg a frissítési munkamenet során. Az irányítópult jelenleg nem érhető el a Visual Studióban, a Visual Studio Code-ban vagy más IDE-kben. Az egyes panelekről további információt a Frissítési irányítópult frissítéseinek monitorozása című témakörben talál.

Hogyan működik?

Frissítési vagy migrálási folyamat elindításához lásd:

  1. Indítsa el az ügynököt az alábbi módszerek egyikével:

    • Visual Studio: Kattintson a jobb gombbal a megoldásra vagy projektre a Megoldáskezelő és válassza a Modernize lehetőséget. Másik lehetőségként nyissa meg a GitHub Copilot Chat ablakot, és írja be.@Modernize
    • Visual Studio Code: Nyissa meg a GitHub Copilot Chat panelt, és írja be a @upgrade.
    • GitHub Copilot parancssori felület: Írja be a @upgrade, majd a frissítési vagy migrálási kérést.
    • GitHub Copilot alkalmazás: Az Ügynökválasztóban válassza a lehetőségetUpgrade.
  2. Mondja el az ügynöknek, hogy mit frissítsen vagy migráljon.

Amikor megkéred a frissítési ügynököt, hogy frissítse az alkalmazásodat, a Copilot először arra kér, hogy hozz létre egy új ágat, ha Git-adattárban dolgozol. Ezután Copilot értékeli a projektet, és futtat egy háromfázisú munkafolyamatot. Minden fázis Markdown-fájlokat .github/upgrades/{scenarioId} hoz létre az adattárában, így a folytatás előtt áttekintheti, mi következik. Ha .github/upgrades/{scenarioId} már létezik egy korábbi kísérletből, a Copilot megkérdezi, hogy folytatja-e a műveletet, vagy kezdjen-e újra.

Copilot a projekt struktúrájának, függőségeinek és kódmintáinak vizsgálatával kezdődik, hogy átfogó értékelést hozzon létre. A assessment.md fájl felsorolja a kompatibilitástörő változásokat, az API kompatibilitási problémáit, az elavult mintákat és a frissítési hatókört.

Az értékelés után Copilot a következő három szakaszt futtatja:

  1. Assessment: Copilot megvizsgálja a projektstruktúrát, a függőségeket és a kódmintákat, majd bemutatja a felülvizsgálathoz szükséges stratégiai döntéseket, például a frissítési stratégiát (alulról felfelé, felülről lefelé vagy egyszerre), a projektfrissítési megközelítést, a technológia modernizálási lehetőségeit és a kompatibilitás kezelését. Copilot mentette a megerősített döntéseket upgrade-options.md.

  2. Planning: Copilot az értékelést és a megerősített beállításokat részletes specifikációvá alakítja. A plan.md fájl a frissítési stratégiákat, a megközelítések újrabontását, a függőségi útvonalakat és a kockázatcsökkentéseket dokumentálja.

  3. Execution: Copilot a tervet szekvenciális, konkrét tevékenységekre bontja tasks.md érvényesítési feltételekkel. Minden tevékenység egyetlen módosítást ír le, és azt, hogy Copilot hogyan erősíti meg a sikerességét.

A frissítési lépések módosításához vagy a kontextus hozzáadásához szerkessze bármelyik Markdown-fájlt .github/upgrades/{scenarioId} mielőtt továbblépne.

Frissítési stratégiák

Az értékelési szakaszban az ügynök kiértékeli a megoldást, és az alábbi stratégiák egyikét javasolja:

Strategy Legjobb a számára Description
Alulról felfelé Nagy megoldások mély függőségi gráfokkal Először a hierarchia alján lévő projekteket frissíti, majd halad felfelé.
Felülről lefelé Gyors visszajelzés a fő alkalmazásról Először frissíti az alkalmazásprojektet, majd kijavítja a függőségeket.
Egyszerre Kicsi, egyszerű megoldások Az összes projektet egy lépésben frissíti.

Folyamatmódok

Az ügynök két olyan folyamatmódot támogat, amelyek szabályozzák, hogy mennyi ideig szünetel a bemenet:

  • Automatikus: Az ügynök az összes fázisban szüneteltetés nélkül működik, és csak a valódi blokkolóknál áll meg. Tapasztalt felhasználók és egyszerű frissítések esetén a legjobb.
  • Vezetett: Az ügynök minden fázishatárnál megáll, így a folytatás előtt átnézheti a tervet, az értékelést és a feladatokat. Első alkalommal használt felhasználók és összetett megoldások esetén a legjobb.

Váltson a módok között bármikor a "szüneteltetés" (irányított mód beírásához) vagy a "folytatás" (az automatikus mód megadásához).

Állapotkezelés

Az ügynök az összes frissítési állapotot a következő helyen .github/upgrades/{scenarioId}/tárolja: . A mappa a következőket tartalmazza:

Fájl Alkalmazás célja
assessment.md A megoldás elemzése
upgrade-options.md Megerősített frissítési döntések
plan.md Rendezett tevékenységterv
tasks.md Élő folyamat irányítópultja
scenario-instructions.md Az ügynök állandó memóriája, beleértve a beállításokat, a döntéseket és az egyéni utasításokat
tasks/{taskId}/task.md Tevékenységenkénti hatókör és környezet
tasks/{taskId}/progress-details.md Feladatonkénti végrehajtási jegyzetek és eredmények

Mivel minden állapot ebben a mappában található, bezárhatja az IDE-t, válthat a munkamenetek között, vagy válthat a fejlesztési környezetek között (például a VS Code-ban kezdheti, és folytathatja a Visual Studio). Az ügynök ott veszi fel, ahol abbahagyta.

Tip

Véglegesítse a .github/upgrades/ mappát az ágon. A véglegesített állapot biztonsági mentésként szolgál, és lehetővé teszi a csapattagok számára a frissítés előrehaladásának megtekintését.

A frissítés végrehajtása

Az egyes fázisok befejezése után szükség szerint tekintse át és módosítsa a létrehozott fájlokat, majd mondja meg Copilot, hogy folytassa a következő szakaszt.

Amikor eléri a Execution szakaszt, kérje meg Copilot, hogy indítsa el a frissítést. Ha Copilot problémába ütközik, megpróbálja azonosítani az okot, és kijavítani. Ha a Copilot nem tudja kijavítani a problémát, segítséget kér. Amikor beavatkozik, Copilot tanul a végrehajtott módosításokból, és megpróbálja automatikusan alkalmazni őket, ha a probléma ismét felmerül.

A frissítés eredményei

Mivel Copilot minden feladatot futtat, a tasks.md.github/upgrades/{scenarioId} fájlját frissíti minden lépés állapotával. A fájl áttekintésével monitorozza az előrehaladást. Copilot létrehoz egy Git-véglegesítést a folyamat minden részére, így visszaállíthatja a módosításokat, vagy áttekintheti a módosításokat.

Amikor a frissítés befejeződik, Copilot megjeleníti a következő lépéseket a csevegési válaszban.

Telemetry

Az eszköz adatokat gyűjt a projekttípusokról, a frissítési szándékról és a frissítés időtartamáról. A fejlesztői környezet összegyűjti és összesíti az adatokat, és nem tartalmaz felhasználó által azonosítható információkat. További információ Microsoft adatvédelmi szabályzatáról: Visual Studio Customer Experience Improvement Program.