まえがき
VSCode1.107 の変更点をまとめました。
VSCode 1.107 Release Notes
次のバージョン:VSCode1.108の変更点まとめ
リリースノート一覧:VSCodeリリース情報
エージェント関連の変更点
セッションビューが追加
設定: chat.viewSessions.enabledchat.viewSessions.enabledを有効にすると、チャットの右側にセッションビューが表示されるようになりました。

配置方向の設定
設定: chat.viewSessions.orientationchat.viewSessions.orientationの設定値を変更することで、セッションビューの配置を変更できます。
設定値とその挙動は下記の通りです。auto: 幅が十分な場合はセッションビューを右側に表示し、それ以外は新規チャットの上部に表示(※VSCode 1.108
からsideBySideに統合されました)
stacked: 常に新規チャットの上部にセッションビューを表示(※チャット中は非表示)

sideBySide(デフォルト): 幅が十分な場合はセッションビューを右側に表示し、狭い場合はセッションビューを非表示(※現状autoと同一)


スプリットアイコンの挙動
チャットの右上にあるスプリットアイコンをクリックすると、chat.viewSessions.orientationの設定値がsideBySideに変更され、セッションビューが右側に表示されます。

セッションは閉じても継続
以前のバージョンではチャットでエージョンに指示を出した後、新規チャットを開くとチャット中の処理は破棄されていましたが、VSCode1.107からはバックグラウンドで動作し続けるようになりました。
画像ではSample7のフォルダ作成を依頼した後、すぐに新規チャットを開いてSample8の作成依頼を出していますが、Sample7の処理が継続されていることがセッシュンビューで確認できます。

注意点としてこちらは後述するバックグラウンドエージェントとは違いGit worktree上で作業しないため、指示によっては同じファイルを上書きしてしまいます。
実際に同じファイルを書き込む指示を二つのセッションで同時に実行したところ、後発のセッションで上書きされました。
ファイル競合が発生するようなタスクはContinue Inでバックグラウンドエージェントを実行するか、新規でバックグラウンドエージェントのセッションを作成して実行しましょう。

バックグラウンド/クラウドでタスク継続
VS Code 1.107 では Continue In が追加され、これまでのコンテキストを引き継いだまま、重めのタスクをローカルやクラウドなど実行場所を切り替えて実行できるようになりました。
Continue Inは、生成AIとの相談・設計したセッションと、実際にファイル作成やコマンド実行を行うセッションを分けたい場合に便利な機能です。

※「背景」となっていますが、バックグラウンド実行を意味します
上の画像の例では、生成AIと相談してタスクを決めて、タスクの実行フェーズになった時にContinue Inで背景(バックグラウンド)を選択して実行しています。
引継ぎ元セッションのアーカイブ
ローカルチャットをバックグラウンドまたはクラウドエージェントに引き継ぐと、現在のチャットコンテキストが引き継がれ、引き継ぎ後に元のセッションはアーカイブされます。
アーカイブされたセッションはフィルタの「Archived」にチェックすると表示されます。
デフォルトでは非表示になっています。
worktree でバックグラウンドエージェント分離
前述した競合問題ですが、バックグラウンドエージェントは現在のWorkspaceで実行するか専用のWorktreeで実行するか選択できるようになっています。Worktreeを選択することで完全に分離された環境でタスクが実行され競合の心配がなくなります。
Worktree 選択時の処理の流れ
worktreeを選択すると下記のようにタイムスタンプ付きのworktreeが作成され、分離された環境でタスクが実施されます。
PS C:\Users\name\Documents\Test> git worktree list
C:/Users/name/Documents/Test 6edf634 [main]
C:/Users/name/Documents/Test.worktrees/worktree-2025-12-29T06-41-02 8d3c1e4 [worktree-2025-12-29T06-41-02]
C:/Users/name/Documents/Test.worktrees/worktree-2025-12-29T07-20-51 8d3c1e4 [worktree-2025-12-29T07-20-51]
タスクが完了すると、まずはworktreeの変更内容を保持するかどうか確認されます。

「保持」ボタンを押下すると次にworktreeの変更内容を現在のWorkSpaceに適用するか確認されます。

「適用」ボタンを押下すると現在のWorkSpaceにWorktreeの変更内容が反映されます。
今回はSample2.txt~Sample5.txtのファイルを作ってもらいました。

worktreeは実行の度に毎回作成されるため、巨大なリポジトリの場合はsparse-checkoutを設定しておきましょう。
Worktree 関連の問題・課題
ついでにWorkspaceの方も試してみましたが、どちらにしてもWorktreeが作成されてしまうようです。
ここはまだ動作が不安定なのかもしれません。下記issueが上がっていました。
Defaulted to Workspace instead of Worktree for new background session #282117
Continue InのバックグラウンドエージェントでWorkspaceかWorktreeのどちらが採用されるかもまだ不安定な可能性があります。
正しくは今設定されている方を選択して動作するのが正かと思われます。
他にも以下のような問題や改善要望が上がっています。
workspace の Git 状態を正しく検出せず、worktree オプションが表示されないことがある
New background agent doesn’t pick up latest Git status #283549worktree 削除の自動化要望
Automatically clean up (close or delete) worktree after background agent changes are applied #284088
特にworktreeがバックグランドエージェントの作業後に残っているのはindexが汚れるので、あまりgitに詳しくない方にとっては混乱の元になりそうです。
今後大幅な変更が入りそうなので、上記問題が改善されるまで様子見した方がよさそうです。
バックグラウンドエージェントへのコンテキスト追加
これまではバックグラウンドエージェントは主に CLI で動作していましたが、
VS Code 1.107 からは VS Code 上の Chat で選択・実行できるようになりました。
これにより、以下の VS Code の情報をコンテキストとして
プロンプトに直接添付できるようになっています。
- 選択範囲
- 問題(Problems)
- シンボル
- 検索結果
- Git コミット
たとえば、報告された問題を添付して、ファイルパスや行番号を手動で指定することなく、その修正をエージェントに依頼できます。
組織でカスタムエージェント共有 (実験的)
設定: github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents
GitHub Copilot の カスタムエージェントを組織(Organization / Enterprise)単位で共有できる機能が追加されました。
以下の設定を有効にすることで、
"github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents": true
組織(GitHub Organization / Enterprise)で定義されたカスタムエージェントが、
VS Code の Copilot Chat にある Agents ドロップダウンに表示されるようになりました。
これにより、以下のような運用が可能になります。
- 組織全体で共通の Copilot カスタムエージェントを定義できる
- 各開発者がエージェント定義ファイルを個別に配布・管理する必要がなくなる
- 個人用エージェントと組織用エージェントを並列で利用できる
従来は、カスタムエージェントはユーザー単位またはワークスペース単位でしか扱えませんでしたが、
VS Code 1.107 以降は VS Code の Chat UI 上で組織スコープのエージェントを直接選択できるようになります。
こちら個人アカウントでは検証できず実際に設定して解説できないので、組織向けカスタムエージェントの作成方法については、GitHub ドキュメントの Create custom agents を参照してください。
バックグラウンドエージェントでカスタムエージェント実行 (実験的)
設定: github.copilot.chat.cli.customAgents.enabled
バックグラウンドエージェントに独自のカスタムエージェントを持ち込めるようになりました。有効化すると、.github/agents フォルダーで定義されたカスタムエージェントがエージェント一覧に表示され、ワークフローや要件に合わせて調整されたエージェントを活用できます。

試しに、プロジェクトフォルダの直下に下記.github\agents\planner.mdを定義してみたところPlannerが表示されるようになりました。(※github.copilot.chat.cli.customAgents.enabledのチェック後にVSCodeの再起動が必要です)
---
description: 新機能追加や既存コードのリファクタリングに向けて、実装計画(手順・要件・テスト観点)を作成します。
name: Planner
tools: ['web/fetch', 'web/githubRepo', 'read/readFile', 'search', 'search/usages', 'agent/runSubagent']
handoffs:
- label: 計画を実装する
agent: agent
prompt: 上の計画に従って実装してください。必要なら計画の不明点を最小限だけ質問し、実装→テスト→仕上げまで進めてください。
send: false
---
# 計画モードの指示(日本語)
あなたは「計画モード」です。目的は **新機能の追加** または **既存コードのリファクタリング** について、実装のための計画書を作ることです。
## 重要な制約
- **コード編集はしない**(パッチ、コミット案、実装コードの提示は不要)
- ここでは **計画のみ** を出力する
- 不明点があっても、まずは **仮定を置いて計画を前に進める**。致命的に必要な情報だけ、最後に「確認事項」として列挙する
## 出力形式
出力は **Markdown ドキュメント** とし、次のセクションを必ず含めること。
### 1. Overview
- 目的(何を実現する/何を改善する)
- 対象範囲(影響するモジュール・画面・API など)
- 成功条件(Done の定義)
### 2. Requirements
- 機能要件(ユーザー視点、入力/出力、例外時の挙動)
- 非機能要件(性能、セキュリティ、互換性、運用、ログ、監視)
- 制約(既存仕様、ライブラリ、互換性、リリース条件)
### 3. Implementation Steps
- 大きい順→細かい順に、番号付きで具体的に
- それぞれのステップに以下を含める:
- 変更対象(ファイル/ディレクトリ/コンポーネント/関数など)
- 変更内容(何をどう変える)
- 依存関係(先に必要な作業、マイグレーション、設定変更)
- リスクと回避策(破壊的変更、互換性、既存機能への影響)
### 4. Testing
- 追加・更新すべきテスト(ユニット、統合、E2E、回帰)
- 主要なテストケース(正常系/異常系/境界値)
- 手動確認が必要な観点(UI、権限、パフォーマンスなど)
### 5. Confirmation Questions(任意だが推奨)
- 計画の精度を上げるために確認したい点を最大 5 件まで
- ただし「質問しないと計画が成立しない」もの以外は書かない
## 文章のスタイル
- 日本語で、簡潔かつ実務で使える粒度
- 曖昧語(適宜、よしなに、いい感じに)は避ける
- 可能なら「チェックリスト」として実行しやすい形にする
詳細については カスタムエージェントの定義 を参照して下さい。
tools の再編成
エージェントで使用する tools 指定の構造が整理され、VS Code と GitHub の両環境で同じエージェント定義を使いやすくなりました。既存の設定はそのまま動作し、必要に応じて最新形式への更新を VS Code の Code Action で案内されます。
画像の例では、Code Actoinでfetchをweb/fetchに変更してくださいと案内されています。

サブエージェント実行 (実験的)
設定: chat.customAgentInSubagent.enabledchat.customAgentInSubagent.enabledを有効にすることで、サブエージェントとしてカスタムエージェントを選択できるようになりました。
カスタムエージェントとしてSimple Plannerも追加して試してみましょう。
---
description: 新機能追加やリファクタリングのための簡易な実装計画を作成します。
name: Simple Planner
infer: true
tools: ['search']
---
# 役割
あなたは **実装計画を作るためのサブエージェント** です。
新機能追加や既存コード改善について、**実装に入る前の計画だけ**を整理します。
## 制約
- コードは書かない
- 修正案やパッチは出さない
- 計画のみを簡潔にまとめる
## 出力形式(Markdown)
### Overview
- 目的と概要
### Plan
- 実装の大まかな手順(箇条書き)
### Testing
- 想定されるテスト観点(簡潔に)
必要に応じて、最後に **確認したい前提条件** を数点挙げてください。
これで今は、PlannerとSimple Plannerの二つのカスタムエージェントが定義されていることになります。
この状態でchat.customAgentInSubagent.enabledにチェックを入れて、
カスタムエージェントでPlannerを選択し、
「どのサブエージェントを使用できますか?使用できるサブエージェントの名称のみ出力してください。」と尋ねると、

利用可能なサブエージェント一覧にPlanner(※自分自身もサブエージェントに使用できる)Simple PlannerPlan(※組み込みで定義済みのエージェント)
が表示されカスタムエージェントが使用できることが分かります。
定義したカスタムエージェントをサブエージェントとして選択されないようにするには、カスタムエージェント定義ファイルのinferをfalseに設定します。
infer: false
Simple Plannerのinferをfalseに設定して、再度同じように尋ねると、今度はSimple Plannerが除外されていることが確認できます。

注意点としてinferで除外しても、名指しでサブエージェントとして利用したいと言えば普通に選択されます。
あくまで、エージェントが勝手に選択しないようにするためのメタ情報になっています。
詳細についてはチャットでサブエージェントを使用する方法 を参照して下さい。
Claude スキル再利用 (実験的)
設定: chat.useClaudeSkills
※VSCode 1.108からuseClaudeSkillsはuseAgentSkillsに置き換わりました。詳細はVSCode1.108の変更点まとめ - Agent Skills (実験的)
をお読みください。
chat.useClaudeSkillsを有効にすることで、VSCode上でもClaued CodeのSkillsが使用できるようになりました。
VS Code は、次の 2 種類のスキルを読み込むことができます。
- 個人用スキル:
~/.claude/skills/skill-name/SKILL.mdに置いたもの - プロジェクト用スキル:ワークスペース内の
.claude/skills/skill-name/SKILL.mdに置いたもの
スキルを定義して認識できるか確認してみましょう。
---
description: 長い文章を短く要約します。
---
# Summarize Text Skill
このスキルは、与えられた文章を簡潔に要約します。
## 指示
- 要点を3〜5行でまとめる
- 詳細な説明や背景は省く
- 箇条書きで出力する
summarize-textというスキルを、ワークスペース上で定義しました。
エージェントに、
「使用可能なスキル一覧をスキル名称のみで出力してください。」
と尋ねると、

summarize-textが出力されスキルが認識されていることが確認できます。
ただ、何度か試してみると全く関係ないスキルが羅列されたりと挙動が不安定なようです。
まだ実験的なので改善待ちですね。
なお、Claued CodeのSkillsではallowed-tools 属性を指定して、スキルで使用できるツールを制限することができますが、 VS Code ではサポートされていないのでご注意ください。
また、エージェントモードではSKILL.mdが読み込めるようにread-fileツールを有効にしておく必要があります。
Chat関連の変更点
インラインチャット UX
設定: inlineChat.enableV2inlineChat.enableV2を有効にすると、インラインチャットで対応できないタスクはChatビューにアップグレードされるようになります。
これは単一ファイル内で完結できない別ファイルが絡む指示をした場合などが当てはまります。
試しに別ファイルが絡む指示を出してみましょう。
指定行を選択後、「Ctrl + I」を押下しインラインチャットで「このコードを別ファイルに移動して」と指示すると、

Chat ビューにアップグレードする確認画面が表示されます。

「[チャット]ビューで続行」を選択すると、そのままモデルとコンテキストを引き継いでプロンプトが再生されます。

以前は、単一ファイルで完結できない指示に対して、生成AIはコメントで指示を返すだけでした。
VS Code 1.107 のinlineChat.enableV2では、生成AIが自動でチャットビューに切り替わり、複数ファイルを扱う指示もそのまま実行できるようになっています。
言語モデル管理の改善
言語モデル管理の一覧表示が改善され見やすくなりました。
以前は、各プロバイダ毎に画面を切り替えて表示していましたが、1画面でフィルターを使って表示制限する方式に変更されました。

言語モデル管理はCtrl + Shift + PでコマンドパレットからChat: Manage Language Modelsと検索するか、
チャットの言語モデル選択の「モデルの管理」を選択すると表示されます。

モデル情報一覧
各モデル毎のコンテキストサイズや機能、プロバイダがCopilotの場合Premium Requestsの乗数(消費の重み)も一覧から確認できます。

追加モデル確認
APIキーを入力して自分が追加したプロバイダも一覧で確認できます。
可視性設定
名前の左側にマウスカーソルを移動すると可視性のアイコンが表示され、必要な言語モデルのみに絞り込むことが可能です。

こうしておくことで必要な言語モデルだけ表示できるようになります。

#fetchによる動的コンテンツの取得
VSCode1.107のリリースノートでアナウンスされている通り、#fetch エージェントツールにより、SPA(Single-Page Application)などの動的に生成されるコンテンツも取得されるケースが確認できました。
特にユーザー側で明示的に指示しなくても、Copilot が必要と判断した場合に fetch_webpage を実行し、動的コンテンツを含んだ HTML を取得してくることがあります。
この挙動は VS Code 本体の変更というより、fetch_webpage を実行しているバックエンド側(Copilot / サーバー側)の実装によるものと考えられます。
実際、VS Code 1.106 以前でも同様の挙動が確認できるため、VS Code のバージョンには依存しない可能性が高そうです。
取得できないケース
一方で、すべての SPA が取得できるわけではありません。
例えば Figma のトップページでは、#fetch による取得に失敗しました。

何度か確認したところ、自動化アクセスに対する制限(bot 判定や WAF)によってブロックされている可能性が高そうです。
一方、Yahoo! トップページの「おすすめニュース」(主要ニュース下の動的に表示される部分)は取得できたため、
自動取得を制限していない SPA ページであれば、問題なく取得できるケースがあると考えられます。
Text Search 無視ファイル検索
#textSearch ツールは、files.exclude や search.exclude 設定、.gitignore ファイル (たとえば node_modules フォルダー) で指定された無視ファイル / フォルダー内の検索をサポートするようになりました。
※ この挙動は Chat / エージェント経由で使用する #textSearch ツールに関するもので、エディタ上の通常の「検索(Ctrl+Shift+F)」の仕様が変わったわけではありません。

.gitignoreファイルなどで無視されたファイルを検索対象として欲しい場合は、そのようにプロンプトで指示すれば検索対象にしてくれます。

VSCode の grep 検索は仕様がやや分かりにくいため、下記の記事で詳しく解説しています。
検索の挙動を正しく理解したい方は、ぜひあわせてご覧ください。
VSCodeのファイル内検索(grep)で「除外設定を使用してファイルを無視」の対象を検証してみた
チャットターミナルでのコマンドステータス詳細
チャットターミナルのメッセージでは、コマンドの開始時刻、実行時間、終了コードが、行頭の青い丸で示されるコマンドデコレーションにホバーした際に表示されるようになりました。

「このセッションのすべてのコマンドを許可する」が追加
ターミナルツールに「このセッションのすべてのコマンドを許可する」が追加され、このセッション中の今後のすべてのコマンドを許可できるようになりました。新しいセッションを開始すると、ターミナルコマンドは既存の承認設定に従います。

チャットターミナルアクション用のキーボードショートカット
下記2つのショートカットが追加されました。
- 最新のチャットターミナルにフォーカスするショートカット
Ctrl+Shift+Alt+T

- 最新のチャットターミナルの展開状態をトグルするショートカット
Ctrl+Shift+Alt+O

カスタムエージェント用のキーボードショートカット
VSCode 1.107 では、カスタムエージェントごとに専用のコマンドが自動生成され、それぞれにキーボードショートカットを割り当てられるようになりました。
たとえば、「Planner」というカスタムエージェントを定義した場合、コマンドパレットに Chat: Open Chat (Planner) コマンドが追加され、それにショートカットを割り当てられます。


Ctrl+K、Ctrl+Sの順に押下して「キーボードショートカット」を開き、「planner」で検索するとChat: Open Chat (Planner)が表示されるようになっていることが確認できます。

割り当てたショートカットを押下すると、即座に「Planner」に設定されたカスタムエージェントのチャットが開きシームレスに指示ができるようになります。
頻繁に使う役割別エージェント(設計用、レビュー用、調査用など)を素早く切り替えたい人には特に便利な変更です。
開発内部の改善
Copilot 拡張機能の統合
設定: chat.extensionUnification.enabled
インライン補完(ゴーストテキスト)は、現在すべて GitHub Copilot Chat 拡張機能 から提供されるようになっています。これに伴い、従来の GitHub Copilot 拡張機能 はデフォルトで無効化されました。
インライン補完の挙動に問題がある場合は、フィードバックの報告が推奨されています。一時的に以前の挙動へ戻したい場合は、chat.extensionUnification.enabled を false に設定することで、GitHub Copilot 拡張機能を再度有効にできます。
なお、GitHub Copilot 拡張機能は 2026 年 1 月に完全廃止予定 であり、それに合わせて chat.extensionUnification.enabled 設定も削除される予定です。