GitHub Copilotモダン化は、C++ プロジェクトのアップグレードと最新化に役立つGitHub Copilot エージェントです。 Visual Studio内の評価、ソリューションの推奨事項、コード修正、検証について説明します。
シナリオ
エージェントは、シナリオと呼ばれるエンドツーエンドの最新化ワークフロー を提供します。 各シナリオでは、特定の種類のモダン化タスクについて説明します。
| Scenario | Description | プロンプトの例 |
|---|---|---|
| MSVC ビルド ツールのアップグレード (MSBuild) | MSBuild ベースのプロジェクト (.sln、 .vcxproj) を新しいバージョンの MSVC ビルド ツールにアップグレードし、アップグレード関連のビルドの問題を解決します。 |
"インストールされている最新バージョンの MSVC ビルド ツールを使用するようにプロジェクトをアップグレードする" |
| MSVC ビルド ツールのアップグレード (CMake) | 新しいバージョンの MSVC ビルド ツールを使用してプロジェクトを構成した後、CMake ベースのプロジェクトでのアップグレード関連のビルドの問題を解決します。 | "新しい MSVC ビルド ツールを使用するようにプロジェクトをアップグレードすることによって発生するビルドの問題を解決する" |
Note
他のモダン化シナリオについて提案したり賛成票を投じたりするには、Developer Communityにアクセスしてください。
すべてのシナリオの完全なリファレンスについては、「 シナリオとスキルリファレンス」を参照してください。
前提条件
開始する前に、以下を用意してください。
- Visual Studio 2026 バージョン 18.7 以降。
- GitHub Copilot サブスクリプション。
- MSBuild ベースのコードベース (
.sln、.vcxproj) または CMake ベースのコードベース。
詳細なセットアップ手順については、「Install GitHub Copilot modernization for C++を参照してください。
どのように機能するのか
モダン化ワークフローを開始するには:
- Visual Studioで C++ プロジェクトまたはソリューションを開きます。
- エージェントを起動します:ソリューション エクスプローラー で、ソリューションまたはプロジェクトを右クリックし、Modernize を選択します。 または、GitHub Copilot Chatに「
@Modernize」と入力します。 - アップグレードする内容をエージェントに伝えます。
Visual Studioインストールに、プロジェクトで現在使用されている MSVC ビルド ツールがない場合は、プロジェクトの読み込み時にセットアップ アシスタントが表示されます。 セットアップ アシスタントを使用して、不足している MSVC バージョンをインストールするか、インストールされている MSVC バージョンに再ターゲットすることができます。 プロジェクトのターゲットを変更すると、エージェントの最新化ワークフローに直接起動できる情報バー メッセージが表示されます。
プロジェクトのアップグレードをエージェントに依頼すると、Git リポジトリ内にある場合は、新しいブランチを作成するように求められます。 次に、3 段階のワークフローを実行します。 各ステージでは、リポジトリ内の .github/upgrades/{scenarioId} の下に Markdown ファイルが生成されるため、続行する前に次の内容を確認できます。 以前の試行 .github/upgrades/{scenarioId} 既に存在する場合、エージェントは、続行するか、新たに開始するかを確認します。
ステージ 1: 評価
エージェントは、プロジェクトの構造、依存関係、およびコード パターンを調べ、包括的な評価を assessment.mdに保存します。 エージェントは、アップグレード戦略や互換性処理など、レビューに関する戦略の決定も提示します。
ステージ 2: 計画
エージェントは、評価を詳細な仕様に変換します。
plan.md ファイルには、アップグレード戦略、リファクタリング アプローチ、およびリスク軽減策が文書化されています。
ステージ 3: 実行
エージェントは、 tasks.mdの検証基準を使用して、プランを順次タスクに分割します。 各タスクでは、1 つの変更と、エージェントが成功を確認する方法について説明します。
フロー モード
エージェントは、次の 2 つのフロー モードをサポートします。
- 自動:一時停止せずにすべての段階を通して動作し、本物のブロッカーでのみ停止します。 このモードは、簡単なアップグレードに最適です。
- ガイド付き: 確認のため、各ステージの区切りで一時停止します。 このモードは、大規模または複雑なアップグレードに最適です。
scenario-instructions.mdを変更するか、モードを切り替えるようエージェントに指示することで、いつでもモードを切り替えることができます。
Automatic モードで実行している場合は、Copilot Chat プロンプト ウィンドウの [キャンセル] ボタンを使用してエージェントを停止し、エージェントに Guided モードで再開するように指示する必要があります。
ステート管理
エージェントは、すべての状態を .github/upgrades/{scenarioId}に格納します。
| File | Purpose |
|---|---|
assessment.md |
ソリューションの分析。 |
plan.md |
順序付けされたタスク計画。 |
tasks.md |
ライブ進行状況ダッシュボード。 |
scenario-instructions.md |
エージェントの永続記憶。 |
execution-log.md |
すべての変更を記録する監査ログ。 |
Visual Studioを閉じてから再開できます。 エージェントは、状態ファイルを読み込んで、中断したところから処理を再開します。
Tip
他の作業を行っている間にアップグレードを長期間にわたって実行する場合は、 .github/upgrades フォルダーを個別のコミットでブランチにコミットすることを検討してください。 コミットされた状態はバックアップとして機能し、チーム メンバーはアップグレードの進行状況を表示できます。 コミットを分けておくと、それらをリポジトリに永続的に残したくない場合に、ブランチをマージする前にローカルの Git 履歴から簡単に削除できます。
フィードバックを提供する
Microsoftフィードバックを評価し、それを使用してエージェントを改善します。 次のいずれかのオプションを使用してフィードバックを残します。
Visual Studioでは、Suggest a feature オプションと Report a problem オプションを使用します。
Developer Communityに問題を提出します。