C++ のGitHub Copilotモダン化に関する FAQ

この 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.mdtasks.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. エージェントは、アップグレード プロセス中にプリコンパイル済みヘッダーの構成とアカウントを理解します。