GitHub Copilot – nejčastější dotazy k modernizaci pro C++

Tyto časté dotazy odpovídají na otázky, které mohou mít uživatelé jazyka C++ ohledně modernizace pomocí GitHub Copilotu.

General

Co je modernizace GitHub Copilot pro C++?

GitHub Copilot modernizace jazyka C++ je agent GitHub Copilot pro Visual Studio, který pomáhá modernizovat a upgradovat projekty C++ na novější nástroje, knihovny a vzory. Rozpoznává konkrétní úlohy, jako je upgrade nástrojů MSVC Build Tools na novější verze, a poskytuje další nástroje a pokyny k provedení těchto úloh. Automatizuje posouzení, plánování a provádění, aby bylo možné provést úlohu modernizace, a můžete ho spustit v plně automatizovaném režimu nebo v režimu s asistencí, který umožňuje schválit jednotlivé kroky a poskytnout další pokyny.

Jaká vývojová prostředí se podporují?

Funkce GitHub Copilot pro modernizaci jazyka C++ je k dispozici ve Visual Studio 2026 verze 18.7 a novějších.

Potřebuji předplatné GitHub Copilot?

Yes. K použití agenta modernizace potřebujete aktivní GitHub Copilot předplatné.

Posílá se můj kód externím službám?

GitHub Copilot zpracovává fragmenty kódu podle zásad ochrany osobních údajů Copilot GitHub. Kód není uchováván po skončení aktuální relace. Soubory pracovního postupu, jako jsou scenario-instructions.md a tasks.md, zůstávají ve vašem úložišti a nejsou přenášeny do externích služeb.

Scénáře upgradu MSVC

Jaké typy projektů jsou podporované?

Agent podporuje tyto typy projektů:

  • Projekty založené na nástroji MSBuild (.sln a .vcxproj).
  • Projekty založené na CMake

Agent v současné době nepodporuje projekty unreal Engine (.uproject).

Co agent ve skutečnosti mění v mém kódu?

Agent upraví zdrojový kód tak, aby vyřešil chyby sestavení a upozornění zavedená upgradem na novější verzi nástrojů MSVC Build Tools. Mezi běžné změny patří nahrazení zastaralých rozhraní API, oprava problémů způsobených používáním konformnějšího kompilátoru, aktualizace direktiv zahrnutí pro odebrané nebo přemísťované hlavičky a řešení chyb linkeru způsobených změnami knihovny. Když je projekt v úložišti Git, všechny změny se potvrdí, takže můžete zkontrolovat a vrátit jednotlivé úpravy.

Mohu ovlivnit, co agent změní?

Yes. Plán můžete před zahájením provádění zkontrolovat a schválit, informovat agenta, aby přeskočí konkrétní problémy nebo úlohy a zadal předvolby.scenario-instructions.md Můžete také pozastavit běh, přesměrovat agenta nebo vrátit zpět jakýkoli commit, který provede.

Spouští agent testy?

Agent ověří změny sestavením projektu po každém úkolu. Pokud váš projekt spouští testy jako součást sestavení, tyto testy se spustí také. Agentovi také můžete říct, že má přeskočit ověření testu pro konkrétní úlohy.

Co když agent udělá chybu?

Zastavte agenta a hned ho řekněte. Když agentovi řeknete, aby mohl pokračovat, přizpůsobí se a použije opravy. Můžete také spustit git revert HEAD, požádat agenta, aby vyzkoušel jiný přístup nebo provést ruční opravu.

Další informace najdete v článku Řešení potíží při modernizaci jazyka C++ pomocí GitHub Copilot.

Můžu upgradovat jenom část svého řešení?

Yes. Řekněte agentovi, které projekty má aktualizovat, například Upgrade only the CoreLib project to the latest MSVC Build Tools. Agent omezí svou práci na projekty, které zadáte.

Stav a relace

Kde agent ukládá stav?

Celý stav je uložen v .github/upgrades/{SCENARIO ID} ve vašem úložišti. To zahrnuje posouzení, plán, průběh úkolů, předvolby a protokoly spuštění.

Můžu obnovit přerušený upgrade?

Yes. Můžete kdykoli ukončit Visual Studio nebo ukončit chatovací relaci. Když zahájíte novou konverzaci, agent rozpozná stávající stav a naváže tam, kde předtím skončil.

Mám přidat složku .github/upgrades do commitu?

Yes. Když složku potvrdíte do své větve, zazálohujete průběh upgradu, umožníte členům týmu zobrazit stav upgradu a pomůžete agentovi navázat ze správného stavu. Složku můžete po dokončení upgradu odebrat.

Může na stejném upgradu pracovat více lidí?

Stavové soubory v .github/upgrades lze sdílet pomocí Gitu. Aby se však zabránilo konfliktům změn, měl by s agentem aktivně pracovat jenom jedna osoba.

Compatibility

Ze kterých verzí nástrojů MSVC Build Tools je možné upgradovat?

Agent podporuje upgrade z jakékoli starší verze nástrojů MSVC Build Tools na nejnovější verzi podporovanou vaší instalací Visual Studio.

Zpracovává agent kompatibilitu knihoven třetích stran?

Agent během posouzení identifikuje problémy s kompatibilitou knihoven třetích stran. Navrhuje alternativy nebo alternativní řešení, pokud jsou k dispozici. Pokud knihovna není kompatibilní s cílovou sadou nástrojů, agent dokumentuje problém, abyste se mohli rozhodnout, jak pokračovat.

Můžu použít agenta s předkompilovanými hlavičkami?

Yes. Agent rozumí konfiguracím předkompilovaných hlaviček a během procesu upgradu je zohledňuje.