🚀 VS Code で で入手しましょう!

Copilot チャット コンテキスト

この記事では、Visual Studio Code で Copilot チャットプロンプトにコンテキストを追加して、Copilot が最適で最も関連性の高い回答を提供できるようにする方法について説明します。Copilot は、ファイル、シンボル、ターミナルコマンド出力など、さまざまなコンテキストの種類をサポートしています。

Copilot は、自然言語チャットプロンプトに基づいて、質問の意図とスコープを判断しようとします。Copilot が最適で最も関連性の高い回答を提供できるように、チャットプロンプトにコンテキストを追加するか、Copilot に適切なファイルを自動的に見つけさせてください。

チャットプロンプトにコンテキストを追加する

チャットプロンプトにコンテキストを追加するには、いくつかの方法があります。

  • VS Code は、現在アクティブなエディターをコンテキストとして自動的に追加します。エディターでコードブロックを選択した場合、その選択範囲のみがコンテキストとして追加されます。

    コンテキスト項目の横にある無効 (目のアイコン) アイコンを選択すると、現在のリクエストのアクティブなエディターの追加を無効にできます。chat.implicitContext.enabled 設定を使用して、アクティブなエディターをすべてのリクエストに対して自動的に追加するかどうかを構成します。

    Screenshot of VS Code Copilot Chat view, showing the current editor selection as context.

  • コンテキストをアタッチ (ペーパークリップ) アイコン (Copilot チャット) または ファイルの追加 ボタン (Copilot Edits) を選択し、クイックピックからコンテキストの種類を選択します。

    Screenshot of VS Code Copilot Chat view, showing the Attach context button and context Quick Pick.

    コードベースターミナル選択などの定義済みコンテキストタイプをアタッチしたり、ワークスペースからファイル、フォルダー、またはシンボルを選択したりできます。

    ヒント

    添付ファイルのクイックピックから複数の項目をすばやく追加するには、およびキーを使用してリストをナビゲートし、キーを使用して項目をコンテキストとして追加し、他の項目についてもこれを繰り返します。

  • エクスプローラーまたは検索ビューのファイルでコンテキストメニュー Copilot > チャットにファイルを追加 を使用するか、エディターでテキスト選択の場合は チャットに選択範囲を追加 を使用します。

  • チャット変数を使用してコンテキストを参照するには、チャットプロンプトに # 文字を入力します。

    たとえば、現在のエディターの選択範囲をチャットプロンプトに追加するには #selection を使用し、ワークスペースファイルを追加するには #file を使用し、ワークスペースからシンボルを追加するには #sym を使用します。

    Screenshot of VS Code Copilot Chat view, showing the chat variable picker.

    ヒント

    # を入力し、IntelliSense トリガーとして使用して、ファイルまたはシンボルを選択します。

  • エディタータブ、またはエクスプローラービュー、検索ビュー、またはエディターのパンくずリストからチャットビューにファイルまたはフォルダーをドラッグアンドドロップします。

可能な場合、ファイルを添付すると、ファイルの内容全体が含まれます。コンテキストウィンドウに収まらないほど大きい場合は、関数とその実装なしの説明を含むファイルの概要が含まれます。概要も大きすぎる場合は、ファイルはプロンプトの一部になりません。

Copilot に適切なファイルを自動的に見つけさせる

個々のファイルを手動で追加する代わりに、Copilot にコードベースから適切なファイルを自動的に見つけさせることができます。これは、質問に関連するファイルがわからない場合に役立ちます。

Copilot に適切なファイルを自動的に見つけさせるには、プロンプトに #codebase を追加するか、コンテキストタイプのリストから コードベース を選択します。

最適な結果を得るには、github.copilot.chat.codesearch.enabled (プレビュー) 設定を有効にしてください。

Web からコンテンツを取得する

Copilot に Web ページからコンテンツを取得させるには (たとえば、ドキュメントページを参照する場合)、プロンプトに fetch ツールを追加し、その後に取得するページの URL を追加します。

fetch ツールを追加するには、コンテキストを追加 を選択し、クイックピックから Web ページをフェッチ を選択します。または、チャットプロンプトに #fetch と入力します。

問題解決のためのコンテキストを追加する

コードで問題が発生した場合、またはテストの実行中にエラーが発生した場合は、特定のコンテキストをチャットプロンプトに追加して、Copilot が最適な回答を提供できるようにすることができます。

  • 問題 パネルから項目をドラッグアンドドロップして、対応する問題をコンテキストとしてプロンプトに添付します。

    または、コンテキストタイプのリストから 問題... を選択し、クイックピックから特定の問題を選択します。

    Screenshot of the Chat view with a problem attached to the chat input field, the result of doing drag and drop of that problem from the Problems panel.

  • テスト失敗 コンテキストタイプを選択して、テスト失敗の詳細をコンテキストとしてプロンプトに追加します。

  • コンテキストタイプのリストから ターミナル最後のコマンド を選択するか、#terminalLastCommand と入力して、ターミナルで最後に実行されたコマンドの出力を添付します。

チャットコンテキストの種類

Copilot は、次のコンテキストタイプをサポートしています。

  • ファイル - ワークスペースから特定のファイルをプロンプトに含めます
  • フォルダー - フォルダーを追加して、そのフォルダー内のファイルをプロンプトに含めます
  • シンボル - ワークスペースからシンボルをプロンプトに追加します
  • コードベース - Copilot に適切なファイルを自動的に見つけさせます
  • エディターまたはターミナルの選択範囲 - エディターまたはターミナルからのテキストの選択範囲をプロンプトに含めます
  • ターミナルコマンド出力 - ターミナルで最後に実行されたコマンドの出力を含めます
  • 問題 - 問題パネルから特定の問題をプロンプトに含めます
  • テスト失敗 - テスト失敗の詳細をプロンプトに含めます