VS Code のチャットモード
チャットモードは、Visual Studio Code での AI チャットの動作を、質問、コードの編集、自律的なコーディングタスクの実行など、特定のタスクに合わせて調整できる事前定義された構成です。達成したいタスクに応じて、チャットビューでいつでもチャットモードを切り替えることができます。
VS Code には、3つの組み込みチャットモード(**Ask**、**Edit**、**Agent**)が付属しています。新しい機能の計画や実装オプションの調査など、特定のシナリオに合わせて独自のチャットモードを定義することもできます。
前提条件
- Visual Studio Code の最新バージョンをインストールします
- Copilotへのアクセス。Copilot無料プランでは、月ごとの補完とチャットインタラクションの制限が適用されます。
チャットモードの切り替え
チャットモードを切り替えるには、チャットビューを開き(⌃⌘I (Windows、Linux Ctrl+Alt+I))、チャットモードのドロップダウンリストから目的のモードを選択します。
組み込みのチャットモード
VS Code のチャットは、それぞれ特定のユースケースに最適化された異なるモードで動作します。チャットビューでいつでも異なるチャットモードを切り替えることができます。
チャットモード | 説明 |
---|---|
Ask モード | Ask モードは、コードベース、コーディング、および一般的なテクノロジーの概念に関する質問に答えるのに最適化されています。 Ask モードを使用して、コードの動作を理解したり、ソフトウェア設計のアイデアをブレインストーミングしたり、新しいテクノロジーを探求したりできます。 Ask モードを安定版 | Insiders 版で開く。 |
Edit モード | Edit モードは、プロジェクト内の複数のファイルにわたるコードの編集に最適化されています。VS Code はコード変更をエディターに直接適用し、その場でレビューできます。 変更したい内容と編集したいファイルがよくわかっている場合に、コーディングタスクに Edit モードを使用します。 Edit モードを安定版 | Insiders 版で開く。 |
エージェントモード | Agent モードは、プロジェクト内の複数のファイルにわたる自律的な編集に最適化されています。 ターミナルコマンドやツールの実行が必要となる可能性のある、あまり明確でないタスクのコーディングに Agent モードを使用します。 Agent モードを安定版 | Insiders 版で開く。 |
カスタムチャットモード
カスタムチャットモードは、VS Code リリース 1.101 から利用可能であり、現在プレビュー版です。
組み込みのチャットモードは、VS Code でのチャットの汎用構成を提供します。よりカスタマイズされたチャットエクスペリエンスのためには、独自のチャットモードを作成できます。
カスタムチャットモードは、そのモードに切り替えたときに適用される一連の指示とツールで構成されます。たとえば、「Plan」チャットモードには、実装計画を生成するための指示が含まれ、読み取り専用ツールのみを使用できます。カスタムチャットモードを作成することで、関連するツールや指示を毎回手動で選択することなく、その特定の構成にすばやく切り替えることができます。
カスタムチャットモードは、.chatmode.md
Markdown ファイルで定義され、他のユーザーが使用できるようにワークスペースに保存したり、異なるワークスペースで再利用できるようにユーザープロファイルに保存したりできます。
カスタムチャットモードファイル内で、指示ファイルとツール(セット)を参照できます。
チャットモードファイルの構造
チャットモードファイルは、.chatmode.md
サフィックスを持つ Markdown ファイルです。以下の2つの主要なセクションがあります。
-
Front Matter メタデータヘッダー
description
: チャットモードの簡単な説明。この説明は、チャット入力フィールドのプレースホルダーテキストとして、またチャットモードのドロップダウンリストでモードにカーソルを合わせたときに表示されます。tools
: このチャットモードで利用可能なツールまたはツールセットの名前のリスト。これには、組み込みツール、ツールセット、MCP ツール、または拡張機能によって提供されるツールが含まれます。**ツールの構成**アクションを使用して、ワークスペースで利用可能なツールのリストからツールを選択します。model
: プロンプトの実行時に使用する AI モデル。指定されていない場合、モデルピッカーで現在選択されているモデルが使用されます。
-
チャットモードの指示を含む本文
ここでは、このチャットモードで AI に従わせたい特定のプロンプト、ガイドライン、またはその他の関連情報を提供します。Markdown リンクを使用して、指示ファイルを参照することもできます。チャットモードの指示は、チャットプロンプトで指定されている内容を補完します。
チャットモードファイルの例
以下のコードスニペットは、実装計画を生成し、コード編集を行わない「Plan」チャットモードファイルの例を示しています。
---
description: Generate an implementation plan for new features or refactoring existing code.
tools: ['codebase', 'fetch', 'findTestFiles', 'githubRepo', 'search', 'usages']
model: Claude Sonnet 4
---
# Planning mode instructions
You are in planning mode. Your task is to generate an implementation plan for a new feature or for refactoring existing code.
Don't make any code edits, just generate a plan.
The plan consists of a Markdown document that describes the implementation plan, including the following sections:
* Overview: A brief description of the feature or refactoring task.
* Requirements: A list of requirements for the feature or refactoring task.
* Implementation Steps: A detailed list of steps to implement the feature or refactoring task.
* Testing: A list of tests that need to be implemented to verify the feature or refactoring task.
チャットモードを作成する
ワークスペースまたはユーザープロファイルにチャットモードファイルを作成できます。
-
コマンドパレットで**チャット: 新規モードファイル**コマンドを実行します(⇧⌘P (Windows、Linux Ctrl+Shift+P))。
-
ワークスペースまたはユーザープロファイルに新しいチャットモードファイルを作成するかを選択します。
-
チャットモードの名前を入力します。この名前は、チャットビューのチャットモードドロップダウンリストで使用されます。
-
新しく作成された
.chatmode.md
ファイルにチャットモードの詳細を入力します。- Front Matter メタデータで説明を提供し、利用可能なツールまたはツールセットのリストを設定します。
- ファイルの本文にチャットモードの指示を追加します。
既定では、VS Code はワークスペースのチャットモードファイルを .github/chatmodes
フォルダーで探します。ワークスペースのチャットモードファイルの場所は、chat.modeFilesLocations 設定で構成できます。
既存のチャットモードを管理する
既存のチャットモードを編集および管理するには、チャットビューで**チャットの構成**ボタンを選択し、**モード**を選択し、リストから既存のチャットモードを選択して変更します。または、コマンドパレットから**チャット: チャットモードの構成**コマンドを使用することもできます(⇧⌘P (Windows、Linux Ctrl+Shift+P))。
リスト内のチャットモードにカーソルを合わせ、利用可能なアクション(コピーまたは移動、名前の編集、チャットモードの削除)から選択します。