チャット応答をカスタマイズし、コンテキストを設定する

GitHub Copilot Chat に依頼して、コードの提案、コードの説明、単体テストの生成、コード修正の提案を行うことができます。 Visual Studio でのチャットでは、適切なコンテキストを提供すれば、応答を提供し、コーディングのプラクティスとプロジェクトの要件に一致するコードを生成できます。 この情報をすべてのチャット プロンプトに繰り返し追加する代わりに、このコンテキストをファイルに格納し、すべてのチャット要求に自動的に含めることができます。

関連するコンテキストを提供し、Copilot Chat応答を調整するには、次のタスクを実行します。

Visual Studio での AI 補助開発についてさらに知り、Visual Studio で Copilot Chat を使用する方法を学びましょう。

前提 条件

開始する前に、次の前提条件を満たしていることを確認してください。

前提条件 詳細情報
Visual Studio Visual Studio 2022 バージョン 17.10 以降。
GitHub アカウント GitHub アカウント を使用して、Copilot アクセスで Visual Studio にサインインします。 GitHub Copilot無料でサインアップできます。

Note

2026 年 4 月 20 日の時点で、GitHub Copilot Pro試用版は一時停止されています。 試用版の場合は、Copilot Free に切り替えるか、有料プランにアップグレードします。 サポートについては、 https://docs.github.com/en/copilot/get-started/plansを参照してください。

GitHub Copilot Chatサポートについては、https://support.github.comのGitHubにお問い合わせください。

プロンプト ガイダンス

Visual Studio 17.12 以降のガイド付きチャット エクスペリエンスは、より良い回答を得るためにコンテキストを明確にするためにプロンプトを調整するのに役立ちます。 GitHub Copilot Chat では、コンテキストが不明な場合に明確な質問が表示されるようになりました。

GitHub Copilot Chat でのガイド付きチャット エクスペリエンスのスクリーンショット。

GitHub Copilot Chat でのガイド付きチャット エクスペリエンスのスクリーンショット。

カスタム指示を使用する

カスタム命令機能を使用すると、チャットの質問に、事前に指定されたコンテキストの詳細を自動的に追加できます。 Copilot Chatでは、次の手順を使用して、チームの動作方法、使用するツール、プロジェクトの詳細など、特定のコンテキストを反映する応答を生成します。

Copilotが使用するカスタム命令ファイルを示す [参照] リストのスクリーンショット。

Copilotが使用するカスタム命令ファイルを示す [参照] リストのスクリーンショット。

.github/copilot-instructions.md ファイルを使用する

.github/copilot-instructions.md ファイルを使用するには:

  1. リポジトリのルートに.github/copilot-instructions.mdカスタム命令ファイルを作成または追加します。
  1. [ツール>オプション] ウィンドウから Visual Studio で機能有効にします。 [>>>] セクションを展開し、[.github/copilot-instructions.md ファイルからカスタム命令を読み込んで要求に追加する] チェック ボックスをオンにします。
  1. [ツール>オプション] ダイアログから Visual Studio で機能有効にします。 GitHub>Copilot セクションを展開し、[カスタム命令を有効にして .github/copilot-instructions.md ファイルから読み込み、Copilot チャット グループの要求に追加する] チェック ボックスをオンにします。

カスタム命令の内容は、チャット ビューまたはインライン チャットには表示されません。 ただし、Copilotが.github/copilot-instructions.md ファイルを使用する場合は、応答の参照リストにファイルが一覧表示されます。

Copilot メモリー は、チャット中にユーザー設定を自動的に検出して命令ファイルに追加できるため、手動で書く必要はありません。

組織レベルのカスタム手順を使用する

組織レベルのカスタム手順を使用すると、GitHub組織の所有者は、組織内のリポジトリ間でCopilot応答を調整する共有ガイダンスを提供できます。 Teams では、次の手順を使用して、一般的な基本設定と作業規則を確立できます。

Note

組織レベルのカスタム手順は、GitHub組織に属するリポジトリにのみ適用されます。 これらの手順では、ユーザー設定を表し、組織のポリシーを適用しません。

組織レベルのカスタム手順を追加する

組織の所有者は、GitHubで組織のカスタム指示を追加できます。

適用された手順を確認する

組織に属するリポジトリで作業する場合、Copilotは組織のカスタム手順を自動的に適用します。 適用された手順は、Copilot操作中に [参照] リストに表示されます。 参照を選択して、完全な手順を開きます。

組織レベルのカスタム手順を無効にする

使用しない場合、またはユーザー レベルの設定と競合する場合は、組織レベルの手順を無効にします。

  1. [ツール>オプション>GitHub>Copilot>Copilot Chatを選択します。
  2. [組織レベルのカスタム指示を有効にする] をオフにします。

ユーザー レベルの基本設定を使用する

リポジトリ レベルのカスタム命令に加えて、プロジェクト間のすべての Copilot セッションに適用されるユーザー レベルの基本設定を定義できます。 %USERPROFILE%/copilot-instructions.md ファイルには、これらの基本設定が格納されます。

作業しているリポジトリに関係なく、Copilot が従う個人のコーディング標準、優先パターン、またはワークフロー規則には、ユーザー レベルの基本設定を使用します。 .github/copilot-instructions.mdのリポジトリ レベルの手順は、ユーザー レベルの設定と共に引き続き適用されるため、Copilotはチームの共有標準にも従います。

このファイルに設定を手動で追加することや、Copilot メモリーがチャット中に自動的に検出して保存することができます。

.instructions.md ファイルを使用する

すべてのチャット要求に適用される 1 つの命令ファイルを使用する代わりに、特定のファイルの種類またはタスクに適用される複数の *.instructions.md ファイルを作成できます。 たとえば、さまざまなプログラミング言語、フレームワーク、またはプロジェクトの種類の命令ファイルを作成できます。

.github/instructions/*.instructions.md ファイルを使用するには:

  1. .github/instructions ディレクトリがまだ存在しない場合は作成します。

  2. 1 つ以上の .github/instructions/*.instructions.md ファイルを追加します。

  3. 命令ファイルの frontmatter セクションに applyTo プロパティを追加します。 glob 構文を使用して、命令が適用されるファイルまたはフォルダーを指定します。

  4. Visual Studio でこの機能を有効にします。

    [ツール>オプション] ウィンドウで、[>>>] セクションを展開し、[カスタム命令を .github/copilot-instructions.md ファイルから読み込んで要求に追加する] チェック ボックスをオンにします。

    [ツール>オプション] ダイアログで、GitHub>Copilot セクションを展開します。 [Copilot チャット] グループで、[カスタム命令を有効にして .github/copilot-instructions.md ファイルから読み込み、要求に追加する] チェック ボックスをオンにします。

命令ファイルの形式

ターゲット命令ファイルは、 .instructions.md 拡張子を使用し、次の構造を持ちます。

  • ヘッダー (省略可能): YAML frontmatter
    • description: チャット ビューでファイルにカーソルを合わせると表示される説明
    • applyTo: 指示を適用するファイルまたはフォルダーに一致する glob パターン
  • 本文: マークダウン形式の命令

Example

C# カスタム命令の例を次に示します。

## C# Instructions
---
applyTo: `**/*.cs`
---

- Write clear and concise comments for each function.
- Use PascalCase for component names, method names, and public members.
- Use camelCase for private fields and local variables.
- Add a newline before the opening curly brace of any code block  
  (such as after `if`, `for`, `while`, `foreach`, `using`, `try`, etc.).
- Ensure that the final `return` statement of a method is on its own line.

これらの手順を .github/instructions/*.instructions.md ファイルにコピーして使用し、自動的に Copilot の動作に適用します。

カスタム命令のその他の例については、 GitHub の命令サンプルの一覧を参照してください。

命令ファイルのしくみ

Copilot の使用を開始すると、現在のコンテキストに関連する命令ファイルが自動的に検出され、参照として添付されます。 この機能により、コードベースで作業している場所に関係なく、Copilotの提案は常にプロジェクトのルールに合わせて調整されます。

Copilot は、応答の [参照] 一覧に、使用する命令ファイルを一覧表示します。

プロンプト ファイルを使用する

リポジトリに再利用可能なプロンプト ファイルを作成して、頻繁に使用されるプロンプトを実行または共有できるようになりました。

プロンプト ファイルを作成するには:

  1. #参照を使用して、メソッド、クラス、ファイルなどのソリューションからの特定の情報を含めるために、プロンプト ボックスで通常と同じようにプロンプトを記述します。 他のプロンプト ファイルを参照して、共有の手順を確認することもできます。
  2. プロンプトをマークダウン ファイルにコピーし、リポジトリのルートにある .prompt.md フォルダーに .github/prompts 拡張子を付けて保存します。

プロンプト ファイルを使用するには:

  1. チャット入力 #prompt: 入力して、 .github/prompts フォルダーのプロンプト ファイルを参照するか、チャット入力の アイコンを選択➕ してコンテキストとして追加します。
  2. 追加の詳細を追加するか、プロンプトをそのまま入力します。

GitHub Copilot Chat でプロンプト ファイルを使用するスクリーンショット。

プロンプト ファイルを作成したら、チャット入力に「 / 」と入力することで、プロンプト ファイルをすばやく呼び出すことができます。

スラッシュ コマンドを使用してカスタム プロンプトを呼び出す

スラッシュ コマンドを使用すると、チャット入力ボックスから直接お気に入りのカスタム プロンプトをすばやく呼び出すことができます。

/ を使用してカスタム プロンプトにアクセスする

チャット入力に「 / 」と入力して、IntelliSense リストの上部にカスタム プロンプトを表示します。

  • カスタム プロンプトは、 ブックマーク アイコンと共に一覧の上部に表示されます。
  • システム コマンド ( /help/savePrompt など) は、アイコンなしで下に表示されます。

スラッシュを入力した後、上部にブックマーク アイコンが表示されたカスタム プロンプトを示す IntelliSense リストのスクリーンショット。

/generateInstructions を使用してカスタム命令を作成する

/generateInstructions コマンドを使用して、プロジェクトのリポジトリ レベルのカスタム命令を自動的に生成します。 このコマンドは、プロジェクト構造とコーディング パターンを分析して、リポジトリ固有の copilot-instructions.md ファイルを作成します。

/generateInstructionsを使用するには:

  1. Visual Studio で Copilot チャットを開きます。
  2. チャット入力に「 /generateInstructions 」と入力し、 Enter キーを押します。
  3. Copilot は、プロジェクトの構造とコーディング パターンを分析します。
  4. Copilotは、.github フォルダーにcopilot-instructions.md ファイルを生成します。

このコマンドは、プロジェクトスマートを活用してコーディングスタイルと設定を検出し、ファイルを手動で作成することなくカスタム命令を簡単に設定できます。

/savePrompt を使用してプロンプトを保存する

/savePrompt コマンドを使用して、現在の会話から再利用可能なプロンプトを抽出し、後で使用できるように保存します。

/savePromptを使用するには:

  1. 再利用するプロンプトを Copilot Chat に入力します。
  2. Copilot応答したら、チャット入力に/savePromptを入力し、Enter キーを押します
  3. プロンプト ファイルの名前を選択します。
  4. /savePrompt はプロンプトを .github/prompts/[name].prompt.mdに保存します。

プロンプトにすばやくアクセスするには、「 / 」と入力し、IntelliSense の一覧から選択します。

スラッシュ コマンドを使用して一般的なタスクのコンテキストを設定する

Copilot Chat のスラッシュ コマンドは、一般的な開発タスクの意図をすばやく設定するのに役立ちます。 特定のスラッシュ コマンドを使用して質問を作成することで、長い質問を書き出すことなくより良い回答を得ることができます。

チャット ウィンドウのでスラッシュ コマンドを使用したり、変更しようとしているコード内で直接インラインで使用したり、インライン コード アシスタンス 使用したりできます。 エディターで開いているコード ファイルを変更または追加するのに役立つコマンドは、インライン コード アシスタントとチャット ウィンドウの両方で機能しますが、一般的なコーディングの質問のコマンドはチャット ウィンドウでのみ機能します。

コマンド 用途 チャットウィンドウ インライン チャット
/doc 指定したコードまたは選択したコードのコメントを追加します。
例:
- /doc DeleteBasketAsync method in BasketService.cs
- 目的のコードを選択し、「/doc」と入力します
はい はい
/説明する コードの説明を取得します。

例:
- /explain the AddItemToBasket method in BasketService.cs
- 目的のコードを選択し、「/explain」と入力します
はい はい
/修理する 選択したコードの問題の修正プログラムを提案します。
例:
- /fix the SetQuantities method in BasketService.cs
- 目的のコードを選択し、「/fix」と入力します
はい はい
/生成する 指定された質問に回答するコードを生成します。
例: /generate code to add two numbers in Calculator.cs
はい はい
/generateInstructions プロジェクトのコーディング パターンと構造を反映するリポジトリ レベルのカスタム命令 (copilot-instructions.md) を生成します。 はい いいえ
/ヘルプ Copilot Chat の使用に関するヘルプを表示します。
例: /help
はい はい
/最適化 選択したコードの実行時間を分析して改善します。
例:
- /optimize the AddItemToBasket method in BasketService.cs
- 目的のコードを選択し、「/optimize」と入力します
はい はい
/保存プロンプト 現在の会話スレッドの再利用可能なプロンプトを、.prompt.md フォルダー内の.github/prompts ファイルに保存します。 はい いいえ
/テスト 選択したコードの単体テストを作成します。
例: 目的のコードを選択し、「/tests using XUnit Framework」と入力します
.NET の場合は、GitHub Copilot Testing for .NET をお勧めします
はい はい

インライン チャット ビューとチャット ウィンドウのスラッシュ コマンドのスクリーンショット。

コマンド 用途 チャットウィンドウ インライン チャット
/doc 指定したコードまたは選択したコードのコメントを追加します。
例:
- /doc DeleteBasketAsync method in BasketService.cs
- 目的のコードを選択し、「/doc」と入力します
はい はい
/説明する コードの説明を取得します。

例:
- /explain the AddItemToBasket method in BasketService.cs
- 目的のコードを選択し、「/explain」と入力します
はい はい
/修理する 選択したコードの問題の修正プログラムを提案します。
例:
- /fix the SetQuantities method in BasketService.cs
- 目的のコードを選択し、「/fix」と入力します
はい はい
/生成する 指定された質問に回答するコードを生成します。
例: /generate code to add two numbers in Calculator.cs
はい はい
/ヘルプ Copilot Chat の使用に関するヘルプを表示します。
例: /help
はい はい
/最適化 選択したコードの実行時間を分析して改善します。
例:
- /optimize the AddItemToBasket method in BasketService.cs
- 目的のコードを選択し、「/optimize」と入力します
はい はい
/テスト 選択したコードの単体テストを作成します。
例: 目的のコードを選択し、「/tests using XUnit Framework」と入力します
.NET の場合は、GitHub Copilot Testing for .NET をお勧めします
はい はい

インライン チャット ビューとチャット ウィンドウのスラッシュ コマンドのスクリーンショット。

Visual Studio 2022 バージョン 17.13 では、ユーザーがスラッシュ コマンドを入力すると、コマンドは自然言語でプロンプトを展開し、コマンドのコンテキストを表示します。

Copilot アクションを使用する

コンテキスト メニューのCopilotアクションを使用して、一般的な開発タスクの構成済みのプロンプトとスラッシュ コマンドにすばやくアクセスします。

コンテキスト メニューの Copilot アクションのスクリーンショット。

各アクションの動作は、コンテキスト メニューを開いたときにコードを選択するかどうかによって異なります。

アクション コードを選択した状態 コードが選択されていない
説明する 選択したコードについて説明します カーソル位置の近くのコードについて説明します
選択の最適化 選択したコードをパフォーマンス、保守容易性、信頼性、アーキテクチャ用に最適化します 適用なし
コメントの生成 選択したコードのコメントを生成します カーソル位置付近のコードのコメントを生成する
テストの生成 選択したコードのテストを生成します カーソル位置付近のコードのテストを生成する
チャットに追加 選択したコードを参照として Chat に追加します ファイル全体を参照として Chat に追加する

[選択の最適化] 以外のアクションを選択すると、チャット ウィンドウが自動的に開き、適切なスコープ付きコンテキストでスラッシュ コマンドが Copilot に送信されます。 その後、チャット ウィンドウで Copilot の応答を確認して操作できます。

最適化選択オプションを使用してコードを改善する

コードの特定のセクションを選択し、[ 選択の最適化] を選択して、ファイル全体ではなく、そのセクションだけを Copilot で分析して改善させます。

Copilot は、選択したコードとその周囲のコンテキストを調べて、意味のあるコンテキストに対応した提案を提供します。 最適化により、既存のコード スタイル、構造、および機能が保持され、コードベースが整理され、一貫性が保たれます。 チャット パネルを使用する他のアクションとは異なり、 選択の最適化 では、直接確認、承認、または拒否できるインライン差分として提案が表示されます。

Copilot では、次の領域で最適化の提案が提供されます。

  • パフォーマンス: アルゴリズムの高速化、メモリ使用量の削減、非同期パターン
  • 保守性: 簡略化されたロジック、より明確な構造、より優れた名前付け
  • 確実: エラー処理、リソースのクリーンアップ、スレッド セーフ
  • 建築: 依存関係の注入、より優れたインターフェイス、モジュール設計

Copilot アクションを使用する

コンテキスト メニューのCopilotアクションを使用して、一般的な開発タスクの構成済みのプロンプトとスラッシュ コマンドにすばやくアクセスします。

コンテキスト メニューの Copilot アクションのスクリーンショット。

各アクションの動作は、コンテキスト メニューを開いたときにコードを選択するかどうかによって異なります。

アクション コードを選択した状態 コードが選択されていない
説明する 選択したコードについて説明します カーソル位置の近くのコードについて説明します
選択の最適化 選択したコードをパフォーマンス、保守容易性、信頼性、アーキテクチャ用に最適化します 適用なし
コメントの生成 選択したコードのコメントを生成します カーソル位置付近のコードのコメントを生成する
テストの生成 選択したコードのテストを生成します カーソル位置付近のコードのテストを生成する
チャットに追加 選択したコードを参照として Chat に追加します ファイル全体を参照として Chat に追加する

[選択の最適化] 以外のアクションを選択すると、チャット ウィンドウが自動的に開き、適切なスコープ付きコンテキストでスラッシュ コマンドが Copilot に送信されます。 その後、チャット ウィンドウで Copilot の応答を確認して操作できます。

最適化選択オプションを使用してコードを改善する

コードの特定のセクションを選択し、[ 選択の最適化] を選択して、ファイル全体ではなく、そのセクションだけを Copilot で分析して改善させます。

Copilot は、選択したコードとその周囲のコンテキストを調べて、意味のあるコンテキストに対応した提案を提供します。 最適化により、既存のコード スタイル、構造、および機能が保持され、コードベースが整理され、一貫性が保たれます。 チャット パネルを使用する他のアクションとは異なり、 選択の最適化 では、直接確認、承認、または拒否できるインライン差分として提案が表示されます。

Copilot では、次の領域で最適化の提案が提供されます。

  • パフォーマンス: アルゴリズムの高速化、メモリ使用量の削減、非同期パターン
  • 保守性: 簡略化されたロジック、より明確な構造、より優れた名前付け
  • 確実: エラー処理、リソースのクリーンアップ、スレッド セーフ
  • 建築: 依存関係の注入、より優れたインターフェイス、モジュール設計

次の手順