関連ドキュメント: 導入フレームワーク | レビュー観点チェックリスト
概念的な位置づけ:
| 階層 | 概念 | 例 | 役割 |
|---|---|---|---|
| Who(誰が) | チャット参加者 | @github, @vscode, @extension-name |
ChatコンテキストでAIが「特定のスキル」「エージェント」を起動 |
| What(何をするか) | スラッシュコマンド | /explain, /test, /fix, /doc, /help |
AIが「特定の処理」を実行(説明・テスト生成・修正など) |
| Where/How(どこを/どう対象にするか) | チャット変数 | @workspace, #file, #selection, @symbol |
AIが「参照範囲」「文脈の絞り込み」を実行 |
Copilot Chat内で、特定のエージェントやスキルセットを起動する記法。@ 記号で指定。
-
@github:GitHub固有のコンテキスト(リポジトリ、PR、Issue、REST API等)を備えたエージェント。GitHubプラットフォーム理解が必要なタスク向け。
-
@vscode:Visual Studio Codeの機能・設定・拡張機能に関する質問専用。IDE操作やワークスペース設定の相談に最適。
-
@azure(Azure Copilot統合の場合):Azureの各種サービス(VM、App Service、Cognitive Services等)の構築・管理に関する相談。
-
@jira(Copilot Extensions経由の場合):Jiraチケット・プロジェクト管理システムへのアクセス。タスク履歴の参照やチケット作成が可能。
-
@slack(拡張機能が有効な場合):Slackワークスペースの検索・メッセージ検索。チーム内情報の統合利用。
-
@terminal:ターミナル・コマンドラインに関する質問専用。シェルコマンド、スクリプト、ターミナル操作のトラブルシューティング向け。
-
@extension-name(カスタム拡張):企業開発のCopilot Extensionを指定。社内ドキュメント検索、独自APIへのアクセス、デプロイシステム連携など、組織固有のスキルセットを追加可能。
@github でこのリポジトリの依存関係を分析して
→ GitHubコンテキストを活用し、dependencies解析
@vscode で現在のワークスペース設定を説明して
→ IDE設定のクイックリファレンス
@jira チケット PROJ-456 の内容から実装方針を提案して
→ 外部システム連携でタスク内容を自動取得
Copilot Chat内で、AIに「何をするか」という定型的な処理を指示する短縮コマンド。/ 記号で開始。
-
/explain:選択コード、メソッド、ファイル全体の説明。何をしているコードかを自然言語で解説。
-
/test:選択コードの単体テスト(ユニットテスト)コード生成。テストフレームワーク(Jest, pytest等)に自動対応。
-
/fix:エラーメッセージやバグを指摘された箇所を自動修正。コード品質の改善提案も含む。
-
/doc:選択コードのドキュメント自動生成。JSDoc、XML Doc、Docstringなど言語別フォーマットで出力。
-
/help:Copilot Chatの使い方、利用可能なコマンド・参加者一覧を表示。
-
/clear:現在のチャット履歴をリセット。新しい会話を開始する際に利用。
-
/new:独立した新規チャットセッションを開始(IDE等で対応している場合)。
-
/newNotebook:新しいJupyterノートブックをセットアップ。データ分析やデータ探索用のテンプレート生成。
-
/delete:現在のチャット会話を削除。不要なチャット履歴の消去に利用。
-
/rename:現在のチャット会話の名前を変更。チャット管理と整理に便利。
-
/tests:選択コードの単体テスト(ユニットテスト)コード生成。
/testと同じ機能で、フレームワーク自動対応。
/explain 選択コード
→ 複雑な関数の意図を素早く理解
/test
→ テストがないメソッドに対してテストコードを生成
/fix コピペしたコードのエラーを修正
→ Stack Overflowからのコード&バグを一度に処理
/doc APIメソッド
→ OpenAPI / Swagger対応のドキュメント生成
Copilot Chat内で、「どのファイル/スコープ/リソースを対象にするか」という参照範囲を指定する記法。@ または # 記号で指定。
-
@workspace:プロジェクト全体のコンテキストをAIに含める。ファイル構造、依存関係、設定ファイル等を自動分析。
- 用途:アーキテクチャ評価、大規模リファクタリング計画、プロジェクト全体の説明
-
#file:ワークスペース内の特定のファイルを参照します。ファイル選択UIが表示されるため、視覚的に選べます。
- 用途:バグ修正、特定モジュールの説明、そのファイル内での最適化
-
#selection:エディタで現在選択しているコードの箇所を参照します。
- 用途:関数単位の修正、メソッドの説明、小規模なコードレビュー
-
#editor:アクティブなエディタで表示されている範囲全体を参照します。
- 用途:ウィンドウに表示されている全ファイル内容を対象にした分析や説明
-
@symbol または @関数名:リポジトリ内の特定シンボル(関数・クラス・メソッド等)を指定(IDE機能依存)。
- 用途:関数の呼び出し元を把握する、特定クラスの設計を理解する
-
@class ClassName:特定クラスおよびそのメンバーをコンテキストに指定(IDE機能依存)。
- #codebase:プロジェクト全体のコードベースを対象に意味検索(セマンティックサーチ)を行います。
- 用途:特定の機能実装の探索、設計パターンの検出、テクニカルデブトの把握
- @extension-name:Copilot Extensionsで接続した外部サービスを参照。データベース、内部Wiki、デプロイシステム等を統合。
- 用途:社内ドキュメント検索、環境固有の設定確認、ツール連携
-
terminal_last_command:アクティブなターミナルで最後に実行したコマンドとその出力結果を参照します。
- 用途:実行結果の分析、エラーメッセージに基づく修正、トラブルシューティング
-
terminal_selection:ターミナルで現在選択されている箇所を参照します。
- 用途:ターミナル出力の特定部分をコンテキストに含める、ログ分析
-
get_changed_files:Gitにおける最新のソース管理の変更点(未ステージングの変更など)を参照します。
- 用途:変更内容の確認、コミットメッセージの自動生成、変更影響度の分析
-
get_errors:VS Codeの「問題」パネルに表示されているエラーや警告を参照します。デバッグ時に便利です。
- 用途:エラーの一括修正提案、コードの問題把握、品質向上
-
test_failure:前回の単体テスト実行時の失敗に関する情報を参照します。
- 用途:テスト失敗の原因分析、修正案の提案、テストコードの改善
-
fetch_webpage:指定したURLのWebページの内容を取得して参照します。
- 用途:オンラインドキュメント参照、外部APIドキュメント確認、技術情報の統合
-
#websearch:(拡張機能が必要)Web検索エンジン(BingやTavily)の結果を参照します。
- 用途:外部情報検索、技術トレンド調査、問題解決のためのネット検索
-
#web:@github との組み合わせで使用。Webの最新情報を検索してコンテキストに含めます。
- 用途:最新の技術情報、LTSバージョン確認、トレンド情報の取得
-
#git:Gitリポジトリの履歴、ブランチ情報、変更履歴を参照します。
- 用途:コミット履歴分析、ブランチ管理、変更差分の確認
-
#terminalLastCommand:ターミナルで最後に実行したコマンドとその出力をより詳細に参照します。
- 用途:コマンド実行結果の詳細分析、複雑なエラーの診断
-
#runSubagent:Copilot Chat内で独立したサブエージェントを実行。複雑なマルチステップタスクを委譲。
- 用途:複数ファイルの統合分析、大規模な研究・分析タスク、コンテキスト分離が必要な処理
# プロジェクト全体理解
@workspace のテスト構造を図示して
→ プロジェクト全体のテスト配置を可視化
# 特定ファイルに絞った処理
#auth.js のセキュリティ脆弱性をチェック
→ そのファイルのみを対象にセキュリティレビュー
# 複数ファイル指定による分析
#files:auth.js #files:config.js でこれらファイル間の依存関係を説明
→ 複数指定したファイル間の統合分析
# エディタ表示範囲を対象にした処理
#editor の型定義を改善して
→ 現在表示されているエディタ内容全体を対象に改善
# 最小限のコード質問
選択コード片で /explain #selection
→ 数行のコードだけを対象に説明
# コードベース全体で検索
#codebase でデータベース接続の実装パターンを探して
→ プロジェクト全体の意味検索で実装パターンを発見
# ターミナル出力に基づく修正
/fix terminal_last_command
→ 直前のコマンド実行でエラーが出た場合に修正提案
# Git変更点に基づく処理
get_changed_files のファイルに対してテストを生成して
→ 未ステージング変更ファイル全体のテストを自動生成
# エラー一括修正
/fix get_errors
→ VS Code「問題」パネルのエラーを全て修正提案
# テスト失敗の分析
test_failure の原因を分析して修正案を提案して
→ 直前のテスト失敗の根本原因と修正方法を提案
# 外部リソース活用
@company-docs でこのプロジェクト用のスタイルガイドを探して
→ 企業ドキュメント拡張から関連ガイドを検索
# Webの最新情報を参照
このエラーメッセージを #websearch で検索して解決方法を提案
→ オンライン検索で最新の解決方法を提案
# Webページ内容を参照
fetch_webpage で https://docs.example.com を確認して実装グイドを説明
→ 指定URLの内容をコンテキストに含めた説明
| 側面 | チャット参加者 | スラッシュコマンド | チャット変数 |
|---|---|---|---|
| 記号 | @ |
/ |
@ または # |
| 指定方法 | Chat編集欄で入力 | Chat編集欄で/から開始 | Chat編集欄またはエディタから参照 |
| 役割 | 誰が(どのエージェント) | 何をするか(処理の種類) | どこを(参照範囲) |
| 依存関係 | 拡張機能の有無 | IDE/Chat機能の実装 | IDE/Chat機能の実装 |
| 複数指定 | 単数が標準 | 1コマンド/1回 | 複数指定可(複合指定) |
| 前提知識 | Copilot Extensionsの理解 | スラッシュコマンド一覧の習熟 | ワークスペース構造の理解 |
実践的な組合わせ例:
# 例1:ファイル内の特定コードを修正
/fix #file
→ スラッシュコマンド(/fix)で「修正」をリクエストし、
チャット変数(#file)で「対象をこのファイル」に限定
# 例2:プロジェクト全体で設計相談
@github を見て、このアーキテクチャを説明して
→ チャット参加者(@github)で「エージェント起動」し、
チャット変数(@workspace)で「プロジェクト全体を文脈に」含める
# 例3:外部サービス連携でテスト実行
@jira チケット ABC-123 のテストを実行して
→ チャット参加者(@jira)で「拡張機能」を呼び出し、
スラッシュコマンド(シンプルな命令)で「テスト」を実行
# 例4:/test @workspace でテストをカバレッジ最適化して
→ スラッシュコマンド(/test)
× チャット参加者(@workspace自動適用)
× チャット変数(プロジェクト全体)
# 例5:@jira チケットABC-123の#js_module を修正して
→ チャット参加者(@jira)
× チャット変数(#ファイル)
× 暗黙的コマンド(修正)
# 例6:エラー修正と検索の組み合わせ
/fix get_errors で修正が必要な箇所を修正し、残った問題は #websearch で調査
→ ローカルエラー修正と外部情報検索を組み合わせた問題解決
# 例7:複数ファイル間の統合分析
#files:service.ts #files:controller.ts の関連性を分析して、リファクタリング提案をして
→ 複数ファイルを指定して統合分析と改善案を取得
# 例8:変更内容に基づくテスト生成
/test get_changed_files でGit未ステージング変更に対するテストを生成
→ 実際の変更ファイルを自動検出してテストを生成
# 例9:ターミナル出力の分析と修正
terminal_last_command のエラーを分析して、/fix で修正案をもらう
→ コマンド実行結果とコードを組み合わせたトラブルシューティング
# 例10:Webドキュメント連携での実装
fetch_webpage https://docs.api.com/v2 でAPIドキュメント確認後、#codebase の実装を確認して更新提案をもらう
→ オンラインドキュメントとコードベースを統合した実装改善
- チャット参加者は「エージェント選択」である点を理解している
- スラッシュコマンドは「IDE標準機能」であり、どのCopilot環境でも動作することを確認
- 基本的なチャット変数(@workspace、#file、#selection)の使い方を習熟している
- ファイル関連の拡張チャット変数(#files、#editor、#codebase)の役割を理解している
- 開発コンテキスト変数(get_changed_files、get_errors、test_failure)の活用方法を確認
- ターミナル関連変数(terminal_last_command、terminal_selection)をトラブルシューティングで活用できる
- 外部情報変数(fetch_webpage、#websearch、#web)の必要性と制限を理解している
- リポジトリコンテキスト変数(#git、#terminalLastCommand)の用途を把握している
- @terminal チャット参加者がターミナルコマンド対応であることを周知している
- スラッシュコマンド拡張(/newNotebook、/delete、/rename、/tests)の用途を理解している
- #runSubagent でマルチステップタスク委譲ができることを確認している
- 企業カスタムの拡張機能(@extension)が何か、どう使うかを周知している
- 複数変数と複数コマンドの組み合わせについて具体例で習熟している
- 社内ドキュメント(ガイド)にこれらのチャット変数を使い分けを明記している