GitHub Copilotで複数ファイルを参照する方法
GitHub CopilotがHTMLファイルからCSS/JSを参照せず、期待するコードを生成しない場合があります。特に複数ファイルを跨ぐプロジェクトでは、適切なコンテキスト提供が必要です。以下で対策を解説します。
問題の本質:コンテキスト不足
GitHub Copilotはデフォルトで現在のファイルのみを参照します。
- HTML内で「グリッチアニメーションのテキスト」や「動画ループ機能」を指示しても、関連CSS/JSを認識できません
- 外部ファイルの構造や関数を参照できないと、正確なコードが生成されません

解決策:@workspace コマンドの利用
VS CodeのCopilot Chatで @workspace を使用すると、プロジェクト全体をコンテキストとして渡せます。
具体的な手順
- VS CodeでCopilotサイドバーを開く
@workspaceを最初に入力- 続けて具体的な指示を記述markdown
@workspace HTMLファイル内に「グリッチアニメーションのテキスト」と「ビデオループ再生セクション」を作成してください。 ヘッダーとナビゲーションアイコンも含めてください。
動作条件
github.copilot.chat.codesearch.enabledが有効化されていること.gitignore対象外のファイルが含まれること- プロジェクトがGitHubリポジトリの場合、コード検索インデックスが利用可能
サンプル実行例
html
<!-- index.html -->
<div class="glitch-text">Hello Copilot!</div>
<section class="video-section">
<video autoplay loop muted></video>
</section>Copilotが自動で関連CSS/JSを参照し、必要なコードを提案します。
@workspace の仕組み
このコマンドは以下の情報を統合的に参照します:
| 情報源 | 内容例 |
|---|---|
| ワークスペースファイル | styles.css, script.js |
| ディレクトリ構造 | フォルダ/ファイル階層 |
| GitHubコード検索 | インデックスされたリポジトリ |
| シンボル定義 | 関数・クラス名 |
| エディタ可視範囲 | 選択中のコード |
高度なチップス
コンテキスト絞り込み
特定ファイルを強調したい場合:markdown@workspace @src/styles.css このカラーパレットを使ってボタンを生成スラッシュコマンド活用
/fix:エラー修正を提案/explain機能を組み合わせ可能
markdown@workspace /fix 動画セクションのレスポンシブ化インライン提案向上
javascript// script.js // この関数を使用して▼ (Copilotが補完提案) const playVideo = () => { document.querySelector('video').play(); }
注意点
- 大規模プロジェクトではパフォーマンス低下の可能性あり
- プライベートコード利用時は設定の確認を推奨
なぜこの方法が最適か
#codebase(2023年方式)より直感的- ファイルコピペ不要(従来手法の課題を解決)
- 公式推奨手法で持続性あり
この手法でフロントエンドの複数ファイル連携もシームレスに実装できます。