Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Benutzerdefinierte Upgradeanweisungen sind Markdown-Dateien, die GitHub Copilot Upgrade zur Anwendung bestimmter Transformationen während eines Upgrades führen. Erstellen Sie diese Dateien, um sich wiederholende Änderungen zu automatisieren, z. B. das Ersetzen einer Bibliothek durch eine andere oder das Anwenden eines bestimmten API-Upgrades.
In diesem Artikel wird erläutert, wie Sie eine benutzerdefinierte Upgradeanweisungsdatei erstellen und strukturieren, sie isoliert testen und in die Bewertungsphase eines Upgradeworkflows integrieren.
Voraussetzungen
Richten Sie GitHub Copilot Upgrade in Ihrer Entwicklungsumgebung ein, bevor Sie benutzerdefinierte Anweisungen erstellen. Installationsschritte finden Sie unter Installieren GitHub Copilot Upgrades.
Verstehen Sie benutzerdefinierte Anweisungen zum Upgrade
GitHub Copilot Upgrade ruft benutzerdefinierte Upgradeanweisungen als Markdown-Dateien bei Bedarf während der Bewertungs- und Planungsphase eines Upgrades ab. Benutzerdefinierte Upgrade-Anweisungen unterscheiden sich von copilot-instructions.md in folgenden Punkten:
- Gezielt auf die Automatisierung von Code- und Abhängigkeitsänderungen.
- Wird nur abgerufen, wenn es für die aktuelle Upgradebewertung oder den aktuellen Plan relevant ist.
- Wiederverwendbar über Lösungen hinweg, wenn in jedes Repository kopiert.
Strukturieren Sie Ihre Anweisungsdateien mit:
- Ein kurzer Titel, der die Aktion beschreibt. Beispiel: "Newtonsoft.Json durch System.Text.Json ersetzen"
- Eine präzise Problemausweisung oder ein abschnitt mit Voraussetzungen.
- Explizite Schrittlogik ("Wenn X gefunden wird, do Y"). Vermeiden Sie vage Sprache.
- (Empfohlen) Ein oder mehrere Diff-Beispiele, die aus tatsächlichen lokalen Bearbeitungen erfasst wurden, als Leitfaden für Transformationen.
Über benutzerdefinierte Upgradeanweisungen hinaus können Sie GitHub Copilot Upgrade über das Standardfertigkeiten- und Anleitungssystem erweitern. Fähigkeiten fügen dem Agenten Funktionen hinzu, und Anleitungsdateien (wie copilot-instructions.md) bieten globale Anleitung.
Erstellen einer benutzerdefinierten Upgradeanweisung
Führen Sie die folgenden Schritte aus, um eine neue Anweisungsdatei zu generieren und zu verfeinern. Diese Abschnitte konzentrieren sich darauf, Newtonsoft.Json durch System.Text.Json zu ersetzen, als Beispiel.
Starten des Upgrades
Führen Sie die folgenden Schritte aus, um ein Upgrade zu starten:
Starten Sie den Agent mit einer der folgenden Methoden:
-
Visual Studio: Klicken Sie mit der rechten Maustaste auf die Lösung oder das Projekt im Projektmappen-Explorer und wählen Sie Modernize aus. Öffnen Sie alternativ das GitHub-Copilot Chat-Fenster, und geben Sie folgendes ein
@Modernize. -
Visual Studio Code: Öffnen Sie den Bereich GitHub Copilot Chat, und geben Sie
@upgradeein. -
GitHub Copilot CLI: Geben Sie
@upgradegefolgt von Ihrer Upgrade- oder Migrationsanforderung ein. -
GitHub-App Copilot: Wählen Sie in der Agentauswahl die Option
Upgradeaus.
-
Visual Studio: Klicken Sie mit der rechten Maustaste auf die Lösung oder das Projekt im Projektmappen-Explorer und wählen Sie Modernize aus. Öffnen Sie alternativ das GitHub-Copilot Chat-Fenster, und geben Sie folgendes ein
Informieren Sie den Agent, was aktualisiert oder migriert werden soll.
Erstellen der Anweisungsdatei
Geben Sie im Chat Folgendes ein:
I want to generate a custom upgrade instruction.Wenn du gefragt wirst, gib ein Szenario wie
I want to replace Newtonsoft with System.Text.Jsonan, damit Copilot die Datei erstellt.Wenn Copilot die neue Datei erstellt, z. B.
replace_newtonsoft_with_system_text_json.md, überprüfen Sie den Inhalt und verfeinern Sie ihn im Chat. Bitte fragen Sie z. B. Copilot, "Erkennungskriterien klarzustellen" oder "einen Abschnitt über Voraussetzungen hinzuzufügen."Tip
Fügen Sie die Datei zur Sichtbarkeit hinzu, wenn sie noch nicht enthalten ist.
Stärken Sie die Anweisung mit echten Diff-Beispielen.
- Nehmen Sie die gewünschten Codeänderungen manuell in einem Projekt vor. Beispiel: "Entfernen Sie das
Newtonsoft.JsonPaket, aktualisieren Sie das Paket mithilfe von Direktiven, und ersetzen SieJsonConvertCode durchJsonSerializer." - Geben Sie im Chat mit geöffneter Anweisungsdatei Folgendes ein:
Check my git changes and add diffs as examples to my instruction file. - Bestätigen Sie, Copilot einen Git-Diff verwendet und einen eingezäunten Diff-Block oder ein strukturiertes Beispiel an die Markdown-Datei angefügt hat.
- Nehmen Sie die gewünschten Codeänderungen manuell in einem Projekt vor. Beispiel: "Entfernen Sie das
Tipps zur Inhaltserstellung
Befolgen Sie diese Richtlinien, um klare, effektive benutzerdefinierte Upgradeanweisungen zu schreiben, die Copilot zuverlässig interpretieren kann:
- Verwenden Sie klare bedingte Ausdrücke:
If code references X, then do Y. - Behalten Sie eine Transformation pro Datei bei; Verwenden Sie voraussetzungen, wenn mehrere Dateien in Sequenz ausgeführt werden müssen.
- Stellen Sie mindestens ein konkretes Beispiel bereit, z. B. einen Diff- oder Before/After-Codeausschnitt, um die Transformationsgenauigkeit zu verbessern.
- Vermeiden Sie mehrdeutige Verben wie "verbessern" oder "korrigieren"; Verwenden Sie explizite Aktionen wie "Ersetzen", "Entfernen" und "Aktualisieren".
Testen einer benutzerdefinierten Upgradeanweisung (einmalige Ausführung)
Bevor Sie die Anweisung während eines Upgrades ausführen, überprüfen Sie sie isoliert. Isolierte Tests helfen Ihnen, die Erkennung zu verfeinern und Codeänderungen zu überprüfen.
Starten des Upgrades
Führen Sie die folgenden Schritte aus, um ein Upgrade zu starten:
Starten Sie den Agent mit einer der folgenden Methoden:
-
Visual Studio: Klicken Sie mit der rechten Maustaste auf die Lösung oder das Projekt im Projektmappen-Explorer und wählen Sie Modernize aus. Öffnen Sie alternativ das GitHub-Copilot Chat-Fenster, und geben Sie folgendes ein
@Modernize. -
Visual Studio Code: Öffnen Sie den Bereich GitHub Copilot Chat, und geben Sie
@upgradeein. -
GitHub Copilot CLI: Geben Sie
@upgradegefolgt von Ihrer Upgrade- oder Migrationsanforderung ein. -
GitHub-App Copilot: Wählen Sie in der Agentauswahl die Option
Upgradeaus.
-
Visual Studio: Klicken Sie mit der rechten Maustaste auf die Lösung oder das Projekt im Projektmappen-Explorer und wählen Sie Modernize aus. Öffnen Sie alternativ das GitHub-Copilot Chat-Fenster, und geben Sie folgendes ein
Informieren Sie den Agent, was aktualisiert oder migriert werden soll.
Testen Sie die Anleitung zum Upgrade
Rufen Sie im Chat die Anweisung mit einer Wortwahl ähnlich dem Dateinamen auf. Beispiel:
replace Newtonsoft with System.Text.JsonBestätigen Sie im Chatfenster, dass Copilot die Anweisungsdatei abgerufen hat:
> 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.Wenn Copilot nicht angibt, dass sie die Anweisungen gefunden hat, versuchen Sie es erneut mit Schlüsselwörtern aus dem Namen der Datei, z. B. dasselbe Verb und die gleichen Substantivkombinationen.
Überprüfen Sie die vorgeschlagenen Änderungen (Lösungs-Diffs, ausstehende Commits oder vorgesehene Änderungen), um sicherzustellen, dass sich die benutzerdefinierte Upgrade-Anweisung wie erwartet verhält.
Überprüfungstipps
Wenn die Testausführung nicht zu den erwarteten Ergebnissen führt, verwenden Sie diese Tipps zur Problembehandlung, um Ihre Anweisungsdatei zu verfeinern:
- Wenn Copilot nur Paketversionen aktualisiert, anstatt das Paket zu ersetzen, stellen Sie sicher, dass die Anweisung explizit angibt, das alte Paket zu entfernen oder zu ersetzen.
- Verwenden Sie eine konsistente Benennung, sodass die Aktivierung in natürlicher Sprache übereinstimmt. Starten Sie z. B. den Dateinamen mit
replace_und beginnen Sie mit Ihrer Chatanfrage mit "Ersetzen ...". - Fügen Sie während des Tests fehlende Codemuster als Beispiele hinzu, um die Abdeckung zu verbessern.
Anwenden von benutzerdefinierten Anweisungen während eines Upgrades
Führen Sie diese Schritte aus, um eine vorhandene benutzerdefinierte Upgradeanweisung in die Bewertungsphase eines Upgrades zu integrieren.
Starten des Upgrades
Führen Sie die folgenden Schritte aus, um das Upgrade zu starten:
Starten Sie den Agent mit einer der folgenden Methoden:
-
Visual Studio: Klicken Sie mit der rechten Maustaste auf die Lösung oder das Projekt im Projektmappen-Explorer und wählen Sie Modernize aus. Öffnen Sie alternativ das GitHub-Copilot Chat-Fenster, und geben Sie folgendes ein
@Modernize. -
Visual Studio Code: Öffnen Sie den Bereich GitHub Copilot Chat, und geben Sie
@upgradeein. -
GitHub Copilot CLI: Geben Sie
@upgradegefolgt von Ihrer Upgrade- oder Migrationsanforderung ein. -
GitHub-App Copilot: Wählen Sie in der Agentauswahl die Option
Upgradeaus.
-
Visual Studio: Klicken Sie mit der rechten Maustaste auf die Lösung oder das Projekt im Projektmappen-Explorer und wählen Sie Modernize aus. Öffnen Sie alternativ das GitHub-Copilot Chat-Fenster, und geben Sie folgendes ein
Informieren Sie den Agent, was aktualisiert oder migriert werden soll.
Anpassen des Upgrades
Führen Sie die folgenden Schritte während der Bewertungsphase aus:
Überwachen Sie den Chat, um festzustellen, ob Copilot während der Beurteilung automatisch Ihre benutzerdefinierte Anweisungsdatei abruft. Suchen Sie nach einer Nachricht, die angibt, dass sie die Markdown-Anweisungsdatei geöffnet hat.
Wenn Copilot die benutzerdefinierten Anweisungen nicht automatisch anwendet, fordern Sie sie explizit an. Verwenden Sie die Formulierung ähnlich dem Dateinamen. Beispiel:
use the custom instructions to replace Newtonsoft with System.Text.Json during the assessmentWarten Sie, bis Copilot die Markdown-Datei abgerufen hat. Wenn kein Verweis auf die Anweisungsdatei angezeigt wird, sollten Sie die Anforderung mit den Schlüsselverben der Datei (Ersetzen, Aktualisieren, Entfernen) und Paketnamen erneut aufrufen.
Überprüfen Sie die generierte
assessment.mdDatei im.github/upgradesOrdner. Bestätigen Sie, dass die Bewertung Probleme und Änderungen enthält, die ihre benutzerdefinierte Anweisung identifiziert hat.Beim Ersetzen von Newtonsoft identifiziert die Bewertung beispielsweise Folgendes:
- Projekte, die
Newtonsoft.JsonPakete verwenden. - Codemuster zum Umgestalten für
System.Text.Json. - Abhängigkeiten, die entfernt oder ersetzt werden sollen.
- Projekte, die
Bearbeiten Sie bei Bedarf die
assessment.mdDatei, um Kontext hinzuzufügen oder die identifizierten Probleme anzupassen, bevor Sie fortfahren.Sagen Sie Copilot, dass es zur Planungsphase weitergeht, sobald die Bewertung Ihre benutzerdefinierte Anweisung widerspiegelt.
Überprüfen Sie die
plan.mdDatei, die Copilot generiert. Diese Datei enthält Strategien zur Behandlung der Probleme aus der Bewertung.Fahren Sie mit der Ausführungsphase fort, indem Sie Copilot anweisen, fortzufahren. Überwachen Sie die
tasks.mdDatei, während Copilot die Transformationen anwendet.
Tipps für eine bessere Aktivierung
Wie benutzerdefinierte Aktualisierungsanweisungen benannt und aufgerufen werden, beeinflusst, ob Copilot sie automatisch abruft. Befolgen Sie die folgenden Richtlinien, um die Zuverlässigkeit der Aktivierung zu verbessern:
- Vergleichen Sie das Verb der Datei. Wenn der Dateiname
replaceverwendet wird, nutzen Sie diese Formulierung (nichtupgradeoderfix). - Behalten Sie eine Transformation pro Datei für Klarheit und Wiederverwendung bei. Mehrere Dateien sequenzieren, indem Sie die Voraussetzungen in jeder Datei auflisten.
- Fordern Sie während der Bewertungsphase benutzerdefinierte Anweisungen an, um optimale Ergebnisse zu erzielen, anstatt bis zur Planung oder Ausführung zu warten.
- Vermeiden Sie mehrdeutige Anforderungen wie "Verbessern der Bewertung". Seien Sie explizit: "Wenden Sie die replace_newtonsoft_with_system_text_json Anweisungen während der Bewertung an.".
Überprüfen der angewendeten Änderungen
Nach Abschluss des Upgrades:
- Überprüfen Sie die
tasks.md-Datei in.github/upgrades, um den Status der Aufgaben zu Ihrer benutzerdefinierten Anweisung zu sehen. - Überprüfen Sie die Git-Commits, die während der Ausführungsphase erstellt wurden, auf Änderungen im Zusammenhang mit der benutzerdefinierten Anweisung.
- Führen Sie Ihre Tests aus, um sicherzustellen, dass das Funktionsverhalten korrekt bleibt.
- Optional: Erfassen Sie ein Diff-Beispiel aus der erfolgreichen Änderung, und fügen Sie es der Anweisungsdatei hinzu, um die zukünftige Automatisierung zu stärken.
Bereinigen von Ressourcen
Entfernen oder konsolidieren Sie temporäre Anweisungsdateien, um überlappende Transformationen in zukünftigen Upgrades zu vermeiden.