Visual Studioには、デバッグ、プロファイリング、テストなどの IDE 機能と深く統合された一連のキュレーションされた組み込みエージェントが含まれています。 また、チームの動作に合わせて調整されたカスタム エージェントを作成することもできます。
[前提条件]
- Visual Studio 2026 または Visual Studio 2022 バージョン 17.14 (最新機能を利用するには最新のサービスリリースが推奨されます)
- GitHub Copilot サブスクリプション
カスタム エージェントにアクセスする
カスタム エージェントには、次の 2 つの方法でアクセスできます。
- Agent ピッカー: [Copilot チャット] ウィンドウで、エージェント ピッカーのドロップダウンを選択して、使用可能なエージェントを表示します。 現時点では、このオプションは Visual Studio 2026 Insiders ビルドでのみ使用できます。
-
@ 構文: チャット入力に
@を入力した後、エージェント名を続けて入力します(たとえば、@debugger)。
@構文を使用してカスタム エージェントにアクセスできます。チャット入力に「@」と入力し、その後にエージェント名を入力します (たとえば、@profiler)。
組み込みエージェント
各組み込みエージェントは、特定の開発者ワークフローに重点を置いています。 これらのエージェントは、汎用アシスタントではできない方法で Visual Studio のネイティブ ツールと統合されます。
| Agent | 説明 |
|---|---|
| @debugger | エラーメッセージの読解を超えています。 呼び出し履歴、変数状態、診断ツールを使用して、ソリューション全体でエラー診断を体系的に確認します。 |
| @profiler | Visual Studioのプロファイリング インフラストラクチャに接続してボトルネックを特定し、一般的なアドバイスではなく、コードベースに根付いたターゲット最適化を提案します。 |
| @test | CI が拒否する定型ではなく、プロジェクトのフレームワークとパターンに合わせて調整された単体テストを生成します。 |
| @modernize | (.NETと C++ のみ) 実際のプロジェクト グラフを認識してフレームワークと依存関係のアップグレードを処理します。 破壊的変更にフラグを設定し、移行コードを生成し、既存のパターンに従います。 |
| Agent | 説明 |
|---|---|
| @profiler | Visual Studioのプロファイリング インフラストラクチャに接続してボトルネックを特定し、一般的なアドバイスではなく、コードベースに根付いたターゲット最適化を提案します。 |
@debugger エージェントを使用する
@debugger エージェントは、デバッグ コンテキストを分析することで、エラーを体系的に診断するのに役立ちます。
プロンプトの例:
@debugger Why is this exception being thrown?@debugger Analyze the current call stack and explain what went wrong@debugger What's causing the null reference in this method?
@profiler エージェントを使用する
@profiler エージェントは、パフォーマンスの問題を特定して修正するために、Visual Studioのプロファイリング ツールに接続します。
プロンプトの例:
@profiler Find the performance bottlenecks in my application@profiler Why is this method taking so long to execute?@profiler Suggest optimizations for the hot path
@test エージェントを使用する
@test エージェントは、プロジェクトのテスト フレームワークと規則に一致する単体テストを生成します。
プロンプトの例:
@test Generate unit tests for the selected method@test Create tests that cover edge cases for this class@test Write integration tests for this API endpoint
より包括的な.NET テストのサポートについては、GitHub Copilot テスト for .NETを参照してください。
@modernize エージェントを使用する
@modernize エージェントは、.NET および C++ プロジェクトのフレームワークの移行と依存関係のアップグレードに役立ちます。
.NET モダン化ワークフローの場合、エージェントは次の 3 段階のプロセスをサポートします。
- 評価: パッケージのバージョン、ターゲット フレームワーク オプション、プロジェクト インベントリ、および API 互換性リスクを確認します。
- 計画: 現在の評価と更新の優先順位に合わせた移行計画を生成します。
- タスクの実行: 作業の進行に合わせて編集できる動的タスク ファイルを使用して、モダン化タスクを処理します。
プロンプトの例:
@modernize Upgrade this project to .NET 8@modernize What breaking changes should I expect when migrating?@modernize Update deprecated API calls in this file@modernize Assess this solution, generate a migration plan, and create execution tasks
.NET 用の GitHub Copilot アプリの最新化に関するエンド ツー エンドのガイダンスについては、 GitHub Copilot アプリの最新化の概要を参照してください。
カスタム エージェント
注
カスタム エージェントには、Visual Studio 2026 バージョン 18.4 以降が必要です。
組み込みのエージェントは一般的なワークフローを対象としますが、チームはワークフローを最もよく理解しています。 カスタム エージェントを使用すると、ワークスペース認識、コード理解、好みの AI モデル、独自のツールという同じ基盤を使用して、独自のエージェントを構築できます。
カスタム エージェントは、 MCP (モデル コンテキスト プロトコル) と組み合わせると特に強力になります。 エージェントは、内部ドキュメント、設計システム、API、データベースなどの外部ナレッジ ソースに接続できるため、エージェントはリポジトリ内の内容に限定されません。
カスタム エージェントを作成する
カスタム エージェントをリポジトリの .agent.md フォルダー内の .github/agents/ ファイルとして定義します。
your-repo/
└── .github/
└── agents/
└── code-reviewer.agent.md
エージェント ファイル形式
各エージェント ファイルでは、YAML frontmatter とそれに続く Markdown 命令を含む単純なテンプレートが使用されます。
---
name: Code Reviewer
description: Reviews PRs against our team's coding standards
model: claude-opus-4-6
tools: ["code_search", "readfile", "find_references"]
---
You are a code reviewer for our team. When reviewing changes, check for:
- Naming conventions: PascalCase for public methods, camelCase for private
- Error handling: all async calls must have try/catch with structured logging
- Test coverage: every public method needs at least one unit test
Flag violations clearly and suggest fixes inline.
Frontmatter プロパティ
| プロパティ | 必須 | 説明 |
|---|---|---|
name |
いいえ | エージェントピッカーでのエージェントの表示名。 このプロパティを指定しない場合、エージェント名はファイル名から取得されます (たとえば、 code-reviewer.agent.md は code-reviewerになります)。 |
description |
イエス | エージェントの上にマウス ポインターを置いたときに表示される簡単な説明 |
model |
いいえ | 使用する AI モデル。 このプロパティを指定しない場合は、モデル ピッカーで選択されたモデルが使用されます。 |
tools |
いいえ | エージェントが使用できるツール名の配列。 このプロパティを指定しない場合は、使用可能なすべてのツールが有効になります。 |
ツールの指定
ツールは、カスタム エージェントで実行できる機能を拡張します。 エージェントが tools 配列で使用するツールを指定できます。
Important
ツール名は、GitHub Copilotプラットフォームによって異なります。 Visual Studioで使用できるツールを確認し、エージェントが期待どおりに動作することを確認します。 チャット ウィンドウで [ツール ] アイコンを選択すると、使用可能なツール名が表示されます。
MCP を使用して外部ソースに接続する
MCP サーバーを使用すると、カスタム エージェントは次のような外部ナレッジ ソースにアクセスできます。
- 内部ドキュメントと Wiki
- システムとコンポーネント ライブラリの設計
- API とデータベース
- スタイル ガイドと ADR リポジトリ
たとえば、コード レビュー エージェントは、MCP を通じてスタイル ガイドに接続することで、実際の規則に照らして PR を確認できます。
カスタム エージェントの例
コード レビュー エージェント
---
name: Code Reviewer
description: Reviews code against our team's coding standards
tools: ["code_search", "readfile"]
---
You are a code reviewer for our team. Review changes for:
1. **Naming conventions**: PascalCase for public methods, camelCase for private fields
2. **Error handling**: All async calls must have try/catch with structured logging
3. **Test coverage**: Every public method needs at least one unit test
4. **Documentation**: Public APIs must have XML documentation comments
Flag violations clearly and suggest fixes inline.
計画エージェント
---
name: Feature Planner
description: Helps plan features before writing code
tools: ["code_search", "readfile", "find_references"]
---
You are a planning assistant. When asked about a feature:
1. Gather requirements by asking clarifying questions
2. Identify affected files and components in the codebase
3. Break down the work into discrete tasks
4. Flag potential risks or dependencies
5. Create a structured plan that can be handed off for implementation
Focus on understanding scope before suggesting solutions.
デザインシステムエージェント
---
name: Design System
description: Enforces UI design patterns and component usage
tools: ["code_search", "readfile"]
---
You are a design system expert. When reviewing UI code:
1. Check that standard components are used instead of custom implementations
2. Verify spacing and layout follow the design token system
3. Ensure accessibility requirements are met (ARIA labels, keyboard navigation)
4. Flag any UI drift from established patterns
Reference the component library documentation when suggesting fixes.
Visual Studio ツールを使用したフル スタック開発エージェント
次の例では、Visual Studio固有のツール名を使用します。
---
name: Full Stack Dev
description: Full-stack development assistant with search, file editing, and terminal access
tools: ["code_search", "readfile", "editfiles", "find_references", "runcommandinterminal", "getwebpages"]
---
You are a full-stack development assistant. Help with:
1. Searching the codebase to understand existing patterns
2. Reading and editing files to implement changes
3. Running build and test commands to verify your work
4. Looking up documentation when needed
Always check existing code conventions before making changes.
ヒント
Copilot チャット ウィンドウで Tools アイコンを選択すると、Visual Studioのバージョンで使用可能なすべてのツール名が表示されます。
.NET 開発エージェント
.NET チームは、C# および Windows フォーム開発用にキュレーションされたカスタム エージェントを awesome-copilot リポジトリに保持しています。 作業を開始するには:
- CSharpExpert.agent.md と WinFormsExpert.agent.md をダウンロードします。
- リポジトリの
.github/agents/フォルダーにファイルを追加します。 - エージェント モードで Copilot チャットを開き、エージェント ピッカーからエージェントを選択します。
ヒント
[ツール>オプション>GitHub>Copilot を選択し、必要に応じて Windows フォーム開発などのプロジェクト固有の .NET 命令を有効にして、コード ベースに適切なカスタム エージェントを自動的に追加します。
C# 専門家
C# エキスパート エージェントは、Copilot のコード生成に最新の C# 規則を適用します。
- 構文とパフォーマンス: リポジトリの既存の規則に一致しながら、現在のベスト プラクティスに従います。
- 最小限の変更: 適切なキャンセルと例外処理で async/await を使用して、必要なコードのみを生成します。 未使用のインターフェイス、メソッド、またはパラメーターを回避します。
- テスト: 動作駆動型の単体テスト、統合テスト、および TDD ワークフローをサポートします。
ウィンフォームズのエキスパート
WinForms Expert エージェントは、.NET 8 から .NET 10 での Windows フォーム開発を対象とします。
-
デザイナー コード保護:
.Designer.cs破損を防ぎ、Copilot の編集後も Windows フォーム デザイナー が動作し続けます。 - UI 設計パターン: MVVM および MVP パターン (Community Toolkit データ バインディングを含む)。
-
最新の .NET:
InvokeAsyncオーバーロード、ダーク モード、高 DPI 認識、および null 許容参照型を修正します。 -
レイアウト: 応答性の高い DPI 対応レイアウトの
TableLayoutPanelとFlowLayoutPanel。 -
CodeDOM シリアル化: 適切なデザイナー プロパティ処理のための属性と
[DefaultValue]メソッドを使用します。 - 例外処理: 非同期イベント ハンドラー パターンとアプリケーション レベルの例外処理。
コミュニティの構成
awesome-copilot リポジトリには、出発点として使用できるコミュニティが提供するエージェント構成があります。 このリポジトリの構成を使用する場合は、チームにデプロイする前に、Visual Studio でツール名が機能することを確認します。
制限事項と注意事項
- モデルを指定しない場合、エージェントはモデル ピッカーで選択されている任意のモデルを使用します。
- ツール名は、GitHub Copilotプラットフォームによって異なります。 チームにデプロイする前に、ツール名がVisual Studioで機能することを確認します。
フィードバックを共有する
awesome-copilot リポジトリでカスタム エージェント構成を共有するか、Visual Studio Developer Community を通じてフィードバックをファイルします。 ワークフローは、将来の機能を形成するのに役立ちます。
関連するコンテンツ
- GitHub Copilot エージェント モードで開始します
- MCP サーバーを使用する
- チャット応答をカスタマイズし、コンテキストを設定する
GitHub Copilot の .NET 向けテスト - GitHub Copilot アプリの最新化の概要