Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Aangepaste upgrade-instructies zijn Markdown-bestanden die GitHub Copilot modernisering begeleiden om specifieke transformaties toe te passen tijdens een upgrade. Maak deze bestanden om terugkerende wijzigingen te automatiseren, zoals het vervangen van een bibliotheek door een andere bibliotheek of het toepassen van een specifieke API-upgrade.
In dit artikel wordt uitgelegd hoe u een aangepast upgrade-instructiebestand maakt en structureerde, het afzonderlijk test en integreert in de evaluatiefase van een upgradewerkstroom.
Vereiste voorwaarden
Stel GitHub Copilot modernisering in uw ontwikkelomgeving in voordat u aangepaste instructies maakt. Zie Install GitHub Copilot modernization voor installatiestappen.
Begrijp aangepaste upgrade-instructies
GitHub Copilot modernisering haalt aangepaste upgrade-instructies op als Markdown-bestanden op aanvraag tijdens de evaluatie- en planningsfasen van een upgrade. Aangepaste upgrade-instructies verschillen van copilot-instructions.md , omdat dit het volgende is:
- Gericht op het automatiseren van wijzigingen in code en afhankelijkheid.
- Alleen opgehaald wanneer dit relevant is voor de huidige upgrade-evaluatie of -planning.
- Herbruikbaar in oplossingen wanneer ze naar elke opslagplaats worden gekopieerd.
Structureer uw instructiebestanden met:
- Een korte titel die de actie beschrijft. Bijvoorbeeld 'vervang Newtonsoft.Json door System.Text.Json'.
- Een beknopte probleemverklaring of sectie met vereisten.
- Expliciete staplogica ('Als X is gevonden, doet u Y'). Vermijd vage taal.
- (Aanbevolen) Een of meer diff-voorbeelden die zijn vastgelegd op basis van werkelijke lokale bewerkingen om transformaties te begeleiden.
Naast aangepaste upgrade-instructies kunt u GitHub Copilot modernisering uitbreiden via het standaardsysteem voor vaardigheden en instructies. Vaardigheden voegen mogelijkheden toe aan de agent en instructiebestanden (zoals copilot-instructions.md) bieden globale richtlijnen.
Een aangepaste upgrade-instructie maken
Volg deze stappen om een nieuw instructiebestand te genereren en te verfijnen. Deze secties richten zich op het vervangen van Newtonsoft.Json door System.Text.Json als een voorbeeld.
Klik in het venster Solution Explorer met de rechtermuisknop op de solution>Modernize.
– of –
Open het Copilot chatvenster en typ
@Modernizeom een gesprek met de agent te starten.Opmerking
Deze stappen zijn van toepassing op Visual Studio. Roep in Visual Studio Code en andere omgevingen de
modernize-dotnet-agent rechtstreeks aan vanuit het Copilot chatvenster. In Visual Studio heet de agentModernize.Typ in de chat:
I want to generate a custom upgrade instruction.Wanneer daarom gevraagd wordt, geef een scenario op zoals
I want to replace Newtonsoft with System.Text.Jsonom Copilot het bestand te laten maken.Wanneer Copilot het nieuwe bestand maakt, zoals
replace_newtonsoft_with_system_text_json.md, controleert u de inhoud en verfijnt u het in de chat. Vraag bijvoorbeeld Copilot om 'detectiecriteria verduidelijken' of 'een sectie met vereisten toevoegen'Aanbeveling
Voeg het bestand toe aan de oplossing voor zichtbaarheid als het nog niet is opgenomen.
Versterk de instructie met echte diff-voorbeelden.
- Breng de gewenste codewijzigingen handmatig aan in één project. Bijvoorbeeld: "verwijder het
Newtonsoft.Json-pakket, werk bij met behulp van richtlijnen, en vervangJsonConvert-code doorJsonSerializer." - In chat, met het instructiebestand geopend, typt u:
Check my git changes and add diffs as examples to my instruction file. - Controleer Copilot een Git-diff heeft gebruikt en een ommuurd diff-blok of gestructureerd voorbeeld aan het Markdown-bestand hebt toegevoegd.
- Breng de gewenste codewijzigingen handmatig aan in één project. Bijvoorbeeld: "verwijder het
Tips voor het schrijven
Volg deze richtlijnen om duidelijke, effectieve aangepaste upgrade-instructies te schrijven die Copilot betrouwbaar kunnen interpreteren:
- Duidelijke voorwaardelijke formulering gebruiken:
If code references X, then do Y. - Eén transformatie per bestand behouden; vereisten gebruiken wanneer meerdere bestanden op volgorde moeten worden uitgevoerd.
- Geef ten minste één concreet voorbeeld op, zoals een diff of voor/na fragment, om de nauwkeurigheid van de transformatie te verbeteren.
- Vermijd dubbelzinnige werkwoorden zoals 'verbeteren' of 'fix'; gebruik expliciete acties zoals 'vervangen', 'verwijderen' en 'bijwerken'.
Een aangepaste upgrade-instructie testen (eenmalige uitvoering)
Voordat u de instructie uitvoert tijdens een upgrade, valideert u deze geïsoleerd. Geïsoleerde tests helpen u bij het verfijnen van detectie en het verifiëren van codewijzigingen.
Klik in het venster Solution Explorer met de rechtermuisknop op de solution>Modernize.
Opmerking
Deze stappen zijn van toepassing op Visual Studio. Roep in Visual Studio Code en andere omgevingen de
modernize-dotnet-agent rechtstreeks aan vanuit het Copilot chatvenster.Roep in de chat de instructie aan met tekst die vergelijkbaar is met de bestandsnaam. Bijvoorbeeld:
replace Newtonsoft with System.Text.Json.Bevestig in het chatvenster dat Copilot het instructiebestand heeft opgehaald:
> 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.Als Copilot niet aangeeft dat de instructies zijn gevonden, probeert u het opnieuw met trefwoorden uit de naam van het bestand, zoals dezelfde combinatie van werkwoorden en zelfstandig naamwoorden.
Controleer de voorgestelde wijzigingen (oplossingsverschil, doorvoeringen in behandeling of preview-wijzigingen) om te bevestigen dat de aangepaste upgrade-instructie werkt zoals verwacht.
Validatietips
Als de testuitvoering niet de verwachte resultaten oplevert, gebruikt u deze tips voor probleemoplossing om uw instructiebestand te verfijnen:
- Als Copilot alleen pakketversies bijwerkt in plaats van het pakket te vervangen, moet u ervoor zorgen dat de instructie expliciet het oude pakket verwijdert of vervangt.
- Gebruik consistente naamgeving zodat activering in natuurlijke taal overeenkomt. Start bijvoorbeeld de bestandsnaam met
replace_en begin uw chataanvraag met 'Vervangen ...'. - Voeg tijdens het testen ontbrekende codepatronen toe als voorbeelden om de dekking te verbeteren.
Aangepaste instructies toepassen tijdens een upgrade
Gebruik deze stappen om een bestaande aangepaste upgrade-instructie op te nemen in de evaluatiefase van een upgrade.
Klik in het venster Solution Explorer met de rechtermuisknop op de solution>Modernize.
Opmerking
Deze stappen zijn van toepassing op Visual Studio. Roep in Visual Studio Code en andere omgevingen de
modernize-dotnet-agent rechtstreeks aan vanuit het Copilot chatvenster.Kies in de chat
Upgrade to a newer version of .NET. Beantwoord de vragen van Copilot totdat de evaluatie begint.Controleer de chat om te zien of Copilot automatisch uw aangepaste instructiebestand ophaalt tijdens de evaluatie. Zoek een bericht dat aangeeft dat het markdown-instructiebestand is geopend.
Als Copilot de aangepaste instructies niet automatisch toepast, vraagt u deze expliciet aan. Gebruik formuleringen die vergelijkbaar zijn met de bestandsnaam. Bijvoorbeeld:
use the custom instructions to replace Newtonsoft with System.Text.Json during the assessment.Wacht tot Copilot bevestigt dat het Markdown-bestand is opgehaald. Als u geen verwijzing naar het instructiebestand ziet, plaatst u de aanvraag opnieuw met behulp van de sleutelwoorden van het bestand (vervangen, bijwerken, verwijderen) en pakketnamen.
Controleer het gegenereerde
assessment.mdbestand in de.github/upgradesmap. Controleer of de evaluatie problemen en wijzigingen bevat die door uw aangepaste instructie zijn geïdentificeerd.Bij het vervangen van Newtonsoft identificeert de evaluatie bijvoorbeeld het volgende:
- Projecten met
Newtonsoft.Json-pakketten. - Codepatronen om te refactoren voor
System.Text.Json. - Afhankelijkheden die moeten worden verwijderd of vervangen.
- Projecten met
Bewerk het
assessment.mdbestand indien nodig om context toe te voegen of pas de geïdentificeerde problemen aan voordat u doorgaat.Vertel Copilot om door te gaan naar de planningsfase zodra de evaluatie uw aangepaste instructie weerspiegelt.
Controleer het bestand
plan.mddat Copilot genereert. Dit bestand bevat strategieën voor het oplossen van de problemen van de evaluatie.Voortzetten door de uitvoeringsfase door Copilot te instrueren om verder te gaan. Bewaak het bestand
tasks.mdzodra Copilot de transformaties toepast.
Tips voor betere activering
Hoe u aangepaste upgrade-instructies een naam geeft en aanroept, is van invloed op de vraag of Copilot deze automatisch ophaalt. Volg deze richtlijnen om de betrouwbaarheid van de activering te verbeteren:
- Komt overeen met het werkwoord van het bestand. Als de bestandsnaam wordt gebruikt
replace, gebruikt u die formulering (nietupgradeoffix). - Houd één transformatie per bestand voor duidelijkheid en hergebruik. Meerdere bestanden sequentieer door de vereisten in elk bestand op te slaan.
- Vraag aangepaste instructies aan tijdens de evaluatiefase voor de beste resultaten, in plaats van te wachten totdat de planning of uitvoering is uitgevoerd.
- Vermijd dubbelzinnige aanvragen, zoals 'de evaluatie verbeteren'. Wees expliciet: "pas de replace_newtonsoft_with_system_text_json instructies toe tijdens de evaluatie."
De toegepaste wijzigingen valideren
Nadat de upgrade is voltooid:
- Controleer het
tasks.mdbestand in.github/upgradesom de status van taken te zien die betrekking hebben op uw aangepaste instructie. - Controleer de Git-doorvoeringen die zijn gemaakt tijdens de uitvoeringsfase op wijzigingen die betrekking hebben op de aangepaste instructie.
- Voer uw tests uit om ervoor te zorgen dat functioneel gedrag correct blijft.
- Optioneel: Leg een diff-voorbeeld vast van de geslaagde wijziging en voeg het toe aan het instructiebestand om toekomstige automatisering te versterken.
De hulpbronnen opschonen
Verwijder of consolideert tijdelijke instructiebestanden om overlappende transformaties in toekomstige upgrades te voorkomen.