Řešení problémů s modernizací v GitHub Copilot pro C++

Tento článek vám pomůže vyřešit běžné problémy, se kterými se můžete setkat při používání GitHub Copilot modernization k upgradu vašich projektů v jazyce C++. Pokud narazíte na problém, který zde není uveden, použijte v aplikaci Visual Studio možnost Nápověda>Odeslat zpětnou vazbu>Nahlásit problém.

Než začnete

Ověřte, že se vaše řešení nebo projekt úspěšně sestaví

V případě scénářů upgradu MSVC agent ověří změny sestavením řešení nebo projektu. Pokud vaše řešení nebo projekt už nefunguje ještě předtím, než začnete, bude mít agent větší potíže s rozlišením již existujících problémů od problémů způsobených upgradem.

Pokud máte známé problémy se sestavením, zdokumentujte je do vlastních pokynů, uveďte je ve své odpovědi, když agent během fáze hodnocení požádá o kontext, nebo je přidejte do scenario-instructions.md, aby agent věděl, že je má ignorovat.

Potvrzení nebo dočasné uložení neuložené práce

Začněte čistým pracovním adresářem. Agent během práce vytváří commity a míchání nepotvrzených změn s úpravami agenta ztěžuje kontrolu nebo vrácení změn.

git stash
git status

Zálohování úložišť mimo Git

Agent může také pracovat se složkami, které nejsou ve správě zdrojového kódu. Pokud váš projekt není v úložišti Git, agent přeskočí vytváření větví a commity. Než začnete, zálohujte složku projektu, abyste ji mohli v případě potřeby obnovit.

Tip

Než začnete, zvažte inicializaci místního repozitáře Git, i když na vzdálený repozitář nebudete odesílat změny. Díky tomu můžete vrátit jednotlivé změny zpět a sledovat průběh krok za krokem.

Příklad:

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

Až budete s agentem hotovi, pokud už nechcete Git dále používat, ujistěte se, že kód aktuálně ve vašem pracovním stromu odpovídá tomu, co chcete, a odstraňte adresář .git v adresáři, ve kterém jste spustili git init.

Běžné problémy

Agent se nezobrazuje v Copilot Chat

Příznaky: Při psaní @Modernize v okně chatu služby GitHub Copilot se agent neaktivuje nebo se položka Modernize nezobrazuje v místní nabídce Průzkumník řešení.

Řešení:

  1. Ověřte, že používáte Visual Studio verze 18.7 nebo novější v nabídce Help>About Microsoft Visual Studio.
  2. Zkontrolujte, jestli je GitHub Copilot aktivní, a to tak, že na stavovém řádku vyhledáte ikonu Copilot.
  3. Zkontrolujte, jestli je tato funkce povolená v Tools>Options>GitHub>Copilot>C/C++. Pak vyberte Povolit modernizaci GitHub Copilot pro C++.
  4. Po změně nastavení restartujte Visual Studio.

Agent se zasekne ve smyčce.

Příznaky: Agent opakovaně zkouší stejnou opravu bez pokroku.

Řešení:

  • Zastavte agenta tlačítkem zrušit v okně výzvy Copilot Chat, popište, co na příkazovém řádku pozorujete, a odešlete výzvu k obnovení agenta.
  • Zadejte ruční opravu a sdělte agentovi, co jste změnili. Agent se učí z vaší opravy.
  • Požádejte agenta, aby vyzkoušel jiný přístup. Zadejte například okno chatu GitHub Copilot: "Oprava nefunguje. Zkuste jinou strategii."
  • V případě potřeby zrušte nebo obnovte poslední změny a spusťte úlohu znovu.

Velká řešení trvá příliš dlouho

Příznaky: Upgrade velkého řešení s mnoha projekty trvá velmi dlouho nebo se zdá, že se zastaví.

Řešení:

  • Začněte jedním reprezentativním projektem jako pilotní projekt. To pomáhá včas odhalit systémové problémy.
  • Sledujte průběh kontrolou tasks.md v .github/upgrades/{SCENARIO ID}.
  • Pokud vyprší časový limit relace, spusťte novou relaci. Agent se zvedne tam, kde to skončilo.

Strategie obnovení

Vrácení všech změn zpět

Pokud jste pro upgrade použili větev Gitu, vraťte všechno zpět:

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

Původní kód není nedotčený.

Vraťte zpět poslední změnu

Vrácení nejnovějšího potvrzení:

git revert HEAD

Nebo sdělte agentovi, Revert the last change.

Restartovat od konkrétní fáze

Pokud plán agenta nefunguje, restartujte ho z předchozí fáze odesláním výzvy podobné:

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

Začít znovu

.github/upgrades/{SCENARIO ID} Odstraňte složku a spusťte novou konverzaci s agentem. Začíná úplně od začátku.

Získání pomoci

Pokud nemůžete problém vyřešit:

  1. Použijte Nápověda>Odeslat zpětnou vazbu>Nahlásit problém v aplikaci Visual Studio.
  2. Pokud je to možné, zahrňte obsah execution-log.md z .github/upgrades/{SCENARIO ID} .