GitHub Copilotを使用してコードを分析して説明する

完了

開発者は、GitHub Copilotを使用して、新しいアプリや機能のブレーンストーミング、コーディング ツールと手法の探索、問題と潜在的な修正プログラムの評価、複雑または未知のコードの説明を行います。 GitHub Copilotは、コードの目的と動作を理解するのに役立ち、操作と保守が容易になります。

次の各GitHub Copilot機能を使用して、コードを分析または説明できます。

  • チャット ビュー: チャット ビューを使用して、コード プロジェクト、コーディング トピック、および一般的なテクノロジの概念について質問します。
  • インライン チャット: エディターから直接インライン チャット セッションを開始して、特定のコード セクションについて質問します。
  • スマート アクション: Explain スマート アクションを実行して、プロンプトを記述しなくても選択したコードを説明します。
  • クイック チャット: 簡単な質問をして、作業内容に戻ります。

Ask エージェント モードのチャット ビューを使用してコードを分析および説明する

Visual Studio Codeのチャット ビューは、ユーザーと AI ペア プログラマの間のチャット会話を管理するために使用されます。 既定では、チャット ビューは、Visual Studio Code ウィンドウの右側にあるセカンダリ サイド バーにあります。 プロンプトを送信すると、AI ペア プログラマは自然言語の説明、コード スニペット、およびその他の関連情報で応答します。 応答はチャット ビューに表示されます。

チャット ビューにアクセスするには、Toggle Chat ボタン (Copilot アイコン) を選択するか、GitHub Copilot メニューから Open Chat を選択するか、Ctrl + Alt + I キーボード ショートカットを使用します。 チャット ビューは既定で [エージェントに問い合わせ] モードになりますが、開くモードと非表示モードを切り替えると、最近選択したモードが保持されます。

Ask エージェント モードのチャット ビューは、さまざまなトピックで使用できます。 例えば次が挙げられます。

  • コーディングとテクノロジの概念 ("What is a linked list?"、"top 10 popular web frameworks") について質問する
  • コーディングの問題を最適に解決する方法に関するアイデアをブレーンストーミングする ("How to add auth to my project?")
  • コード ブロック ("@workspace /explain"、"What does this code do?") について説明する
  • コード修正の提案 ("@workspace /fix"、"This method gives a FileNotFoundException")
  • VS Code の設定について質問する ("@vscode how do I disable the minimap?")

シングルトン パターンについて尋ねるチャット ビューを示すスクリーンショット。

Ask エージェント モードでは、次のインターフェイス機能がサポートされています。

  • チャット ビュー ツール バー: チャット ビューのツール バーは、チャット ビューの右上隅にあります。 ツール バーを使用すると、チャット履歴の管理、新しいチャットの開始、別の場所でのチャット ビューの開き、チャット ビューの非表示を切り替えることができます。 ツール バー のボタン アイコンの上にマウス ポインターを置くと、説明が表示されます。

  • チャットの応答領域: チャット応答領域は、チャット ビュー ツール バーの下の領域で、GitHub Copilot応答が表示されます。 応答には、コードの提案、説明、対話型要素、およびプロンプトに関連するその他の情報が含まれます。

  • [コンテキストのアタッチ] ボタン: [コンテキストのアタッチ] ボタン (クリップ アイコン) は、チャット ビューの下部にあります。 このボタンを使用すると、ワークスペースからファイル、選択、シンボル、またはその他のリソースをチャット プロンプトのコンテキストとしてアタッチできます。

  • Copilotに質問する: [Copilotに質問する] テキスト ボックスは、プロンプトを入力する場所です。 Ask エージェント モードを使用している場合、プロンプトにはチャット参加者、スラッシュ コマンド、チャット変数を含めることができます。

    Ask エージェント モードでは、チャット参加者を使用して質問のコンテキストを指定できます。 たとえば、 @workspace を使用して、コンテキストがワークスペース ファイルであることを示すことができます。

  • [ボイス チャットの開始] ボタン: [音声チャットの開始] ボタンは、[Ask Copilot] テキストボックスの左側にあります。 このボタンを使用して、GitHub Copilotとの音声操作を有効または無効にすることができます。 音声操作が有効になっている場合は、音声を使用してGitHub Copilot質問できます。

  • [エージェント] ドロップダウン: [エージェント] ドロップダウンは、[Ask Copilot] テキストボックスの右側にあります。 このドロップダウンを使用して、Ask、Agent、Plan の各モードを切り替えることができます。

  • [モデルの選択] メニュー: [モデルの選択] メニューは、エージェントドロップダウンの右側にあります。 このボタンを使用して、応答の生成に使用GitHub Copilotモデルを選択できます。 モデルの選択は、GitHub Copilot サブスクリプション、GitHub Copilotの設定、およびリージョンで使用可能なモデルに基づいて制限される場合があります。

  • [送信] ボタン: [モデルの選択] メニューの右側に [送信] ボタンがあります。 このボタンを使用して、プロンプトをGitHub Copilotに送信し、応答を受け取ることができます。 [送信] ボタンには、プロンプトの送信方法のオプションを含むドロップダウンが含まれています。

インライン チャットを使用してコードを分析および説明する

インライン チャット機能を使用すると、エディターから直接チャット セッションを開始できます。 インライン チャットは、エディターを終了せずに特定のコード (セクション、行、または変数) について質問する場合に便利です。 応答はインライン チャット ウィンドウに表示されます。

インライン チャットにアクセスするには、GitHub Copilot メニューから Editor Inline Chat を選択するか、Ctrl + I キーボード ショートカットを使用します。 Escape キーを使用して、インライン チャット ウィンドウを閉じます。

インライン チャットを使用して一般的なコーディング トピックについて問い合わせることができますが、アクティブなエディターでコードに質問する場合に最適です。 例えば次が挙げられます。

  • コード ブロック ("/explain How are the parameters of the XYZ method used?"、"/explain #selection") について説明する
  • 問題を調べる ("/explain Why does this code throw an exception?"、"/explain How can I fix this issue?")
  • コーディングまたはテクノロジの概念 ("/explain Can LINQ be used to improve readability?") について質問する

選択したコードについて確認するインライン チャットを示すスクリーンショット。

インライン チャットでは、次の機能がサポートされています。

  • Copilotに質問する: [Copilotに質問する] テキスト ボックスは、プロンプトを入力する場所です。 インライン チャットを使用している場合、プロンプトにはスラッシュ コマンドとチャット変数を含めることができますが、チャット参加者はサポートされていません。

  • [ボイス チャットの開始] ボタン: [音声チャットの開始] ボタンは、[Ask Copilot] テキストボックスの左側にあります。 このボタンを使用して、GitHub Copilotとの音声操作を有効または無効にすることができます。 音声操作が有効になっている場合は、音声を使用してGitHub Copilot質問したり、コードの提案を要求したりすることができます。

  • [モデルの選択] メニュー: [モデルの選択] メニューでは、応答の生成に使用GitHub Copilotモデルを選択できます。 モデルの選択は、GitHub Copilot サブスクリプション、GitHub Copilotの設定、およびリージョンで使用可能なモデルに基づいて制限される場合があります。

  • [送信] ボタン: [モデルの選択] メニューの右側に [送信] ボタンがあります。 このボタンを使用してプロンプトをGitHub Copilotに送信し、その応答を受け取ることができます。 [送信] ボタンには、プロンプトの送信方法のオプションを含むドロップダウンが含まれています。

Explain スマート アクションを使用してコードを説明する

Explain スマート アクションは、エディターで開かれているコードを説明するために使用されます。 コード ブロック、1 つのコード行、または変数を選択して、フォーカスを絞り込むことができます。 コードが選択されていない場合、説明はアクティブなファイルを参照します。 Explain スマート アクションは、チャット ビューに応答を表示します。

Explain スマート アクションにアクセスするには、アクティブなコード エディターで右クリックし、 Copilotを選択し、 Explain を選択します。

コンテキスト メニューの [スマートアクションの説明] を示すスクリーンショット。

クイック チャット ウィンドウを使用してコードを分析および説明する

クイック チャット機能を使用すると、簡単な質問をして、自分の作業に戻ることができます。 クイック チャット機能は、[チャット] ビューで構築しているチャット履歴に影響を与えずにすばやく質問する場合に便利です。 [クイック チャット] ウィンドウに応答が表示されます。

クイック チャット ウィンドウにアクセスするには、GitHub Copilot メニューから Quick Chat を選択するか、Ctrl + Shift + Alt + L キーボード ショートカットを使用します。

クイック チャット ウィンドウは、Ask エージェント モードのチャット ビューで提供されるのと同じコンテキスト機能をサポートしますが、チャット履歴を管理する方法は提供されません。 クイック チャット ウィンドウは、簡単な質問と回答のために設計されているため、チャット ビューによって提供されるすべての機能が含まれるわけではありません。

[クイック チャット] ウィンドウを示すスクリーンショット。

クイック チャットは、Ask エージェント モードのチャット ビューと同じ種類の質問に使用できます。 ただし、クイック チャットは、大規模な会話の一部ではない迅速な質問に最適です。

概要

GitHub Copilotには、コードの分析と説明に使用できるいくつかの機能が用意されています。 チャット ビュー、インライン チャット、スマート アクションの説明、クイック チャット ウィンドウには、コード プロジェクト、コーディング トピック、一般的なテクノロジの概念について質問する方法がすべて用意されています。 これらの機能を使用すると、コードの理解を深め、コーディングスキルを向上させることができます。