はじめに
よく知らないprojectで作業するように割り当てられている場合や、貢献したい興味深いオープンソース projectが見つかった場合は、変更を開始する前にコードベースについて理解しておく必要があります。 このガイドでは、 ギットハブ コパイロット チャット を使用してコードベースを探索し、プロジェクトについて簡単に学習する方法について説明します。
コパイロットチャット の操作
このガイド全体を通して、github.com/copilot にある コパイロットチャット 上の GitHub.com を使用します。
リポジトリ コンテキストの提供
次のいずれかの方法で、コードベースに関する コパイロットチャット を尋ねることができます。
チャットでのリポジトリのアタッチ
リポジトリをアタッチすると、リポジトリ内のコードに コパイロットチャット アクセスできます。これは、会話中にリポジトリを比較または切り替える場合に最適です。
- GitHubで、github.com/copilot に移動します。
- テキスト ボックスで、[リポジトリ、ファイル、スペース追加] をクリックし、[リポジトリ] をクリックします。
- 探索するリポジトリを検索して選択します。
リポジトリページから質問する
メモ
この機能は現在 パブリック プレビュー であり、変更される可能性があります。
リポジトリに関する コパイロットチャット は、最初にアタッチせずに、 GitHubのページから直接確認できます。 これは、これまで関わったことのないプロジェクトの要領をすばやくつかむ方法です。
- GitHubで、探索するリポジトリに移動します。
- リポジトリ ページから コパイロットチャット を開き、質問します。 Copilot はリポジトリをコンテキストとして使用し、リポジトリの実際のファイルとシンボルでその回答を根拠とします。
- 同じ共有コンテキストを使用して、さらに深く掘り下げるためにフォローアップの質問をします。
プロンプトの例
次のプロンプトは、コードベースについて調べるのに役立つ Copilot 質問の種類の例です。
一般的な質問
-
Based on the code in this repository, give me an overview of the architecture of the codebase. Provide evidence. -
Give me an overview of this repository: its purpose, structure, key components, and how to run it. -
What are the main entry points and how do the key components fit together? -
Which languages are used in this repo? Show the percentages for each language. -
What are the core algorithms implemented in this repo? -
What design patterns are used in this repository? Give a brief explanation of each pattern that you find, and an example of code from this repository that uses the pattern, with a link to the file.
具体的な質問
これらの質問が役に立つかどうかは、調べているコードベースによります。
-
How do I build this project? -
Where is authentication handled in this codebase? -
Analyze the code in this repository and tell me about the entry points for this application. -
Describe the data flow in this application. -
Analyze the code in this repository and tell me what application-level security mechanisms are employed. Provide references.
ディレクトリ内のファイルについて
Copilotを使用して、ディレクトリ内のファイルまたは個々のファイルの目的を理解できます。
ディレクトリ内のファイルについて調べるには:
-
GitHub.comのディレクトリに移動します。
-
ページの右上隅にある Copilot アイコン () をクリックして、コパイロットチャット を開きます。
Copilot は、ディレクトリの内容を質問のコンテキストとして使用します。
- Copilotに尋ねる:
Explain the files in this directory。
特定のファイルについて調べるには:
-
GitHub.comでファイルを開きます。
-
ページの右上隅にある Copilot アイコン () をクリックして、コパイロットチャット を開きます。
Copilot は、ファイルの内容を質問のコンテキストとして使用します。
- 小さいファイルについては、 Copilot:
Explain this fileを尋ねます。 - 大きいファイルの場合は、次のように質問します:
Explain what this file does. Start with an overview of the purpose of the file. Then, in appropriately headed sections, go through each part of the file and explain what it does in detail.
特定のコード行について理解する
Copilotを使用すると、ファイル内の特定のコード行を理解するのに役立ちます。
特定のコード行について調べるには:
-
GitHubで、リポジトリに移動し、ファイルを開きます。
-
選択する最初の行の行番号をクリックし、Shift キーを押しながら選択する最後の行の行番号をクリックして、行を選択します。
-
選択した行について独自の質問をするには、選択した行の右側にある Copilot アイコン () をクリックします。 選択した行が質問のコンテキストとして示された ギットハブ コパイロット チャット パネルが表示されます。
-
定義済みの質問をするには、 Copilot アイコンの横にある下向きのボタンをクリックし、オプションのいずれかを選択します。

-
Copilot アイコンをクリックした場合は、チャット パネルの下部にあるプロンプト ボックスに質問を入力し、Enter キーを押します。
特定のファイルまたはシンボルについて理解する
コードベースの特定のファイルまたはシンボルの目的を理解するのに役立つ Copilot を使用します。 シンボルは、関数、クラス、変数などのコード内の名前付きエンティティです。
-
GitHubで、リポジトリに移動し、ファイルを開きます。
-
ファイルの上部にある Copilot アイコン () をクリックして、 コパイロットチャットを開きます。
Copilot では、ファイルの内容が質問のコンテキストとして分割画面に表示されます。
-
特定のシンボルについて質問する場合は、ファイル内のシンボルを強調表示します。
-
プロンプト ボックスに、ファイルまたは強調表示された記号に関する質問を入力し、 Enter キーを押します。
Copilot チャット パネルで応答します。
ヒント
Copilotリポジトリコンテキストでこのような自然言語の質問に答える能力は、リポジトリのセマンティック コード検索インデックスが最新の状態である場合に最適化されます。 詳しくは、「GitHub Copilotのリポジトリのインデックス作成」をご覧ください。
コミットについて調べる
projectについて理解を深める良い方法の 1 つは、最近発生している作業を確認することです。 これを行うには、最近のコミットを参照します。
-
GitHub で、リポジトリのメイン ページに移動します。
-
リポジトリのメイン ページで、ファイル リストの上にある [ commits] をクリックします。
![リポジトリのメイン ページのスクリーンショット。 時計のアイコンと [178 件のコミット] がオレンジ色の枠線で強調表示されています。](/api/public/proxy/docs.github.com/assets/cb-48469/images/help/commits/commits-page.png)
-
コミット メッセージをクリックして、そのコミットの差分ビューを表示します。
-
コパイロットチャット パネルで、「:
What does this commit do?」と入力します。 -
必要な場合は、「
Explain in more detail」と入力してフォローアップできます。
[Insights] タブの使用
Copilotを使用してプロジェクトに慣れるだけでなく、**** の [GitHub.com] タブを使用することもできます。 これにより、リポジトリの概要が表示されます。
詳細については、「Pulse を使用してリポジトリ アクティビティの概要を表示する」および「プロジェクトのコントリビューターを表示する」を参照してください。