Problemen met GitHub Copilot modernisering voor C++ oplossen

Dit artikel helpt u bij het oplossen van veelvoorkomende problemen wanneer u GitHub Copilot modernisering gebruikt om uw C++-projecten te upgraden. Als u een probleem ondervindt dat hier niet wordt behandeld, gebruikt u Help>Send Feedback>Rapport een probleem in Visual Studio.

Voordat u begint

Controleer of uw oplossing of project kan worden gebouwd

Voor MSVC-upgradescenario's valideert de agent wijzigingen door uw oplossing of project te bouwen. Als uw oplossing of project al is verbroken voordat u begint, ondervindt de agent meer moeite om bestaande problemen te onderscheiden van problemen die zijn geïntroduceerd door de upgrade.

Als u bekende buildproblemen hebt, documenteer ze dan in aangepaste instructies, geef ze op in uw antwoord wanneer de agent tijdens de evaluatiefase om context vraagt of voeg ze toe zodat scenario-instructions.md de agent ze weet te negeren.

Niet-doorgevoerd werk doorvoeren of stash

Begin met een schone werkmap. De agent maakt commits terwijl hij werkt, en het mengen van niet-gecommitte wijzigingen met de aanpassingen van de agent maakt het moeilijker om wijzigingen te beoordelen of terug te draaien.

git stash
git status

Back-ups maken van niet-Git-opslagplaatsen

De agent kan ook werken met mappen die zich niet onder broncodebeheer bevinden. Als uw project zich niet in een Git-opslagplaats bevindt, slaat de agent vertakkings- en doorvoerbewerkingen over. Maak een back-up van de projectmap voordat u begint, zodat u deze indien nodig kunt herstellen.

Tip

Overweeg om een lokale Git-opslagplaats te initialiseren voordat u begint, zelfs als u niet naar een externe locatie pusht. Dit biedt u een manier om afzonderlijke wijzigingen terug te draaien en de voortgang stap voor stap bij te houden.

Example:

git init
git add
git commit -m "Initial Commit"

Wanneer u en de agent klaar zijn, en u Git niet wilt blijven gebruiken, zorg er dan gewoon voor dat de code die momenteel in uw werkmap staat, is wat u wilt, en verwijder de map .git in de map van waaruit u git init hebt uitgevoerd.

Veelvoorkomende problemen

Agent wordt niet weergegeven in Copilot Chat

Symptomen: als u @Modernize typt in het chatvenster van GitHub Copilot, wordt de agent niet geactiveerd of wordt Modernize niet weergegeven in het contextmenu Solution Explorer.

Oplossingen:

  1. Controleer of Visual Studio versie 18.7 of hoger is in Help>About Microsoft Visual Studio.
  2. Controleer of GitHub Copilot actief is door te controleren op het pictogram Copilot in de statusbalk.
  3. Controleer of de functie is ingeschakeld in Tools>Options>GitHub>Copilot>C/C++. Selecteer vervolgens Enable GitHub Copilot modernization for C++.
  4. Start Visual Studio opnieuw nadat u de instellingen hebt gewijzigd.

Agent loopt vast in een lus

Symptomen: De agent probeert herhaaldelijk dezelfde oplossing zonder vooruitgang te boeken.

Oplossingen:

  • Stop de agent met de knop Annuleren in het venster Copilot Chat prompt, beschrijf wat u in de prompt ziet en verzend de prompt om de agent te hervatten.
  • Geef een handmatige oplossing op en vertel de agent wat u hebt gewijzigd. De agent leert van uw correctie.
  • Vraag de agent om een andere benadering te proberen. Typ bijvoorbeeld het GitHub Copilot chatvenster: 'Deze oplossing werkt niet. Probeer een andere strategie."
  • Indien nodig kunt u de laatste wijzigingen terugzetten of ongedaan maken en de taak opnieuw starten.

Grote oplossingen duren te lang

Symptomen: De upgrade van een grote oplossing met veel projecten duurt erg lang of lijkt te staan.

Oplossingen:

  • Begin met één representatief project als pilot. Hierdoor komen systemische problemen vroegtijdig aan het licht.
  • Bewaak de voortgang door tasks.md in .github/upgrades/{SCENARIO ID} te controleren.
  • Als een sessie verloopt, start u een nieuwe sessie. De agent gaat verder waar het was gebleven.

Herstelstrategieën

Alle wijzigingen ongedaan maken

Als u een Git-vertakking voor de upgrade hebt gebruikt, moet u alles ongedaan maken:

git checkout your-original-branch
git branch -D upgrade-branch

Uw oorspronkelijke code is ongewijzigd.

De laatste wijziging ongedaan maken

Maak de meest recente commit ongedaan:

git revert HEAD

Of vertel de agent, Revert the last change.

Opnieuw opstarten vanuit een specifieke fase

Als het plan van de agent niet werkt, start u opnieuw vanaf een eerdere fase door een prompt te verzenden die vergelijkbaar is met:

  • Let's redo the plan. I want a different approach to the conformance issues.
  • Go back to the assessment and reconsider the upgrade strategy.

Opnieuw beginnen

Verwijder de .github/upgrades/{SCENARIO ID} map en start een nieuw gesprek met de agent. Het begint vanaf nul.

Hulp krijgen

Als u een probleem niet kunt oplossen:

  1. Gebruik Help>Send Feedback>Rapport een probleem in Visual Studio.
  2. Neem indien mogelijk de inhoud van execution-log.md uit .github/upgrades/{SCENARIO ID} op.