この FAQ では、C++ ユーザーがGitHub Copilotモダン化についてよく寄せられる質問に回答します。
General
C++ 向け GitHub Copilot モダナイゼーションとは何ですか?
C++ 向け GitHub Copilot modernization は、より新しいツール、ライブラリ、パターンに対応できるよう、C++ プロジェクトのモダン化とアップグレードを支援する Visual Studio 用の GitHub Copilot エージェントです。 MSVC ビルド ツールを新しいバージョンにアップグレードするなどの特定のタスクを認識し、それらのタスクを実行するための追加のツールと手順を提供します。 最新化タスクを実現するために評価、計画、実行が自動化され、完全に自動化されたモードまたはガイド付きモードで実行できます。これにより、各ステップを承認し、追加のガイダンスを提供できます。
どのような開発環境がサポートされていますか?
GitHub Copilot C++ の最新化は、Visual Studio 2026 バージョン 18.7 以降で利用できます。
GitHub Copilot サブスクリプションは必要ですか?
Yes. モダン化エージェントを使用するには、アクティブなGitHub Copilot サブスクリプションが必要です。
コードは外部サービスに送信されますか?
GitHub Copilotは、GitHubのCopilotプライバシー ポリシーに従ってコード スニペットを処理します。 コードは、即時セッションを超えて保持されません。
scenario-instructions.mdやtasks.mdなどのワークフロー ファイルはリポジトリに保持され、外部サービスに送信されません。
MSVC のアップグレード シナリオ
サポートされているプロジェクトの種類は何ですか?
エージェントは、次の種類のプロジェクトをサポートしています。
- MSBuild ベースのプロジェクト (
.slnと.vcxproj)。 - CMake ベースのプロジェクト。
エージェントは現在、Unreal Engine プロジェクト (.uproject) をサポートしていません。
エージェントは実際にコード内で何を変更しますか?
エージェントは、新しいバージョンの MSVC ビルド ツールにアップグレードすることによって発生したビルド エラーと警告を解決するためにソース コードを変更します。 一般的な変更には、非推奨の API の置き換え、より準拠したコンパイラの使用による問題の修正、削除または再配置されたヘッダーのインクルード ディレクティブの更新、ライブラリの変更によるリンカー エラーの解決などがあります。 プロジェクトが Git リポジトリ内にある場合は、すべての変更がコミットされるため、個々の変更を確認して元に戻すことができます。
エージェントが何を変更するかを制御できますか?
Yes. 実行が開始される前にプランを確認して承認し、特定の問題やタスクをスキップするようにエージェントに指示し、 scenario-instructions.mdで基本設定を行うことができます。 実行を一時停止したり、エージェントをリダイレクトしたり、コミットを元に戻したりすることもできます。
エージェントはテストを実行しますか?
エージェントは、各タスクの後にプロジェクトをビルドして変更を検証します。 プロジェクトがビルドの一部としてテストを実行する場合、それらのテストも実行されます。 また、特定のタスクのテスト検証をスキップするようにエージェントに指示することもできます。
エージェントが間違いを犯した場合はどうなりますか?
エージェントを停止し、すぐに知らせてください。 エージェントに再開を指示すると、修正が適応して適用されます。 また、 git revert HEADを実行したり、エージェントに別の方法を試してみるように依頼したり、手動で修正したりすることもできます。
詳細については、C++ 向け GitHub Copilot のモダナイゼーションのトラブルシューティングを参照してください。
ソリューションの一部のみをアップグレードできますか?
Yes. アップグレードするプロジェクトをエージェントに指示します Upgrade only the CoreLib project to the latest MSVC Build Tools. エージェントは、指定したプロジェクトに作業のスコープを設定します。
状態とセッション
エージェントの状態はどこに格納されますか?
すべての状態は、リポジトリ内の .github/upgrades/{SCENARIO ID} に存在します。 これには、評価、計画、タスクの進行状況、ユーザー設定、実行ログが含まれます。
中断されたアップグレードを再開できますか?
Yes. Visual Studioを閉じたり、チャット セッションをいつでも終了したりできます。 新しい会話を開始すると、エージェントは既存の状態を検出し、中断した場所を取得します。
.github/upgrades フォルダーをコミットする必要がありますか?
Yes. フォルダーをブランチにコミットすると、アップグレードの進行状況がバックアップされ、チーム メンバーはアップグレードの状態を表示でき、エージェントが正しい状態から再開するのに役立ちます。 アップグレードが完了したら、フォルダーを削除できます。
複数のユーザーが同じアップグレードで作業できますか?
.github/upgrades内の状態ファイルは Git で共有できます。 ただし、競合する変更を回避するために、一度にエージェントとアクティブに対話する必要があるのは 1 人だけです。
Compatibility
どの MSVC ビルド ツールのバージョンからアップグレードできますか?
エージェントは、以前のバージョンの MSVC ビルド ツールから、Visual Studio インストールでサポートされている最新バージョンへのアップグレードをサポートしています。
エージェントはサード パーティ製ライブラリの互換性を処理しますか?
エージェントは、評価中にサード パーティ製ライブラリの互換性の問題を識別します。 使用可能な場合は、代替手段または回避策が提案されます。 ライブラリがターゲット ツールセットと互換性がない場合は、エージェントによって問題が文書化されるため、続行方法を決定できます。
プリコンパイル済みヘッダーでエージェントを使用できますか?
Yes. エージェントは、アップグレード プロセス中にプリコンパイル済みヘッダーの構成とアカウントを理解します。