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

完了

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

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

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

チャット ビューを ask モードで使用してコードを分析および説明する

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

チャット ビューにアクセスするには、[ チャットの切り替え ] ボタン ([コピロット] アイコン) を選択するか、GitHub Copilot メニューから [チャットを開く ] を選択するか、 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 が応答を表示するチャット ビュー ツール バーの下のスペースです。 応答には、コードの提案、説明、対話型要素、およびプロンプトに関連するその他の情報が含まれます。

  • [コンテキストの追加] ボタン: [コンテキストの追加] ボタンは、チャット ビューの下部にあります。 このボタンを使用して、チャット セッションにコンテキストを追加するリソースを検索できます。 リソースには、内部プロジェクト ファイルから GitHub 上のパブリック リポジトリまで、組織の外部にあるものがあります。

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

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

  • [拡張とチャット] ボタン: [拡張機能とチャット] ボタンは、[Copilot に質問する] テキストボックスの下にあります。 GitHub Copilot Extensions は、外部ツールの機能を GitHub Copilot Chat に統合する GitHub アプリの一種です。 このボタンを使用して、Copilot 拡張機能の一覧から選択できます。 既定の拡張機能では、チャット参加者とスラッシュ コマンドの組み合わせが提供され、プロンプトのコンテキストが提供されます。

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

  • [チャット モード] メニュー: [チャット モード] ドロップダウン メニューは、[音声] ボタンと [拡張機能] ボタンの右側にあります。 このメニューを使用して、[確認]、[編集]、[エージェント] の各モードを切り替えることができます。

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

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

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

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

インライン チャットにアクセスするには、GitHub Copilot メニューから [エディター インライン チャット ] を選択するか、 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 に質問する: [Ask Copilot]\(コピロットに質問する\) テキスト ボックスは、プロンプトを入力する場所です。 インライン チャットを使用している場合、プロンプトにはスラッシュ コマンドとチャット変数を含めることができますが、チャット参加者はサポートされていません。

  • [拡張とチャット] ボタン: [拡張機能とチャット] ボタンは、[Copilot に質問する] テキストボックスの下にあります。 GitHub Copilot Extensions は、外部ツールの機能を GitHub Copilot Chat に統合する GitHub アプリの一種です。 このボタンを使用して、Copilot 拡張機能の一覧から選択できます。 既定の拡張機能では、チャット参加者とスラッシュ コマンドの組み合わせが提供され、プロンプトのコンテキストが提供されます。

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

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

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

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

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

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

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

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

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

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

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

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

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

概要

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