A C++ GitHub Copilot modernizálásának hibaelhárítása

Ez a cikk segít megoldani a C++ projektek frissítéséhez GitHub Copilot modernizálással kapcsolatos gyakori problémákat. Ha olyan problémába ütközik, amelyre itt nem térünk ki, használja a Súgó>Visszajelzés küldése>Probléma bejelentése lehetőséget a Visual Studióban.

Mielőtt elkezdenéd

Ellenőrizze, hogy a megoldás vagy a projekt buildjei

MSVC-frissítési forgatókönyvek esetén az ügynök a megoldás vagy projekt létrehozásával érvényesíti a módosításokat. Ha a megoldás vagy projekt már a kezdés előtt megszakadt, az ügynöknek nagyobb nehézséget okoz a már meglévő problémák megkülönböztetése a frissítés által okozott problémáktól.

Ha ismert buildelési problémákat tapasztal, dokumentálja őket egyéni utasításokban, adja meg őket a válaszában, amikor az ügynök kontextust kér az értékelési szakaszban, vagy adja hozzá őket scenario-instructions.md , hogy az ügynök tudja, hogy figyelmen kívül hagyja őket.

Nem véglegesített munka véglegesítése vagy elrejtése

Kezdje egy tiszta munkakönyvtárral. Az ügynök a működés közben véglegesítéseket végez, és a nem véglegesített módosítások és az ügynök módosításainak keveredése megnehezíti a módosítások áttekintését vagy visszaállítását.

git stash
git status

Nem Git-adattárak biztonsági mentése

Az ügynök olyan mappákkal is dolgozhat, amelyek nem tartoznak a forráskövetés alá. Ha a projekt nincs Git-adattárban, az ügynök kihagyja az elágaztatási és véglegesítési műveleteket. Mielőtt hozzákezd, biztonsági másolatot készíthet a projektmappáról, hogy szükség esetén visszaállíthassa azt.

Tip

Mielőtt elkezdené, érdemes lehet létrehozni egy helyi Git-adattárat, még akkor is, ha nem küldi fel egy távoli adattárba. Ez lehetővé teszi az egyes módosítások visszaállítását és az előrehaladás lépésről lépésre történő nyomon követését.

Példa:

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

Amikor ön és az ügynök végeztek, ha nem szeretné tovább használni a gitet, csak győződjön meg arról, hogy a munkakönyvtárában jelenleg lévő kód az, amit szeretne, és törölje a .git könyvtárat abban a könyvtárban, ahol a git init parancsot futtatta.

Gyakori problémák

Az ügynök nem jelenik meg a Copilot Chat

Symptoms: A GitHub Copilot csevegőablakban @Modernize beírása nem aktiválja az ügynököt, vagy Modernize nem jelenik meg a Megoldáskezelő helyi menüben.

Megoldások:

  1. Ellenőrizze, hogy Visual Studio 18.7-es vagy újabb verziójú-e Help>About Microsoft Visual Studio.
  2. Ellenőrizze, hogy GitHub Copilot aktív-e az állapotsor Copilot ikonjának keresésével.
  3. Ellenőrizze, hogy a funkció engedélyezve van-e a Tools>Options>GitHub>Copilot>C/C++. Ezután válassza az Enable GitHub Copilot modernization for C++ lehetőséget.
  4. A beállítások módosítása után indítsa újra Visual Studio.

Az ügynök elakad egy hurokban

Tünetek: Az ügynök többször is próbálkozik ugyanazzal a javítással, anélkül, hogy haladna.

Megoldások:

  • Állítsa le az ügynököt a Copilot Chat parancssori ablakban található Mégse gombbal, írja le, hogy mit figyel meg az üzenetben, és küldje el a kérést az ügynök folytatásához.
  • Adjon meg egy manuális javítást, és mondja el az ügynöknek, hogy mit módosított. Az ügynök tanul a javításból.
  • Kérje meg az ügynököt, hogy próbálkozzon egy másik megközelítéssel. Írja be például a GitHub Copilot csevegőablakba: "Ez a javítás nem működik. Próbáljon ki egy másik stratégiát."
  • Szükség esetén állítsa vissza vagy vonja vissza az utolsó módosításokat, majd indítsa újra a feladatot.

A nagy megoldások túl sokáig tarthatnak

Tünetek: A sok projekttel rendelkező nagy megoldás frissítése nagyon hosszú időt vesz igénybe, vagy úgy tűnik, hogy elakad.

Megoldások:

  • Kezdje egy reprezentatív projekttel próbaüzemként. Ez korán felszínre hozza a rendszerszintű problémákat.
  • A folyamat nyomon követéséhez tekintse át a(z) tasks.md elemet a(z) .github/upgrades/{SCENARIO ID} területen.
  • Ha egy munkamenet túllépi az időkorlátot, indítsa el az új munkamenetet. Az ügynök ott veszi fel, ahol abbahagyta.

Helyreállítási stratégiák

Az összes módosítás visszavonása

Ha Git-ágat használt a frissítéshez, vonjon vissza mindent:

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

Az eredeti kód érintetlen.

Az utolsó módosítás visszavonása

A legutóbbi véglegesítés visszaállítása:

git revert HEAD

Vagy mondja meg az ügynöknek, Revert the last change.

Újraindítás egy adott fázisból

Ha az ügynök terve nem működik, indítsa újra egy korábbi szakaszból a következőhöz hasonló üzenet küldésével:

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

Újrakezdés

Törölje a .github/upgrades/{SCENARIO ID} mappát, és kezdjen új beszélgetést az ügynökkel. Az alapoktól kezdődik.

Segítség kérése

Ha nem tudja megoldani a problémát:

  1. A Visual Studio alkalmazásban használja a Súgó>Visszajelzés küldése>Probléma bejelentése lehetőséget.
  2. Ha lehetséges, adja meg a execution-log.md forrás .github/upgrades/{SCENARIO ID} tartalmát.