Visual Studio で GitHub Copilot Chat のコンテキストを設定して、より良い回答を得る
Visual Studio で GitHub Copilot Chat を使用すると、IDE を離れることなく、構文、プログラミングの概念、コンテキスト固有のコード ヘルプ、テスト ケース、デバッグなどのコーディング情報とサポートを得ることができます。 Copilot Chat は Visual Studio に統合されています。つまり、IDE にある有用な手掛かりを集めることで、作業内容を理解できます。
この記事では、Copilot Chat に次のような詳細情報を提供することで、より良い回答を得る方法について学習します。
- スラッシュ コマンドを使用して、コードの説明を取得する
/explain
などの一般的なタスクをすばやく指定します。 - リファレンスを使用してチャットの範囲を特定のファイルに設定します。
- Copilot が回答を生成するために使用するソースを確認します。
- Copilot のチャットごとに異なるスレッドを使用して、それぞれに異なるコンテキストを維持することができます。
詳細については、「Visual Studio での AI 支援開発」およびVisual Studio で Copilot Chat を使用する方法を参照してください。
前提条件
Visual Studio で GitHub Copilot Chat の使用を開始するには、次のものが必要です。
- GitHub Copilot for Individuals または GitHub Copilot for Business のアクティブなサブスクリプション
- Visual Studio 2022 バージョン 17.6 以降のインストール
- Visual Studio にインストールされた GitHub Copilot
- Visual Studio での GitHub Copilot Chat 拡張機能のインストール
一般的なタスクに Copilot Chat のスラッシュ コマンドを使用する
Copilot Chat のスラッシュ コマンドは、一般的な開発タスクに意図をすばやく設定するのに役立ちます。 特定のスラッシュ コマンドを使用して質問を作成することで、長い質問を書き出すことなく、より良い回答を得ることができます。
スラッシュ コマンドはチャット ウィンドウで、またはインライン コード アシスタンスを使って、変更するコードのインラインで直接使用できます。 エディターで開いているコード ファイルを変更または追加するのに役立つコマンドは、インライン コード アシスタントとチャット ウィンドウの両方で機能しますが、一般的なコーディングの質問に関するコマンドは、チャット ペインでのみ機能します。
コマンド | 使用方法 | チャット ウィンドウ | インライン チャット |
---|---|---|---|
/doc | 指定した、または選んだコードのコメントを追加します。 例: - /doc DeleteBasketAsync method in BasketService.cs - 目的のコードを選び、「 /doc 」と入力します |
はい | はい |
/explain | コードの説明を取得します。 例: - /explain the AddItemToBasket method in BasketService.cs - 目的のコードを選び、「 /explain 」と入力します |
はい | はい |
/fix | 選んだコードの問題の修正プログラムを提案します。 例: - /fix the SetQuantities method in BasketService.cs - 目的のコードを選び、「 /fix 」と入力します |
はい | はい |
/generate | 指定した質問に回答するコードを生成します。 例: /generate code to add two numbers in Calculator.cs |
はい | はい |
/help | Copilot Chat の使用に関するヘルプを表示します。 例: /help |
はい | はい |
/optimize | 選んだコードの実行時間を分析して改善します。 例 : - /optimize the AddItemToBasket method in BasketService.cs - 目的のコードを選び、「 /optimize 」と入力します |
はい | はい |
/tests | 選んだコードの単体テストを作成します。 例: 目的のコードを選び、「 /tests 」と入力します |
はい | はい |
リファレンス: Copilot の結果の範囲を特定のファイルまたはソリューション全体に設定する
コーディング関連の質問を自然言語で行うと、GitHub Copilot Chat がそれに対して Visual Studio で開いているコードベースのコンテキストで答えることができます。 リファレンスを使用すると、質問に答えるときに Copilot が考慮する情報をより具体的に知ることができます。 コードベースで特定のコンテキストを選択することで、長い情報を書き出したり貼り付けたりすることなく、より良い質問を簡単に作成できます。 コンテキストを指定して、Copilot がより関連性の高い回答を提供することもできます。
ファイルを簡単に参照するには、ファイル名の先頭に # 記号を追加するだけです。 たとえば、BasketService.cs という名前のファイルがある場合は、チャット内でそれを #BasketService.cs と指定します。
#solution を使用して、コンテキストについて IDE でアクティブなソリューションを参照します。
コンテキスト制御にリファレンスを使用する例を次に示します。
例 | 質問を作成するために Copilot によって使用されるコンテキスト |
---|---|
#MyFile.cs: 66-72 の目的は何ですか? | ファイルの正確なセクション |
#BasketService.cs のテストはどこにありますか? | BasketService.cs |
/explain #BasketService.cs の AddItemToBasket メソッド | BasketService.cs の AddItemToBasket メソッド |
この #solution に削除バスケット メソッドはありますか | IDE で開いている現在のソリューション |
Copilot Chat によって使用されるソースを確認する
Copilot Chat では、どの結果の後にも使用されたコンテキストが表示されるため、質問に回答するときに何が考慮されたかを確認できます。 Copilot Chat に質問し、チャット ウィンドウで応答を受け取ると、応答の下に [参照] ドロップダウンが表示されます。 [参照] ドロップダウン リストのエントリには、その応答を生成するために Copilot Chat によって参照されたコンテキストが表示されます。 この情報は、より適切で関連性の高い回答を得るために質問を変更する場合に役立ちます。
整理: Copilot とのチャットをスレッドごとに分離する
コードを書いて質問するために Copilot Chat を広範囲で使用している場合、会話をトピックごとに保持する方法で整理できます。 Visual Studio の Copilot Chat では、簡単に新しい会話 (スレッド) を開始できるようになったため、目の前のタスクに集中し、コンテキストを明確に保ち、回答が関連する履歴に基づいて行われるようになりました。
チャット ウィンドウで [新しいスレッドの作成] を選択して、新しいスレッドを開始できます。
質問に適した履歴コンテキストを指定するために、複数の進行中のスレッドから選択できます。
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示