Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
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:
- Ellenőrizze, hogy Visual Studio 18.7-es vagy újabb verziójú-e Help>About Microsoft Visual Studio.
- Ellenőrizze, hogy GitHub Copilot aktív-e az állapotsor Copilot ikonjának keresésével.
- 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.
- 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.mdelemet 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:
- A Visual Studio alkalmazásban használja a Súgó>Visszajelzés küldése>Probléma bejelentése lehetőséget.
- Ha lehetséges, adja meg a
execution-log.mdforrás.github/upgrades/{SCENARIO ID}tartalmát.