Visual Studio Code 1.120は2026年5月13日に公開された週次リリースです。目玉はエージェント専用の新しいウィンドウ「Agents window(エージェントウィンドウ)」で、Insiders限定だった機能がこの版からStableでもプレビューとして使えるようになりました。あわせて、BYOKモデルのトークン表示、ターミナル出力の圧縮、Markdownの差分プレビューなど、エージェント作業の周辺も手が入っています。
この記事は1.120の変更点を公式リリースノートに沿って整理し、エージェントウィンドウについては2026年9月時点の公式ドキュメントで補っています。VS Codeは毎週版が上がるため、現在の最新版と確認方法はVS Codeの最新バージョンと確認方法の解説を参照してください。
まとめ:VS Code 1.120の要点
- リリース日は2026年5月13日。エージェントウィンドウがStableでプレビュー提供された版です。
- エージェントウィンドウは、複数プロジェクトのエージェント作業を1つの画面で並行管理するための別ウィンドウ。タイトルバーの「Open in Agents」から開けます。
- テーマ・文法・言語・キーバインドだけを提供する拡張機能は自動で有効になり、それ以外は
extensions.supportAgentsWindowで拡張機能IDごとに許可します。 chat.tools.compressOutput.enabledを有効にすると、git diffやnpm installの長い出力を縮めてからモデルへ渡します(プレビュー)。- Markdownは差分をレンダリング済みプレビューで比較できるようになり、プレビューのダブルクリックで編集に戻る動作は既定でオフになりました。
- エージェントウィンドウは、2026年9月25日の確認時点でも公式ドキュメントで「Preview」とされています。業務で常用するなら、Worktree隔離の仕様を理解してから使うのが前提です。
VS Code 1.120の変更点一覧
1.120のリリースノートにある変更を領域別に並べました。設定名は、設定画面の検索欄にそのまま貼り付けて探せます。
| 領域 | 変更 | 設定・操作 | 状態 |
|---|---|---|---|
| エージェント | エージェントウィンドウ | Open in Agents | Preview |
| エージェント | 拡張機能の個別有効化 | extensions.supportAgentsWindow | Preview |
| エージェント | Copilot CLIプラグインの自動検出 | copilot plugin install | 正式 |
| 言語モデル | BYOKのトークン使用量表示 | Chatビューのコンテキスト表示 | 正式 |
| 言語モデル | BYOK推論モデルのthinking effort | モデルピッカー | 正式 |
| 言語モデル | プロバイダー別のモデル一覧 | モデルピッカー | 正式 |
| チャット | ターミナル出力の圧縮 | chat.tools.compressOutput.enabled | Preview |
| チャット | コマンドのリスク評価 | chat.tools.riskAssessment.enabled | Experimental |
| チャット | プランのインライン編集 | chat.planWidget.inlineEditor.enabled | 正式 |
| Markdown | 差分のプレビュー表示 | workbench.diffEditorAssociations | Preview |
| Markdown | プレビューの既定値変更 | 2設定がオフへ | 正式 |
| Markdown | HTMLのidをリンク補完・検証 | 自動 | 正式 |
| Markdown | 表のスマート選択 | Expand Selection | 正式 |
このほか、拡張機能向けには差分表示用の提案API(customEditorDiffs・documentDiff)と、customEditors の diffEditorPriority・mergeEditorPriority が追加されました。いずれも提案段階で、Marketplaceに公開する拡張機能では使えません。
エージェントウィンドウ(Agents window)の仕組みと開き方
通常のチャットビューとの違い
リリースノートは、VS Codeのエディター配置が「1つのタスク、1つのワークスペース」向けに最適化されていたことを課題に挙げています。エージェントウィンドウはエディターの代わりではなく、横に置く「companion(相棒)」という位置づけです。複数プロジェクトのタスクを行き来しながら、エージェントに任せた作業を調べ、やり直させ、レビューする場所として作られました。
公式ドキュメントでは、画面は次の5つの領域で構成されています。
- セッション一覧:ワークスペースごとにまとめて表示し、選んだものがアクティブになる
- カスタマイズパネル:エージェント、スキル、指示ファイル、MCPサーバーなどの設定
- チャット領域:アクティブなセッションとの対話
- Changesパネル:アクティブなセッションが加えた変更のレビュー
- Filesパネル:セッションが作業しているフォルダーやworktreeの閲覧
エージェントの種類(ハーネス)も選べます。2026年9月時点のドキュメントでは、Copilot・Claude・Codexの3種類が並んでいます。
エージェントウィンドウの開き方
1.120時点で案内されていたのは、タイトルバーの Open in Agents ボタンです。現在のドキュメントでは、次の方法でも開けます。
- コマンドパレットで Chat: Open Agents Window を実行する
- ウェルカムページの Try out the new Agents Window を選ぶ
- ターミナルで
code --agentsを実行する - Windowsではタスクバーのアイコンを右クリックし、ジャンプリストから Agents Window を選ぶ
既定ではGitHubの認証が必要で、Copilotのサブスクリプションとセッションに紐づきます。ボタンが邪魔なら、右クリックの Hide ‘Open in Agents’ で隠せます。隠してもコマンドパレットからは開けます。
1.120でエージェントウィンドウに入った改善
Insidersで使っていた人からのフィードバックを受けて、1.120では次の改善が入りました。
- ハーネスや隔離方式など、ドロップダウンで最後に選んだ値を新しいセッションでも引き継ぐ
- Changesパネルから直接、変更を破棄できる
- Filesパネルの同期ボタンで、エージェントが作業を始める前にベースブランチの上流変更を取り込める
- 完了済みのセッションを開くと、エージェントが加えた全変更を最初から表示する
- タイトルバー左上の矢印で、直近のセッション間を移動できる
- VS Code本体の設定をすべて共有したうえで、エージェントウィンドウだけ特定の設定を上書きできる
エージェントウィンドウで拡張機能を有効にする設定
エージェントウィンドウでは、すべての拡張機能が動くわけではありません。テーマ、文法定義、言語定義、キーバインドのように静的な内容だけを提供する拡張機能は自動で有効になります。Marketplaceの上位100件もテスト済みで、既定プロファイルに入っていれば一部はそのまま動きます。
それ以外の拡張機能は、ユーザー設定の settings.json の最上位オブジェクト内に次の設定を追加して許可します。myextension.id は対象の拡張機能IDに置き換えてください。
"extensions.supportAgentsWindow": {
"myextension.id": true
}
ここで許可する拡張機能は、VS Codeの既定プロファイルにインストールされている必要があります。作業用に別プロファイルを分けている場合、そちらに入れた拡張機能は許可しても動きません。Microsoftは拡張機能の扱いを「まだ検討中」としているため、社内向け拡張機能に依存する作業は、先に1件ずつ動作を確かめてください。
セッションの隔離方式とWorktreeの注意点
エージェントウィンドウで新しいセッションを始めると、変更を現在のフォルダーに直接書くか、新しいGit worktreeに書くかを選べます。この「コード隔離」はエージェントウィンドウだけにある選択肢です。
| 隔離方式 | 向く作業 | 承認レベル | 未コミットの変更 |
|---|---|---|---|
| New Worktree | 並行タスク | Allow all固定 | 引き継がない |
| Folder | 小さな対話的タスク | 手動承認も選べる | そのまま使う |
判断を分けるのは表の3列目です。Worktreeを選んだセッションは承認レベルが「Allow all」に固定され、変更できません。エージェントハーネスの公式ドキュメントも「worktreeはコード変更を隔離するが、セキュリティ境界ではない」と明記しています。コマンドの実行やネットワークアクセスは制限されないので、本番の認証情報がシェルに通っている端末でWorktreeセッションを放置する使い方は避けるべきです。コマンドごとに確認したいなら、Folderを選んで手動承認にします。
もう1つの落とし穴は、worktreeにはベースブランチのコミット済みファイルしか入らないことです。未コミットの変更、未追跡ファイル、.env のような無視対象ファイル、インストール済みの依存関係は含まれません。未コミットの変更や未追跡ファイルが必要なら、先にコミットするかFolderを選びます。Gitの無視対象ファイルやフォルダーをコピーする場合は、git.worktreeIncludeFiles でコピー対象を指定します。
なお、1.130(2026年7月22日)より前は「New Worktree」に対応していたのはCopilotハーネスだけでした。ClaudeとCodexのセッションもworktreeで動くようになったのは1.130からです。
BYOKモデル向けの3つの改善
BYOK(Bring Your Own Key)は、AnthropicやOpenAIなどのAPIキーを自分で登録してチャットに使う仕組みです。1.120ではこのBYOKモデルの扱いが3点変わりました。
- トークン使用量の表示:これまでBYOKモデルでは、Chatビューのコンテキスト表示が常に0%・0トークンでした。1.120から実際の使用量と埋まり具合が出ます。
- thinking effortの設定:推論モデルの思考量を、Chatビューのモデルピッカーから選べるようになりました。対象はOpenAI互換エンドポイント経由のモデル(OpenAI、xAI、OpenRouter、Azure OpenAIのカスタムデプロイなど)で、Anthropicのモデルは以前から対応済みです。
- プロバイダー別のモデルピッカー:モデルが提供元ごとにまとまり、名前で検索できます。チャット入力欄で
/modelsと打つと一覧をすぐ開けます。
API従量課金でBYOKを使う場合、この表示はコンテキスト使用量を把握する手掛かりになります。実際の請求額は、利用するAPIプロバイダーの利用明細で確認してください。1.120より前の版をBYOKで使っているなら、更新する理由として十分です。
チャットのターミナル操作に入った3つの変更
ターミナル出力の圧縮(chat.tools.compressOutput.enabled)
git diff、ls -l、npm install のような長い出力は、モデルのコンテキストを大きく消費します。chat.tools.compressOutput.enabled を有効にすると、VS Codeが出力を加工してからモデルに渡します。1.120ではプレビュー機能で、設定を有効にしたときだけ動きます。
| コマンド | 圧縮の内容 |
|---|---|
| git diff | 変更のない大きな塊を折りたたむ |
| git diff | ロックファイルとスナップショットの差分を除く |
| ls -l | エントリ名だけにする |
| npm install | 進捗バー・非推奨警告・監査の要約を除く |
圧縮した出力の先頭には短いバナーが付き、どのフィルターが働いたか、生の出力が必要なときにどう無効化するかがモデルに伝わります。翌週の1.121では対象が広がり、pytest・jest・cargo test・tsc などのテストランナー、ビルドツール、リンター、Dockerコマンドも圧縮されるようになりました。
ロックファイルの差分が落ちる点には注意が必要です。圧縮されたgit diffの出力では、ロックファイルの差分がモデルに渡らないため、依存関係の変更を見落とすおそれがあります。その作業のときだけ設定をオフにしてください。
ターミナルコマンドのリスク評価(Experimental)
chat.tools.riskAssessment.enabled を有効にすると、コマンドの実行確認に、AIが生成した1文の説明とリスクのバッジが付きます。バッジは3段階です。
- Safe(緑):ファイルの読み取りや出力の表示だけで、何も変更しない
- Caution(橙):ワークスペースの変更、パッケージの導入、ネットワークへの送信
- Review carefully(赤):リモートへの強制プッシュやワークスペース外のファイル削除など、元に戻しにくい操作
判定そのものもAIの生成なので、赤でないことを安全の保証とは受け取れません。承認を省く根拠にはせず、確認を速くするための目印として使うのが妥当です。
ClaudeとCopilot CLIのプランのインライン編集
ClaudeエージェントやCopilot CLIでプランモードを使うと、実行前にプランを確認するコントロールが表示されます。1.120からは、プランの編集が別タブではなくコントロール内のインラインエディターで行えます。フィードバック中であることの表示もはっきりしました。従来の別タブ編集に戻したい場合は、chat.planWidget.inlineEditor.enabled をオフにします。
Markdownの変更(差分プレビュー・既定値・リンク補完)
Markdown差分のプレビュー表示
ソース管理ビューからMarkdownファイルを開いたとき、生のソースではなくレンダリングしたプレビューで差分を比べられるようになりました。左右に並べる表示と、1つにまとめるインライン表示の両方があります。見出しの変更、節の追加、画像の差し替え、リストの組み替えを、記法を頭で読み解かずに確認できます。
差分エディターで Reopen Editor With… を選び、Markdownプレビューの差分表示に切り替えます。常にこの表示で開くなら、settings.json の最上位オブジェクト内に次の設定を追加します。同じ設定キーが既にある場合は、その中にMarkdown用の関連付けを追加してください。
"workbench.diffEditorAssociations": {
"*.md": "vscode.markdown.preview.editor"
}
リリースノートは、エージェントやプルリクエストが書き換えたドキュメントのレビューを想定用途に挙げています。エージェントウィンドウでREADMEや設計書を更新させる運用と相性の良い変更です。
Markdownプレビューの既定値の変更
組み込みのMarkdownプレビューで、2つの設定が既定でオフになりました。
markdown.preview.doubleClickToSwitchToEditor:プレビューをダブルクリックするとソースの編集画面に戻る動作。文字を選ぶつもりのダブルクリックで画面が切り替わり、混乱のもとになっていたmarkdown.preview.markEditorSelection:エディターで選択中の行をプレビューに印で示す動作
1.120に更新してから「プレビューをダブルクリックしても編集に戻らない」と感じたら、この変更が原因です。どちらも設定をオンに戻せば以前の動作になります。
HTMLのidへのリンク補完と表のスマート選択
Markdown内に書いたHTML要素の id 属性が、パス補完とリンク検証の対象になりました。リンク検証は既定で無効です。markdown.validate.enabled を有効にすると、存在しないidへのリンクも検証対象になります。
<div id="install-guide">...</div>
See the [installation steps](#install-guide) for details.
また、Markdownの表で Expand Selection を使うと、選択範囲がセル、行、表全体の順に広がります。Shrink Selection で1段ずつ戻せます。Markdownのプレビュー用拡張機能を選ぶ場合は、Markdown Live Editorの選び方で比較しています。
1.120以降のエージェントウィンドウの変化(1.121〜1.139)
エージェントウィンドウは1.120でStableに入ったあとも、ほぼ毎週変わっています。1.120の情報だけで判断すると、現在の仕様とずれる点があります。主な変化をリリースノートから拾いました。
| 版 | リリース日 | エージェントウィンドウの主な変化 |
|---|---|---|
| 1.121 | 2026-05-20 | SSH・Dev Tunnels経由のリモート実行(Preview) |
| 1.122 | 2026-05-28 | ウィンドウ内でのモデル管理 |
| 1.123 | 2026-06-03 | 複数セッションの同時表示 |
| 1.124 | 2026-06-10 | バックグラウンド送信・再読み込み時の復元 |
| 1.127 | 2026-07-01 | セッションのグループ化・ドラッグ&ドロップ |
| 1.128 | 2026-07-08 | ワークスペースなしのチャット |
| 1.130 | 2026-07-22 | ClaudeとCodexもworktree隔離に対応 |
| 1.133 | 2026-08-12 | GitHub未サインインで開く(Experimental) |
| 1.136 | 2026-09-02 | Agent Merge(Preview) |
| 1.138 | 2026-09-16 | Codexのサポート拡充 |
| 1.139 | 2026-09-23 | リモートホスト上のDev Containerで実行 |
1.133で入った未サインイン起動は、当初Claudeだけが対象でした。現在のデスクトップ版では、APIキーなどで設定したClaude、ChatGPTにサインインしたCodex、Agent Host用に設定したBYOKモデルのいずれかを利用できます。Codexは chat.agentHost.codexAgent.enabled、BYOKモデルは chat.agentHost.byokModels.enabled を有効にする必要があります。そのうえで、chat.agentHost.allowSignedOutWhenUsable を有効にしてGitHubにサインインせずに開けます。GitHubに接続できないネットワークの組織にとっては、1.120の時点より導入の壁が下がっています。
1.120より前の版の変更は、VSCode 1.118の新機能まとめやVS Code v1.109の新機能で扱っています。
エージェントウィンドウの採用を避ける条件
エージェントウィンドウは並行作業に強い一方、次の条件に当てはまる場合は、従来のChatビューで作業したほうが安全です。
- 未コミットの変更を前提にした作業:worktreeには未コミットの変更が入りません。Folderを選べば使えますが、同じフォルダーで複数セッションを動かす場合は変更が競合するおそれがあります。
- コマンドを1つずつ承認したい作業:Worktreeセッションは承認レベルがAllow all固定です。本番環境に触れるスクリプトや認証情報を扱う作業には向きません。
- 既定プロファイル以外の拡張機能に依存する作業:
extensions.supportAgentsWindowで許可できるのは既定プロファイルに入った拡張機能だけです。 - 仕様の固定が求められるチーム運用:2026年9月時点でもPreviewで、UIと設定が週単位で変わります。手順書を作るなら版番号を明記しておく必要があります。
単一リポジトリで1つのタスクを進めるだけなら、エージェントウィンドウに移る必要はありません。Chatビューのエージェントモードの使い方はGitHub Copilotエージェントモードの使い方で解説しています。
よくある質問
VS Codeのエージェントウィンドウはどこから開きますか?
タイトルバーの「Open in Agents」ボタンか、コマンドパレットの「Chat: Open Agents Window」から開けます。ターミナルで code --agents を実行する方法もあります。ボタンが見当たらない場合は、VS Codeが1.120以降かを確認してください。
VS Code 1.120はいつリリースされましたか?
2026年5月13日です。前の1.119は5月6日、次の1.121は5月20日で、VS Codeは週1回のペースで版が上がっています。
chat.tools.compressOutput.enabledを有効にすると何が変わりますか?
エージェントが実行したターミナルコマンドの長い出力を、モデルに渡す前に短くします。git diff の変更のない塊の折りたたみ、ロックファイル差分の除外、npm install の進捗表示の削除などです。1.120ではプレビュー機能で、設定を有効にしたときだけ動きます。
Markdownの差分をプレビュー表示にするにはどうしますか?
ソース管理ビューからMarkdownの差分を開き、「Reopen Editor With…」でMarkdownプレビューの差分表示を選びます。常にプレビューで開くなら、workbench.diffEditorAssociations で *.md を vscode.markdown.preview.editor に関連付けます。
VS Codeの自動アップデートを止めるにはどうしますか?
設定の update.mode を manual にすると自動更新が止まり、更新は手動で確認する形になります。none にすると更新の確認自体をしません。これはVS Code本体の更新設定です。Linuxでパッケージマネージャーが更新を管理している場合は、その側でも更新を制御する必要があります。拡張機能の自動更新は別設定です。