GitHub Copilotの設定 - プランモード
概要
GitHub Copilotのプランモードは、ソースコード実装の前に詳細な計画を作成し、レビューするための機能である。
プランモードは、コードベースを分析し、タスクを実行可能なステップに分解して、ユーザの承認を得てから実装を開始する。
この機能により、複雑な変更やリファクタリングを安全かつ効率的に実行できる。
プランモードの主な特徴を以下に示す。
| 特徴 | 説明 |
|---|---|
| コードベースの分析 | プロジェクト構造と依存関係を理解 |
| タスクの分解 | 実行可能なステップに細分化 |
| マークダウン形式での計画表示 | 読みやすい形式で計画を提示 |
| ユーザへの確認質問機能 | ask_userツールによる要件の明確化 |
| 計画のレビュー・承認フロー | ユーザが承認するまで実装を開始しない |
| 読み取り専用の分析フェーズ | 計画が承認されるまでコード変更を行わない |
プランモードを使用することにより、以下に示すメリットが得られる。
- 安全性の向上
- 実装前に影響範囲を把握できる。
- 品質の向上
- 詳細な計画により実装の精度が向上する。
- リスクの低減
- 事前に問題点を特定できる。
- コミュニケーションの改善
- チーム内で計画を共有・議論できる。
- トークンの節約
- 無駄な試行錯誤を避けられる。
対応環境
GitHub Copilotのプランモードは、複数の開発環境で利用可能である。
| 開発環境 | 対応バージョン | 提供形態 |
|---|---|---|
| VS Code | 最新版 | Copilot拡張機能 |
| Visual Studio 2022 | version 17.14以降 | Copilot拡張機能 |
| JetBrains IDEs | 最新版 | Copilot拡張機能 |
| Eclipse | 最新版 | Copilot拡張機能 |
| Xcode | 最新版 | Copilot拡張機能 |
| Copilot CLI | 2026年1月21日アップデート以降 | コマンドラインツール |
JetBrains IDEには、IntelliJ IDEA、PyCharm、WebStorm等が含まれる。
VS Codeでの使用方法
プランモードの開始
- Chat viewを開く。
- Windows / Linux
- [Ctrl] + [Alt] + [I]キー
- Mac
- [Command] + [Control] + [I]キー
- Windows / Linux
- エージェントドロップダウンから[Plan]を選択する。
- 高レベルのタスク説明を入力する。
- 機能追加
- リファクタリング
- バグ修正
- プロンプトを送信する。
プラン案のレビュー
Copilotが提案したプラン案をレビューし、フィードバックを提供する。
- ステップの妥当性
- 各ステップが適切に分解されているか
- 影響範囲の確認
- 想定外のファイルが含まれていないか
- 依存関係の確認
- 変更の順序が適切か
- リスクの評価
- 潜在的な問題がないか
フィードバックの例を以下に示す。
- このステップは不要です。
- データベーススキーマの変更も必要です。
- 既存のテストが壊れる可能性があります。
- 段階的に実装してください。
実装の開始
計画を承認したら、以下に示す方法で実装を開始することができる。
- 実装ボタンの使用
- 同じチャットセッション内で実装を開始する。
- バックグラウンドエージェントセッション
- バックグラウンドで実装を実行する。
- クラウドエージェントセッション
- クラウド上で実装を実行する。
Todoリスト機能
複雑なタスクでは、AIが自動的にTodoリストを作成して進捗を追跡する。
Todoリストの機能:
- タスクの自動分解
- 大きなタスクを小さなステップに分割
- 進捗の追跡
- 完了したステップをマーク
- 依存関係の管理
- ステップ間の依存関係を追跡
- 視覚的なフィードバック
- 進捗状況を視覚的に表示
Visual Studioでの使用方法
対象バージョン
Visual Studio 2022 version 17.14以降がプランモードに対応している。
プランモードの有効化
- [ツール]メニューバー - [オプション]を選択する。
- [GitHub] - [Copilot]セクションを展開する。
- [Enable Planning]チェックボックスにチェックを入力する。
- [OK]ボタンを押下する。
プランモード用ツール
Visual Studioのプランモードでは、以下に示すツールが使用される。
| ツール名 | 説明 |
|---|---|
| plan | ユーザリクエストから初期構造化プランを生成 |
| adapt_plan | 新しいコンテキストやフィードバックに基づいてプランを調整 |
| update_plan_progress | ステップ完了状態を更新し計画状態を同期 |
| record_observation | 実行時の結果や洞察をキャプチャ |
| finish_plan | 全てのステップ完了後にプランを完了化 |
マークダウンプランとJSONプラン
Visual Studioのプランモードでは、2種類のプラン形式が使用される。
- ユーザ向けマークダウンプラン
- 目標と進捗を読みやすい形式で表示
- ユーザとのコミュニケーションに使用
- 内部JSONプラン
- LLMが読める形式で段階追跡と推論を管理
- システム内部での処理に使用
プランファイルは、一時的に以下のディレクトリに保存される。
- C:\Users\<ユーザ名>\AppData\Local\Temp\VisualStudio\copilot-vs
JetBrains IDEでの使用方法
前提条件
JetBrains向けのCopilotプラグインの最新版が必要である。
プランモードの開始
- Copilot Chatパネルを開く。
- 右側の[GitHub Copilot Chat]アイコンを選択する。
- パネル下部のエージェントドロップダウンから[Plan]を選択する。
- タスク説明を入力する。
- 例: Create a simple to-do web app with HTML, CSS, and JS files
- プロンプトを送信する。
計画の確認と編集
計画がチャットパネルに出力される。
計画の構成を以下に示す。
- 高レベルサマリー
- タスクの概要と目的
- ステップの分解
- 実行可能なステップのリスト
- 各ステップの詳細
- 具体的な実装内容
計画をマークダウン形式で確認・編集するには、[Open in Editor]を選択する。
Eclipse / Xcodeでの使用方法
Eclipseでの使用方法
- Copilot Chatパネルにサインインする。
- エージェントドロップダウンから[Plan mode]を選択する。
- 高レベルタスクを入力する。
- 機能追加
- リファクタリング
- バグ修正
- [Submit]ボタンを押下する。
Xcodeでの使用方法
- GitHub Copilot for Xcodeを開く。
- サインインする。
- エージェントドロップダウンから[Plan mode]を選択する。
- タスクを入力する。
- [Submit]ボタンを押下する。
Copilot CLIでの使用方法
プランモードの切り替え
Copilot CLIでは、キーボードショートカットでプランモードに切り替える。
- [Shift] + [Tab]キー
- プランモードに切り替える
- 再度、[Shift] + [Tab]キーを押下するとプランモードが終了する。
ask_userツール
プランモードでは、ask_userツールを使用してユーザに質問できる。
ask_userツールの機能を以下に示す。
- フォローアップ質問
- 要件の明確化
- 仮定の確認
- Copilotの解釈が正しいか確認
- 設計判断についてユーザ入力を取得
- 複数の選択肢から選択
計画のレビュー
専用パネルで計画をレビューし、ユーザが同意後に実装を開始する。
関連コマンド
Copilot CLIでは、以下に示すコマンドが使用できる。
/model <モデル名 例: gpt-5.2-codex>- モデル選択
- 高度な推論モデルによる詳細分析
/compact- 会話履歴の圧縮
- トークン使用量の削減
/context- トークン使用量の詳細表示
- コンテキストウインドウの管理
[Ctrl] + [T]- 推論ステップの表示切り替え
- Copilotの思考過程を確認
関連機能
Copilot CLIのプランモードでは、以下に示す機能が利用できる。
- 高度な推論モデル (GPT-5.2-Codex)
- 詳細な分析と計画立案
- 会話の操舵機能
- 計画中にリアルタイム調整が可能
- 自動コンテキスト管理
- 無制限セッション対応
- 自動コンパクション
- トークン制限の95%に達すると自動圧縮
推奨設定
計画の確認を必ず行う
Copilotが実行前に計画を確認するよう指示する。
- 意図とCopilotの解釈が異なる場合がある
- ユーザの期待とCopilotの理解にギャップがある可能性
- 計画をレビューすることでコストのかかるミスを防げる
- 実装後の修正よりも計画段階での修正が効率的である。
- 影響範囲を事前に把握できる
- 想定外の変更を防ぐことができる。
複数回イテレーションで洗練
計画を複数回のイテレーションで洗練させる。
- 要件の明確化
- 曖昧な要件を具体化
- スコープの調整
- 不要な部分を削除、必要な部分を追加
- 未解決の質問への対応
- Copilotからの質問に回答
イテレーション例を以下に示す。
- 初回
- 高レベルの計画を取得
- 2回目
- 詳細な実装ステップを追加
- 3回目
- リスクと代替案を検討
- 4回目
- 最終確認と承認
境界を明確に設定
変更範囲の境界を明確に設定する。
- 境界を与えないとCopilotは範囲外の作業をする可能性がある
- 例: ボタンの変更を依頼したのに認証システム全体をリファクタリングしようとする。
- スコープクリープを防げる
- 当初の目的から逸脱しない。
- レビューが容易になる
- 変更範囲が明確なので確認しやすい。
境界設定の例を以下に示す。
- ファイルの範囲を指定
- src/components/Button.tsx のみ変更
- 機能の範囲を指定
- ボタンのスタイル変更のみ、ロジックは変更しない。
- 影響範囲を制限
- 既存のAPIは変更しない。
planツールを使用して問題を早期発見
Agent modeで作業する際には、planツールを使用して問題を早期に発見する。
planツールのメリットを以下に示す。
- 実装前に設計上の問題を発見
- アーキテクチャの問題を早期に特定
- 依存関係の問題を特定
- 循環依存などの問題を事前に検出
- リソースの無駄を防ぐ
- 間違った方向への実装を避ける
Claude Codeとの比較
GitHub CopilotのプランモードとClaude Codeのプランモードの比較を以下に示す。
| 項目 | GitHub Copilot | Claude Code |
|---|---|---|
| 名称 | Plan mode / Planning | Plan mode |
| 切り替え方法 | UIでPlanエージェント選択 / [Shift] + [Tab]キー (CLI) | [Shift] + [Tab]キー / --permission-mode plan |
| 読み取り専用 | 計画承認までコード変更なし | 完全に読み取り専用 |
| ユーザへの質問 | ask_userツール | AskUserQuestionツール |
| 計画形式 | マークダウン + JSON | 自然言語での計画立案 |
| 対応環境 | VS Code、Visual Studio、JetBrains、Eclipse、Xcode、CLI | CLI、VS Code拡張 |
| 設定ファイル | [ツール]メニューバー - [オプション] (Visual Studio) | settings.json |
| Todoリスト | 自動生成 | TaskCreate / TaskUpdateツール |
| 項目 |
|---|
| 実装前の計画立案を重視 |
| ユーザへの質問機能 |
| 読み取り専用の分析フェーズ |
| キーボードショートカットでの切り替え |
| 項目 | GitHub Copilot | Claude Code |
|---|---|---|
| インターフェース | GUI中心 | CLI中心 |
| 内部プラン形式 | JSON形式 | 自然言語中心 |
| 対応環境 | 複数のIDE対応 | VS Code拡張とCLI |
使用すべきケース
GitHub Copilotのプランモードを使用すべきケースを以下に示す。
- 複雑なリファクタリングの計画
- 複数のファイルにまたがる大規模なリファクタリング
- アーキテクチャの変更
- 新機能の設計検討
- 実装方法の調査
- 影響範囲の分析
- マルチステップのタスク
- 複数の段階に分けて実装する必要がある場合
- 依存関係が複雑な場合
- アーキテクチャ変更
- システム全体に影響する変更
- 設計パターンの導入
- 影響範囲の分析が必要な場合
- 変更が及ぼす影響を事前に把握したい場合
- リスク評価が必要な場合
使用すべきでないケース
GitHub Copilotのプランモードを使用すべきでないケースを以下に示す。
- 単純なバグ修正
- 1つのファイルの小さな修正
- 原因と解決方法が明確な場合
- 小規模な変更
- 数行のコード変更
- 影響範囲が限定的な場合
- 明確な実装手順が既にある場合
- 詳細な設計書がある場合
- 標準的な実装パターンがある場合
参考リンク
- VS Code - Planning with Copilot Chat
- Visual Studio - GitHub Copilot Agent Mode
- GitHub Changelog - Plan mode in GitHub Copilot (JetBrains、Eclipse、Xcode)
- GitHub Changelog - GitHub Copilot CLI plan mode
- GitHub Docs - Plan a project with GitHub Copilot