はじめに
Visual Studio Code(VSCode)のChat機能は、GitHub Copilot Chatをはじめとする会話型AIアシスタントとの対話を可能にします。しかし、デフォルト設定のままでは、その真価を発揮できていないかもしれません。
本記事では、VSCode Chat設定の全体像を体系的に解説します。settings.jsonで設定できる主要なオプションから、カスタムインストラクション、MCPサーバー連携まで、開発効率を最大化するためのカスタマイズ方法を網羅的に紹介します。
この記事を読むことで、以下のことができるようになります:
- VSCode Chat設定の構造と設定方法を理解する
- インライン提案とNext Edit Suggestionsを最適化する
- カスタムインストラクションでAIの応答品質を向上させる
- MCPサーバーとの連携でChat機能を拡張する
前提条件と実行環境
VSCode Chat設定をカスタマイズするための前提条件は以下のとおりです。
| 項目 | 要件 |
|---|---|
| VSCode | バージョン1.102以上(MCP機能を利用する場合) |
| 拡張機能 | GitHub Copilot拡張機能(GitHub.copilot) |
| アカウント | GitHub Copilot Free/Pro/Business/Enterpriseいずれかのサブスクリプション |
| OS | Windows / macOS / Linux |
設定ファイルの場所はOSによって異なります。
- Windows:
%APPDATA%\Code\User\settings.json - macOS:
$HOME/Library/Application Support/Code/User/settings.json - Linux:
$HOME/.config/Code/User/settings.json
VSCode設定の基本構造
VSCodeの設定は階層構造を持ち、スコープによって優先順位が決まります。Chat設定も同様のルールに従います。
設定スコープの優先順位
- デフォルト設定: VSCodeが提供する初期値
- ユーザー設定: 全プロジェクトに適用されるグローバル設定
- ワークスペース設定: 特定プロジェクトに限定した設定
- 言語固有設定: 特定言語に対する設定
下位のスコープが上位を上書きします。たとえば、ワークスペース設定はユーザー設定より優先されます。
設定エディタへのアクセス方法
VSCode Chat設定にアクセスするには、複数の方法があります。
| 方法 | Windows/Linux | macOS |
|---|---|---|
| 設定エディタ(GUI) | Ctrl+, |
Cmd+, |
| コマンドパレット | Ctrl+Shift+P → “Preferences: Open Settings” |
Cmd+Shift+P → 同上 |
| settings.json直接編集 | Ctrl+Shift+P → “Open User Settings (JSON)” |
Cmd+Shift+P → 同上 |
設定エディタで@ext:github.copilotやchatで検索すると、Chat関連の設定を絞り込めます。
GitHub Copilot Chat設定の主要オプション
GitHub Copilot Chatに関連する設定は多岐にわたります。ここでは、実用性の高い主要オプションをカテゴリ別に解説します。
インライン提案の設定
インライン提案(ゴーストテキスト)は、コード入力中にリアルタイムで表示される補完候補です。
|
|
github.copilot.enableでは、言語ごとに提案の有効/無効を切り替えられます。"*": trueで全言語を有効化し、個別言語で上書きする方法が一般的です。
Next Edit Suggestions(NES)の設定
Next Edit Suggestions(NES)は、次に編集すべき箇所とその内容を予測する機能です。
|
|
renderSideBySideの設定値は以下から選択できます。
| 値 | 動作 |
|---|---|
auto |
ビューポートに十分なスペースがあればサイドバイサイド、なければ下部に表示 |
never |
常に関連コードの下部に表示 |
カスタムインストラクション関連の設定
カスタムインストラクションは、AIの応答をプロジェクトのコーディング規約に合わせるための設定です。
|
|
インストラクションファイルは以下の3種類があります。
.github/copilot-instructions.md: ワークスペース全体に適用される汎用指示*.instructions.md: 特定のファイルタイプに適用される条件付き指示AGENTS.md: 複数AIエージェント環境向けの指示
コードレビュー・生成の設定
特定のタスクに対する詳細な指示を設定できます。
|
|
textプロパティで直接指示を記述するか、fileプロパティで外部ファイルを参照できます。チーム共有には外部ファイル方式が適しています。
MCPサーバー連携の設定
MCP(Model Context Protocol)は、AIモデルと外部ツール・サービスを統一インターフェースで接続するオープンスタンダードです。VSCode 1.102以降で正式サポートされています。
MCP関連の基本設定
|
|
MCPサーバーの設定ファイル
MCPサーバーの設定は.vscode/mcp.json(ワークスペース)または%APPDATA%\Code\User\mcp.json(ユーザー)に記述します。
|
|
サーバータイプはstdio(標準入出力)とhttp/sse(HTTP通信)の2種類があります。ローカル実行にはstdio、リモートサービスにはhttpを使用します。
MCPサーバー設定のポイント
MCPサーバーを追加する際は、以下の点に注意してください。
- 信頼性の確認: MCPサーバーは任意のコードを実行可能なため、信頼できるソースからのみ追加する
- 命名規則: サーバー名はcamelCaseで、機能を表す説明的な名前を使用する
- 環境変数: APIキーなどの機密情報は
inputs配列で定義し、${input:変数名}で参照する
Chat機能のUI・UX設定
Chatビューの表示や操作に関する設定も豊富に用意されています。
Chatビューの外観設定
|
|
インタラクション設定
|
|
ワークスペース固有のChat設定
チーム開発では、ワークスペース設定(.vscode/settings.json)を活用してプロジェクト固有のChat設定を共有できます。
推奨されるワークスペース設定例
|
|
この設定をバージョン管理に含めることで、チームメンバー全員が同じChat環境で作業できます。
カスタムインストラクションの実践例
カスタムインストラクションを活用すると、AIの応答品質が大幅に向上します。
プロジェクト全体への指示(copilot-instructions.md)
.github/copilot-instructions.mdファイルを作成し、プロジェクト固有のガイドラインを記述します。
|
|
言語固有の指示(.instructions.md)
特定ファイルタイプにのみ適用する指示を作成できます。
|
|
applyToプロパティのglobパターンにマッチするファイルを編集する際に、この指示が自動的に適用されます。
トラブルシューティング
VSCode Chat設定で問題が発生した場合の対処法を紹介します。
設定が反映されない場合
- 設定スコープの確認: ワークスペース設定がユーザー設定を上書きしていないか確認
- 拡張機能の再読み込み: コマンドパレットで「Developer: Reload Window」を実行
- 設定ファイルの構文エラー:
settings.jsonに構文エラーがないか確認
インストラクションファイルが適用されない場合
- ファイルの場所:
.github/copilot-instructions.mdが正しい位置にあるか確認 - 設定の有効化:
github.copilot.chat.codeGeneration.useInstructionFilesがtrueか確認 - applyToパターン:
.instructions.mdの場合、globパターンが対象ファイルにマッチするか確認
MCPサーバーが起動しない場合
- 依存関係:
npxやnodeがシステムパスに存在するか確認 - Dockerの場合:
-dオプション(デタッチモード)を使用していないか確認 - ログの確認: MCPサーバーリストから「Show Output」を選択してエラーログを確認
期待される効果
適切なVSCode Chat設定を行うことで、以下の効果が期待できます。
| 項目 | 期待される効果 |
|---|---|
| コード生成品質 | カスタムインストラクションによりプロジェクト規約に準拠したコード生成 |
| 開発速度 | NESによる編集予測で繰り返し作業の削減 |
| チーム統一性 | ワークスペース設定の共有による環境統一 |
| 機能拡張 | MCPサーバー連携による外部サービスとの統合 |
まとめ
本記事では、VSCode Chat設定の全体像を解説しました。主要なポイントを振り返ります。
- 設定の基本構造: ユーザー設定とワークスペース設定の使い分け
- インライン提案:
github.copilot.enableによる言語別制御 - NES:
github.copilot.nextEditSuggestions.enabledによる次編集予測 - カスタムインストラクション:
.github/copilot-instructions.mdと*.instructions.mdの活用 - MCP連携:
mcp.jsonによる外部ツール統合
これらの設定を組み合わせることで、VSCode Chat機能を最大限に活用し、開発効率を向上させることができます。