Visual Studio CodeでのAIのカスタマイズ

Visual Studio Code では、コードベース、コーディング標準、ワークフローについて AI に教えるためのいくつかの方法を提供しています。この記事では、カスタマイズのオプションを紹介し、開始方法を説明します。

基本概念

さまざまなカスタマイズの種類と、それぞれの使用タイミングについて学習します。

カスタマイズにアクセスするには、チャットビューで チャットの構成 (歯車アイコン) を選択し、エージェントカスタマイズエディターを開きます。

Screenshot of the Agent Customizations editor, showing the sidebar with customization categories and the main view listing custom agents.

カスタマイズのシナリオ

以下のセクションでは、一般的なカスタマイズシナリオと、それぞれに使用するオプションについて説明します。

コーディング標準の定義

カスタム指示 (custom instructions) を使用して、プロジェクト全体のルールや慣習を AI と共有します。「常に適用される指示 (Always-on instructions)」はすべてのリクエストに適用され、「ファイルベースの指示」は特定のファイルタイプやフォルダーを対象とします。例えば、すべてのファイルに ESLint ルールを適用したり、.tsx ファイルのみに React のパターンを適用したりできます。

タスクとワークフローの自動化

コンポーネントの作成やプルリクエストの準備など、頻繁に実行する繰り返し作業のためにプロンプトファイルを作成します。

スクリプトや外部ツールを含む複雑な複数ステップのワークフローについては、それらをエージェントスキルとしてパッケージ化します。

AI の専門化

セキュリティレビュー担当者、データベース管理者、プランナーなど、特定のペルソナを採用するカスタムエージェントを作成します。各エージェントは独自の動作、利用可能なツール、言語モデルの優先順位を定義します。タスクに応じて異なる言語モデルを選択したり、独自の API キーを持ち込んで追加のモデルにアクセスしたりすることも可能です。

プラグインの検出とインストール

エージェントプラグイン (プレビュー) をインストールして、プラグインマーケットプレイスからカスタマイズのパッケージを追加します。1 つのプラグインで、スラッシュコマンド、スキル、カスタムエージェント、フック、MCP サーバーを提供できます。

外部ツールとデータの接続

MCP サーバーを追加して、Model Context Protocol を介してデータベース、API、その他のサービスへのアクセスを AI に提供します。フックを使用して、ファイル編集後のフォーマット実行やセキュリティポリシーの適用など、重要なライフサイクルポイントでシェルコマンドを実行します。

開始方法

AI のカスタマイズは段階的に実装してください。基本から始めて、必要に応じて追加していきます。実践的なガイドについては、「プロジェクト用に AI をカスタマイズする」ガイドを参照してください。

  1. プロジェクトの初期化: チャットで /init と入力し、コードベースに合わせたコーディング標準を含む .github/copilot-instructions.md ファイルを生成します。

  2. 対象を絞ったルールの追加: 言語の慣習やフレームワークのパターンなど、コードベースの特定のパーツに対して、ファイルベースの *.instructions.md ファイルを作成します。

  3. 反復タスクの自動化: 一般的なワークフロー用のプロンプトファイルを作成し、MCP サーバーを追加して外部サービスに接続します。

  4. 専門的なワークフローの作成: 特定の役割のためにカスタムエージェントを構築します。再利用可能な機能をエージェントスキルとしてパッケージ化し、ツール間で共有します。

  5. AI によるカスタマイズの生成: チャットで /create-prompt/create-instruction/create-skill/create-agent、または /create-hook と入力し、AI の支援を受けてカスタマイズファイルを生成します。

親リポジトリの検出

モノレポ構成では、リポジトリのルートではなく、サブフォルダーを VS Code で開く場合があります。デフォルトでは、Visual Studio Code は現在開いているワークスペースフォルダー内のカスタマイズファイルのみを検出します。親リポジトリからのカスタマイズも検出するには、 chat.useCustomizationsInParentRepositories VS Code で開く VS Code Insiders で開く 設定を有効にしてください。

この設定が有効な場合、VS Code は各ワークスペースフォルダーから .git フォルダーが見つかるまでフォルダー階層を遡ります。見つかった場合、ワークスペースフォルダーからリポジトリルートまでの間(それらを含む)にあるすべてのフォルダーからカスタマイズを収集します。これは、常に適用される指示 (copilot-instructions.md, AGENTS.md, CLAUDE.md)、ファイルベースの指示、プロンプトファイル、カスタムエージェント、エージェントスキル、フックなど、すべてのカスタマイズタイプに適用されます。

例えば、以下のモノレポ構造を考えてみます

my-monorepo/              # repo root (has .git folder)
├── .github/
│   ├── copilot-instructions.md
│   ├── instructions/
│   │   └── style.instructions.md
│   ├── prompts/
│   │   └── review.prompt.md
│   └── agents/
│       └── reviewer.agent.md
├── packages/
│   └── frontend/          # opened as workspace folder
│       └── src/

VS Code で packages/frontend/ のみを開いてこの設定を有効にすると、VS Code はリポジトリルートにある copilot-instructions.mdstyle.instructions.mdreview.prompt.mdreviewer.agent.md などのカスタマイズファイルを検出します。

親リポジトリ検出の条件

  • ワークスペースフォルダーに .git フォルダーが含まれていない(それ自体がリポジトリルートではない)。
  • 親フォルダーに .git フォルダーが含まれている。
  • 親リポジトリフォルダーが信頼 (trusted) されている。ワークスペースを開いた際に、親フォルダーを信頼するように VS Code が求めます。
注意

chat.useCustomizationsInParentRepositories VS Code で開く VS Code Insiders で開く 設定はデフォルトで無効になっています。

エージェントカスタマイズエディター

注意

エージェントカスタマイズエディターは現在プレビュー版です。

エージェントカスタマイズエディターは、すべてのエージェントカスタマイズを作成・管理するための集中型の UI を提供します。エディターは異なるカスタマイズタイプを別々のタブに整理し、構文の強調表示と検証機能を備えた組み込みコードエディターでファイルを編集できます。

対応する Markdown を編集してゼロから新しいカスタマイズを作成することも、AI を使用してプロジェクト固有の内容に基づいた初期コンテンツを生成することもできます。

MCP サーバーやエージェントプラグインを追加するには、エディターから直接対応するマーケットプレイスを参照し、新しいアイテムをインストールして既存のものを管理できます。

Screenshot of the Agent Customizations editor, showing the sidebar with customization categories and the main view listing custom agents.

エージェントカスタマイズエディターを開くには、チャットビューで チャットの構成 (歯車アイコン) を選択するか、コマンドパレット (⇧⌘P (Windows, Linux Ctrl+Shift+P)) から Chat: Open Customizations を実行します。

ローカルエージェント、Copilot CLI、Claude エージェントなど、異なるエージェントタイプごとにカスタマイズを設定できます。エディター上部のドロップダウンからエージェントタイプを選択し、そのタイプに対するカスタマイズを表示・管理します。

カスタマイズに関する問題のトラブルシューティング

カスタマイズが適用されない、または予期しない動作が発生する場合は、チャットビューの省略記号 (...) メニューを選択し、Show Agent Debug Logs を選択してエージェントの問題のトラブルシューティングを行ってください。

© . This site is unofficial and not affiliated with Microsoft.