GitHub Copilotが分析するコード範囲
GitHub Copilotはプロジェクト全体を分析するのか、それとも現在開いているファイルのみを対象とするのかについて明確に説明します。Copilotの動作は利用シーンによって変わり、適切なキーワードを使い分けることで分析範囲を制御できます。
基本動作 (デフォルト設定)
デフォルトではCopilotは主にアクティブなファイルと関連ファイルを分析します:
- 編集中のファイルの内容
- 同じディレクトリ内の関連ファイル
- インポート/依存関係があるファイル
- 直近で編集したファイル群
公式ドキュメントでは以下のように説明されています:
"GitHub Copilot analyzes the context in the file you are editing, as well as related files" 出典:GitHub Copilot 公式ドキュメント
プロジェクト全体の分析
プロジェクト全域を分析させるには特別なキーワードを使います:
JetBrains IDE (IntelliJ, PyCharm等)の場合
@project
キーワードを使用:
- Copilotチャットを開く
@project
を入力- クエリを続けて記述
plaintext
例: @project このプロジェクト全体の構造を説明して
VS Codeの場合
@workspace
で全ファイルを参照:
plaintext
例: @workspace データモデルの全クラスをリストアップして
公式参考: VS Code Workspace Context
重要な注意点
- プライバシー保証
Copilotは学習用にユーザーコードを送信せず、分析はローカル環境で行われます - パフォーマンス影響
大規模プロジェクトで@project
使用時は処理に時間がかかる場合あり - コンテキスト制限
最大で約4,000トークン(約3万文字)までの参照が可能
最適な活用方法
状況 | 推奨方法 | 例 |
---|---|---|
現在編集中のコード | デフォルト動作 | 補完サジェスト利用 |
他ファイルの関数利用 | 関連ファイルオープン | 使用予定ファイルを開いておく |
プロジェクト全体の分析 | @project /@workspace | アーキテクチャ質問 |
markdown
::: tip プロジェクト全体検索のコツ
「@project 設計ドキュメントを作成して」のように具体的な指示を出すと、関連ファイルをクロスリファレンスした精度の高い結果が得られます
:::
最新バージョンでは、プロジェクト規模に関わらず必要なコンテキストを自動選択する機能強化が行われています。キーワード指定が不要なケースも増えており、IDEのCopilotプラグインは常に最新版に保つことを推奨します。