VS Code Agent Mode · Copilot CLI · Coding Agent · MCP
VS Code の settings.json(ユーザーまたはワークスペース)に追加する推奨設定。
{
// 言語ごとの有効/無効
"github.copilot.enable": {
"*": true,
"plaintext": false,
"markdown": true,
"scminput": false
},
// チャット関連
"github.copilot.chat.localeOverride": "ja",
"github.copilot.chat.agent.enabled": true,
// Agent Mode のリクエスト上限(デフォルト: 25)
"chat.agent.maxRequests": 128,
// コードアクション・リネーム提案
"github.copilot.editor.enableCodeActions": true,
"github.copilot.renameSuggestions.triggerAutomatically": true,
// 補完の自動トリガー
"editor.inlineSuggest.enabled": true,
"editor.inlineSuggest.suppressSuggestions": false
}
"github.copilot.chat.agent.enabled": true と "chat.agent.maxRequests": 128 の両方が必要。maxRequests のデフォルト 25 は長いタスクで不足しやすいため増やす。
Copilot はマルチモデル対応。チャットパネルのモデルセレクターから切り替えるか、設定で固定できる。
| モデル | 特徴 | 推奨用途 |
|---|---|---|
| Auto(デフォルト) | タスクに応じて自動選択 | 迷ったらこれ。Copilotが最適モデルを選ぶ |
| Claude Sonnet 4.6 | バランス型。コード品質高い | 日常的なコーディング全般 |
| GPT-5.5 | OpenAIモデル。数学・推論強め | アルゴリズム設計・複雑なロジック |
| Gemini 2.5 Pro | 長いコンテキスト処理 | 大規模リポジトリ横断 |
| Project Polaris(予定) | GitHub独自モデル(2026/08〜) | GitHub特化タスク |
VS Code のチャットパネル右上のモデル名をクリックして切り替え。タスクごとにモデルを使い分けるのがベスト。
チャットパネルで「Agent」モードに切り替えると、Copilot がファイル操作・ターミナル実行・Web検索を自律的に行う。
#file / #selection / @workspace でスコープを指定# チャットの例
@workspace テスト未カバーの関数を列挙して、
Vitestのテストを自動生成してください
#file:src/api.ts この関数のバリデーションを強化して
エラーメッセージを日本語にしてください
| 操作 | ショートカット |
|---|---|
| インライン補完を受け入れ | Tab |
| 補完を却下 | Esc |
| 次の候補を表示 | Alt + ](Mac: Option + ]) |
| Copilot Chatを開く | Ctrl+Alt+I(Mac: ⌃⌥I) |
| インラインチャット | Ctrl+I(Mac: ⌘I) |
| 選択範囲をチャットに送る | Ctrl+Shift+I |
Copilot に毎回伝えるルール・コーディング規約・プロジェクト固有の情報を記述するファイル。CLAUDE.md に相当する。
リポジトリルートの .github/copilot-instructions.md に置くと、そのプロジェクト全体のチャット・Agent Modeに自動適用される。
# .github/copilot-instructions.md ## プロジェクト概要 TypeScript + React + Vite のWebアプリ。バックエンドはPrisma + PostgreSQL。 ## コーディング規約 - TypeScript strict mode を使用する - コンポーネントはArrow function + named export - スタイルはTailwind CSS(CSS Modules禁止) - 状態管理はZustand(Reduxは使わない) - テストはVitest + Testing Library ## コメント・ドキュメント - 関数・クラスにはJSDocを書く - 変数名・関数名は英語、コメントは日本語でOK ## 禁止事項 - any型の使用(型アサーションも極力避ける) - console.log の本番残留 - ハードコードされた認証情報
applyTo フロントマターで適用ファイルのグロブパターンを指定できる(複数ファイルに分割可能)。
# .github/instructions/react.instructions.md --- applyTo: "src/components/**/*.tsx" --- ReactコンポーネントはforwardRefを使わない。 propsにはインターフェースを使い、型エイリアスは避ける。 useEffectの依存配列は必ず正確に指定すること。
# .github/instructions/api.instructions.md --- applyTo: "src/api/**/*.ts" --- APIレスポンスはzodスキーマでバリデーションする。 エラーは never throw — 必ず Result 型を返す。 fetch はラッパー関数 apiClient() 経由のみ使用可。
全プロジェクト共通の個人的な指示は VS Code 設定から登録できる。
{
"github.copilot.chat.codeGeneration.useInstructionFiles": true,
"github.copilot.chat.codeGeneration.instructions": [
{
"text": "日本語でコメントを書いてください。変数名・関数名は英語。"
},
{
"text": "エラーメッセージは常に日本語にしてください。"
}
]
}
2026年2月にGAしたターミナルネイティブなコーディングエージェント。旧 gh copilot 拡張(2025-10廃止)とは別物。Claude Code / Codex CLI と同じ用途に使える。
# インストール(いずれか) curl -fsSL https://gh.io/copilot-install | bash brew install copilot-cli npm install -g @github/copilot # 認証 copilot auth login # ブラウザで GitHub 認証 copilot auth status # 認証状態確認 # バージョン確認 copilot --version # v1.0.59(2026-06-02時点)
# インタラクティブモード copilot "テストが通っていないコードを修正して" # 自動承認(確認プロンプトをスキップ) copilot -y "依存パッケージをすべて最新に更新して" # Autopilot(完了まで自律継続) copilot --autopilot "認証機能を実装して PR まで作成して" # クラウドデリゲート(バックグラウンド非同期実行) copilot & "大規模リファクタリングを実行して" # モデル指定 copilot --model claude-sonnet-4-6 "パフォーマンス改善案を出して" copilot --model gpt-5.5 "このアルゴリズムを最適化して" # 特定ファイルをコンテキストに copilot --context src/api.ts "このファイルのテストを書いて"
Copilot CLI には GitHub MCP サーバーがデフォルト搭載。設定不要で GitHub の Issues・PR・リポジトリ操作ができる。
# ~/.copilot/mcp.json で追加 MCP を設定 { "mcpServers": { "github": { "enabled": true, "tools": ["create_issue", "create_pull_request", "list_prs"] }, "filesystem": { "command": "npx", "args": ["@modelcontextprotocol/server-filesystem", "."] } } }
Fleet Mode / Autopilot は確認なしで大量のファイル変更・コミット・PR作成を行う。本番リポジトリ直接運用は非推奨。feature branchで使用すること。
# Autopilot: タスク完了まで自律実行(PRまで) copilot --autopilot --branch feat/auth \ "JWTリフレッシュトークンの実装をして、テストも書いてPRを作成して" # Fleet Mode: 複数タスクを並列処理 copilot fleet --tasks tasks.yaml
# tasks.yaml tasks: - name: fix-auth prompt: "認証バグを修正" - name: add-tests prompt: "カバレッジ80%以上になるようテストを追加" - name: update-docs prompt: "READMEを最新の仕様に合わせて更新"
GitHub Copilot は利用するサーフェス(VS Code 拡張・Copilot CLI・Copilot App)によって読み込む設定ファイルが異なる。各サーフェスの設定ファイル・スコープ・優先順位を整理する。
スコープの見方:
.github/ で始まるパス → プロジェクトルート(リポジトリ直下)に作成。Git で管理しチーム全員が共有する。
~/ で始まるパス → ホームディレクトリに作成。自分だけに適用される個人設定。
| ファイル / 設定 | スコープ | 用途 |
|---|---|---|
.github/copilot-instructions.md | リポジトリ全体 | 全チャット・Agent Mode に自動適用されるプロジェクト共通指示 |
.github/instructions/*.instructions.md | パス指定(glob) | applyTo フロントマターで特定ファイル・ディレクトリにのみ適用 |
.github/agents/*.agent.md | リポジトリ | カスタムエージェント定義(VS Code / Copilot App 両方で使用可) |
AGENTS.md | 編集中ファイルから上に探索・最初に見つかったものが優先 | エージェント向け指示。CLAUDE.md・GEMINI.md も読み込み対象 |
VS Code settings.json | ユーザー / ワークスペース | 補完・Agent Mode・モデル・最大リクエスト数など UI/UX 設定 |
優先順位(instructions): ワークスペース settings.json インライン指示 → .github/instructions/ ファイル → .github/copilot-instructions.md
// .github/instructions/backend.instructions.md(例) --- applyTo: "src/api/**/*.ts" excludeAgent: "code-review" --- APIレスポンスはzodスキーマでバリデーションする。 エラーは never throw — 必ず Result 型を返す。
// .github/agents/security-reviewer.agent.md(例) --- name: Security Reviewer description: OWASP Top 10 に特化したセキュリティレビュー担当エージェント tools: ["read", "search"] model: claude-sonnet-5 target: vscode --- OWASP Top 10 の観点でコードをレビューする。 書き込みは行わず、レポートのみ出力すること。
~/.copilot/)
▼
デフォルト設定ディレクトリは ~/.copilot/。COPILOT_HOME 環境変数で変更可能。
~/.copilot/ settings.json # メイン設定(モデル・権限・UI・ツール制御) copilot-instructions.md # 個人の永続指示(全セッション・全プロジェクトに適用) instructions/ *.instructions.md # 追加の個人指示ファイル agents/ *.agent.md # 個人カスタムエージェント(全セッションで利用可) skills/ {name}/SKILL.md # 個人カスタムスキル定義 mcp-config.json # ユーザーレベル MCP サーバー設定(全セッション) lsp-config.json # Language Server Protocol 設定 hooks/ # ユーザーレベル hook スクリプト extensions/ # ユーザーレベル拡張 permissions-config.json # ツール・ディレクトリ権限の永続承認(自動管理)
リポジトリレベル設定(Git 管理):
.github/copilot/ settings.json # チーム共有設定(限定キーのみ有効) settings.local.json # 個人オーバーライド(.gitignore に追加する)
リポジトリ共有 settings.json で有効なキー:
// .github/copilot/settings.json — チームで共有できるキーのみ { "companyAnnouncements": "...", "disableAllHooks": false, "enabledPlugins": ["plugin-name"], "hooks": { ... }, "mergeStrategy": "rebase" }
ユーザー settings.json の主要キー:
| キー | 値の例 | 用途 |
|---|---|---|
model | "auto" | 使用モデル("auto" で自動選択) |
effortLevel | "high" | 推論レベル: low / medium / high / xhigh |
allowedUrls | ["github.com"] | 許可する URL ドメイン |
deniedUrls | ["example.com"] | 拒否する URL ドメイン |
permissions.disableBypassPermissionsMode | "disable" | --yolo フラグを無効化 |
builtInAgents.rubberDuck | true | 反論エージェント(Rubber Duck)の有効化 |
hooks | オブジェクト | インライン hook 定義 |
disabledMcpServers | ["server-name"] | MCP サーバーの無効化 |
disabledSkills | ["skill-name"] | スキルの無効化 |
autoUpdate | true | 自動アップデート |
設定の優先順位(低 → 高): ビルトインデフォルト → MDM ポリシー → ユーザー設定(~/.copilot/settings.json)→ リポジトリ設定(.github/copilot/settings.json)→ ローカル設定(settings.local.json)→ 環境変数 → CLI フラグ
| ファイル | スコープ | 用途 |
|---|---|---|
.github/agents/*.agent.md | リポジトリ | クラウドエージェント向けカスタムエージェント定義 |
AGENTS.md | 最も近いファイルが優先 | エージェント向け指示(Copilot App が読み込む) |
.github/copilot-instructions.md | リポジトリ | GitHub.com 上のチャット・エージェントに適用 |
| Personal instructions | ユーザー全体 | GitHub.com の設定 UI から登録(Web のみ・CLI/VS Code 非対応) |
.agent.md フロントマター(Copilot App 向け):
--- name: My Cloud Agent description: リポジトリのセキュリティチェックを担当するエージェント(必須) tools: ["read", "search"] target: github-copilot # vscode / github-copilot / 省略で両方 disable-model-invocation: false --- エージェント本体の指示をここに書く(最大 30,000 文字)。 model プロパティは VS Code / JetBrains など IDE 側でのみ有効。 Copilot App(クラウド)では model 指定不可。
| 機能 | CLI | Copilot App |
|---|---|---|
| 個人 instructions ファイル | ✔ ~/.copilot/copilot-instructions.md | ✔ GitHub.com 設定 UI |
| カスタムエージェント(個人) | ✔ ~/.copilot/agents/*.agent.md | — (リポジトリレベルのみ) |
| カスタムエージェント(リポジトリ) | ✔ .github/agents/*.agent.md | ✔ .github/agents/*.agent.md |
| agent.md でモデル指定 | ✔ | — (不可) |
| MCP サーバー設定 | ✔ ~/.copilot/mcp-config.json | ✔ GitHub.com コネクター設定 |
| Hooks | ✔ hooks/ または settings.json | — (非対応) |
| AGENTS.md 読み込み | ✔ | ✔ |
GitHub の Issue を Copilot にアサインするだけで、バックグラウンドでコードを書いて PR を自動作成する非同期エージェント機能。
copilot.github.com/workspace からブラウザで利用。リポジトリ全体を推論・計画→多ファイル編集→テスト実行→反復までを Web UI で完結させる。
企業の機密データ・認証情報を含むファイルを Copilot のコンテキストから除外する。
# .github/copilot/content-exclusions.yaml # または GitHub Settings → Copilot → Content Exclusions copilot: content_exclusion_rules: - pattern: "**/.env*" - pattern: "**/secrets/**" - pattern: "**/credentials/**" - pattern: "**/*.pem" - pattern: "**/private/**"
パブリックリポジトリのコードと一致する補完をブロックする機能(ライセンスリスク低減)。
{
"github.copilot.advanced": {
"secret_key": "",
"length": 0
},
// GitHub.com の設定から有効化
// Settings → Copilot → Suggestions matching public code: Block
}
| シナリオ | 推奨 | 理由 |
|---|---|---|
| コード補完・インライン編集 | VS Code | IDEコンテキストが豊富 |
| CI/CDスクリプト・シェル操作 | Copilot CLI | ターミナルネイティブ |
| リポジトリ横断の大規模変更 | Copilot Workspace / CLI --autopilot | 非同期・ファイル横断に強い |
| Issue → PR 自動化 | Coding Agent | 完全非同期・GitHub統合 |
| チームでの並列タスク | Multi-Agent(VS Code) | 複数サブエージェント並列 |
Copilot CLI・VS Code Agent Mode・Cloud Agent が自動でロードする「スキル」を定義できる。Claude Code のスキル機能と同一の SKILL.md 仕様(オープンスタンダード)を採用。
Claude Code が 2025-10-16 に先行実装 → GitHub Copilot が 2025-12-18 に同一仕様を採用。agentskills.io でオープンスタンダードとして公開されている。
配置場所はプロジェクトまたはユーザーレベルで選択できる。
# プロジェクトレベル(リポジトリ共有) .github/skills/スキル名/SKILL.md # ユーザーレベル(個人設定) ~/.copilot/skills/スキル名/SKILL.md
---
name: commit-message-generator # 小文字・ハイフン・64文字以内
description: |
Analyze git diffs and generate descriptive commit messages.
Use when the user asks for help writing commit messages
or reviewing staged changes. # ← ここでいつ使うかを判断
license: MIT # 省略可
allowed-tools: # 省略可(省略推奨)
- shell(git:*)
---
# コンテンツ(Copilot への具体的な指示)
## 手順
1. git diff --staged を確認する
2. 変更の意図・影響をまとめる
3. Conventional Commits 形式で出力する
| フィールド | 必須 | 説明 |
|---|---|---|
name | ✅ | 1〜64文字。小文字・数字・ハイフンのみ。動名詞推奨(例: processing-pdfs) |
description | ✅ | 1〜1024文字。スキル選択の決定的要素。第三人称・トリガーフレーズ含む |
license | — | ライセンス情報(MIT, Apache-2.0, Proprietary など) |
allowed-tools | — | 事前承認ツール一覧。省略推奨(セキュリティリスクあり) |
metadata | — | 任意のキー値マップ(version, author など) |
| リポジトリ | 内容 |
|---|---|
anthropics/skills | Anthropic 公式(pdf・pptx・docx・frontend-design・mcp-builder など) |
github/awesome-copilot | GitHub コミュニティ集約。awesome-copilot.github.com/skills/ で検索可能 |
# GitHub CLI でインストール(v2.90.0 以上が必要) gh skills install github/awesome-copilot <skill-name> # スキルの一覧・更新・公開 gh skill list gh skill update <skill-name> gh skill publish
# 使用可能な値の例 allowed-tools: - shell(git:*) # git コマンドすべて - npm(build) # npm build のみ - write # ファイル書き込み - GitHub(create_issue) # GitHub MCP の特定ツールのみ
⚠️ shell/bash の事前承認はプロンプトインジェクションで任意コマンド実行のリスクあり。信頼できる自作スキルのみに限定すること。
| Claude Code | GitHub Copilot | |
|---|---|---|
| 実装日 | 2025-10-16(先行) | 2025-12-18 |
| 形式 | SKILL.md(同一仕様) | SKILL.md(同一仕様) |
| プロジェクト配置 | .claude/skills/ | .github/skills/スキル名/ |
| ユーザー配置 | ~/.claude/ | ~/.copilot/skills/ |
| コンテキスト上限 | 1M トークン | 32K〜128K トークン |
| スキル内コード実行 | ✅(サンドボックス可) | —(指示のみ) |
| 公式リポジトリ | anthropics/skills | github/awesome-copilot |
SKILL.md はオープンスタンダード(agentskills.io)として両社が採用。将来的に他ツールへの展開も想定される。
copilot plugins remove --skillでスキル削除に対応。プラグイン変更用--plugin/--mcp/--skillフラグ追加。plan-approvalメニューの挙動をモデル間で決定的に。詳細はニュース参照。/security-review コマンドが Copilot CLI に続き Copilot アプリにも Public Preview で追加。