まえがき
VSCode 1.109 の変更点をまとめました。
VSCode 1.109 Release Notes
次のバージョン:VSCode1.110の変更点まとめ(2026年3月頃リリース予定)
前のバージョン:VSCode1.108の変更点まとめ
リリースノート一覧:VSCodeリリース情報
Chat関連の変更点
Anthropic モデルで thinking tokens を表示
今回のアップデートにより、Anthropic 系モデル(Claude など)使用時に thinking tokens が表示されるようになりました。
thinking tokens とは、AI が回答を生成する際に
「内部でどのように考えながら結論に至っているか」を途中経過として可視化するための、思考専用トークンです。
最終的な回答とは別に、推論の流れや試行錯誤の様子を確認できる点が特徴です。

意識せずに使用していると気づかないかも知れませんが、画像赤枠で示しているように以前より多くの思考情報が表示されるようになっています。
Thinking ドロップダウン内に表示される Terminal Tools の実行内容
VS Code 1.109 で追加された、
chat.agent.thinking.terminalTools
を有効にすることで、
エージェントが内部で実行した ターミナルツールの呼び出し が Thinking(思考)パネル内 に表示されるようになりました。

これまでも、AI が実行したターミナルコマンド自体は表示されていましたが、
チャット本文の流れの中にそのまま出力されるため、
会話と実行ログが混在してやや見づらく感じる場面がありました。
本機能により、ターミナルツールの呼び出しが Thinking(思考)パネル内にまとめて表示されるようになり、
- 実行されたコマンドの内容
- 処理の開始・進行状況
- ファイルサイズ計算などの裏側の作業
といった情報を、チャット本文を汚さずに確認できるようになります。
ツール実行失敗時にエラー詳細を自動展開(Auto Expand Failures)
VS Code 1.109 で追加された、
chat.tools.autoExpandFailures
は、ツールの実行に失敗した場合に、その失敗内容を チャット UI 上で自動的に展開表示 するための設定です。
以前は、ツール呼び出しの詳細(Input / Output / エラーメッセージ)は折りたたまれて表示されていましたが、この設定を有効にすると、失敗時のみ それらの情報が即座に展開されます。

これにより、エラー時の詳細をクリック操作なしで確認できるようになります。
チャット内で Mermaid ダイアグラムを表示・操作できるように
チャットのレスポンス内で、renderMermaidDiagram ツールを使った Mermaid ダイアグラムの表示 ができるようになりました。
これにより、フローチャートやシーケンス図などを使って、処理の流れや構成を視覚的に説明できます。
表示されるダイアグラムは静的な画像ではなく、拡大・縮小や移動が可能なインタラクティブな図として扱えます。
複雑な構成でも、全体を俯瞰したり細部を確認したりしながら理解できます。

Mermaid ダイアグラムでは、次の操作が可能です。
パン・ズーム
Altを押しながらマウスホイールやトラックパッドでズームできます。Altを押したままドラッグすると、ダイアグラムを移動できます。クリックでズーム
Altを押しながらクリックするとズームインします。Shiftを併用するとズームアウトできます。エディターで開く
図の右上のボタンを使ってダイアグラムをフルサイズのエディターで開き、
大きな図も見やすく表示できます。ソースをコピー
ダイアグラムを右クリックして Copy diagram source を選ぶと、
Mermaid のソースコードをそのままコピーできます。
注意点
ダイアグラムが複雑になりすぎると、正しく表示されない場合があります。
今回の例でも、最初から詳細な図を指定すると表示されず、段階的に構成を簡素化することで表示できました。
現時点(2026/2/8)では、Mermaid のすべての記法や規模に完全対応しているわけではなさそうです。
図が表示されない場合は、ノード数や構造を減らして再度試すと表示されることがあります。
Ask Questions ツール(実験的)
askQuestions ツールによって前提がはっきりしない場合でも、エージェントが推測で話を進めるのではなく、必要な確認事項をチャット上で質問できるようになりました。
この設定は
github.copilot.chat.askQuestions.enabled
で変更できます。
質問はチャット内にそのまま表示され、単一選択・複数選択・自由入力といった形式に対応しています。
回答を先に確定させてから次へ進められるため、要件が曖昧なまま実装に入るのを防ぎやすくなります。

質問への回答は、マウス操作だけでなくキーボードでも行えます。Up / Down キーで選択肢を移動したり、対応する番号を直接入力することも可能です。
途中で回答をやめたい場合は、Escape キーで残りの質問をスキップできます。
あわせて Plan エージェントも改善され、askQuestions ツールを使って実装前に認識のズレがないかを確認しながら計画を立てられるようになりました。
要件が固まっていない段階でも、確認→合意→計画という流れを作りやすくなります。
コンテキストウィンドウの使用状況を確認できるように
チャット入力欄に、コンテキストウィンドウの使用状況を示すインジケーターが表示されるようになりました。
これにより、モデルがどの程度のコンテキストを使っているのかを、やり取りしながら確認できます。
インジケーターにマウスカーソルを重ねると、System 指示、ツール定義、ユーザーメッセージなど、カテゴリごとのトークン使用量の内訳が表示されます。

インラインチャット UX の刷新(プレビュー)
inlineChat.affordance
inlineChat.affordance
が追加されました。
有効にすると、エディタでテキストを選択した際に、インラインチャットを起動するためのアイコン(アフォーダンス)が表示されます。
これにより、ショートカットを覚えていなくても、
「ここからインラインチャットを使える」ことが視覚的に分かるようになります。
アイコンの表示位置は設定によって切り替えられます。
gutter
行番号の左側(ガター)に、インラインチャット起動用のアイコンが表示されます。

editor
選択したコードの近く、エディタ内にインラインチャット起動用のアイコンが表示されます。

inlineChat.renderMode
inlineChat.renderMode
が追加され、
インラインチャットをどのような形式で表示するかを選べるようになりました。
作業スタイルに合わせて、従来どおりの表示か、軽量な表示かを切り替えられます。
zone
選択したコードの下に、エディタの横幅全体を使ってインラインチャットが表示されます。
これまでのインラインチャットと同じ表示方式で、
複数のやり取りや長めの編集指示を行う場合に向いています。

hover
選択したコードの左側に、ポップアップ(ホバー)形式でインラインチャットが表示されます。
画面占有が少なく、軽い修正や短いやり取りを素早く行いたい場合に適しています。

モデルピッカーでモデルの詳細を確認できるように
モデルピッカー内で各モデルにマウスカーソルを合わせる、またはキーボードでフォーカスすると、
そのモデルの特徴が表示されるようになりました。

ターミナルコマンド出力
よりリッチになったコマンドの表示内容
ターミナルツールで実行されるコマンドについて、
「何を実行するのか」「どこで実行されるのか」「何のためのコマンドか」 が分かりやすくなるよう、表示が改善されました。
これにより、実行前の確認や意図の把握がしやすくなっています。
インラインのシンタックスハイライト
ターミナルで実行されるコマンドに対して、Node.js、Python、Ruby のワンライナーコードにシンタックスハイライト が適用されるようになりました。
コード部分と引数・文字列の区別がつきやすくなり、実行内容を視覚的に把握しやすくなっています。

作業ディレクトリの明示
cd コマンドを含む場合、
どのディレクトリ内でコマンドが実行されるのか が明示されるようになりました。
cd src && ... のようなコマンドでも、
実際の実行ディレクトリを一目で把握できます。

コマンドの意図の説明
ターミナルに表示されたコマンドにマウスカーソルをホバーすると、
そのコマンドが何を目的としているのか(Explanation / Goal) が表示されるようになりました。
意図が分からないまま実行してしまうリスクを減らし、内容を理解した上で実行可否を判断できます。

インタラクティブ入力
埋め込みターミナルが インタラクティブ入力に対応し、ターミナルにフォーカスした状態で直接キーボード入力ができるようになりました。
これにより、y/n の確認を行うスクリプトなど、ユーザー入力を必要とするコマンドも埋め込みターミナル上で実行できます。
入力待ちの状態では カーソルが表示されるため、処理が停止しているのではなく、入力を待っていることが視覚的に分かりやすくなっています。
一方で実際に使ってみると、入力待ちの行がターミナル下部で一部見切れて表示される場合がありました。
この状態ではスクロールしても見切れている部分は表示されず、入力プロンプト全体を確認できない点がやや気になります。

chat のすべての非表示ターミナルを削除
ターミナル一覧パネルの下部に表示される、非表示ターミナルの項目に削除アイコンが追加され、1 回の操作ですべての chat 由来の非表示ターミナルをまとめてクリアできるようになりました。
これにより、チャット実行によって増えがちな非表示ターミナルを、簡単に整理できます。

なお、この操作で削除されるのは chat によって作成された非表示ターミナルのみであり、ユーザーが手動で作成した通常のターミナルが削除されることはありません。
エージェント関連の変更点
エージェントタイプ間の切り替えと委譲
チャットに新しい セッションピッカー が追加され、エージェントの使い分けや引き継ぎが分かりやすくなりました。
新しいチャットを開始する際に、ローカル / バックグラウンド / クラウド など、利用したいエージェントタイプを選択できます。
また、進行中のセッションを別のエージェントタイプに引き継ぐことも可能です。
例えば、ローカル環境でタスクの整理や設計を行い、その内容を引き継いでクラウドエージェントで実装を進める、といった使い分けができます。

また、新しく workbench.action.chat.newLocalChat コマンドも追加されています。
このコマンドをキーボードショートカットに割り当てておくと、ローカルチャットセッションをすばやく開始できます。

なお、workbench.action.chat.newLocalChatコマンドを実行してもチャットが非表示の場合は表示されないようです。
ただチャットが非表示でも、内部的には新規チャットが開いている状態になっていました。
個人的には新規チャットを開いたらチャットも表示して欲しいですが、ここは体験が悪いので今後の更新で改善されるかもしれません。
Agent Sessions ビューの改善
Agent Sessions ビューが改善され、複数のセッションを扱う際の操作性と視認性が向上しました。
並列表示時にセッションリストのサイズを変更可能
Agent Sessions を並列表示している場合、セッションリストの幅をドラッグ操作で自由に調整できるようになりました。
これにより、セッション名をしっかり確認したい場合や、逆に作業領域を広く取りたい場合など、用途に応じてレイアウトを調整できます。

複数セッションを選択して一括操作を実行
セッション一覧で 複数のセッションをまとめて選択できるようになりました。
選択方法は一般的なリスト操作と同様で、次のように使い分けられます。
- Shift キー:クリックした位置から、指定した位置までのセッションをまとめて選択
- Ctrl キー:離れたセッションを個別に選択
これにより、不要になったセッションの整理や、対象セッションに対する操作を一括で実行でき、セッション数が多い場合でも効率よく管理できるようになりました。

エージェントステータスインジケーター
VS Code のコマンドセンターに
エージェントステータスインジケーター(
chat.agentsControl.enabled
)が追加され、
エージェントセッションの状態や更新状況をひと目で把握できるようになりました。

このインジケーターでは、以下のような セッションの状態 が視覚的に表示されます。
- 実行中・処理中のセッション
- 未読の更新があるセッション
- 注意が必要な状態のセッション
インジケーターをクリックすると、Agent Sessions の一覧を素早く開くことができ、
そのままフィルターを適用して対象のセッションだけを表示できます。
チャットボタンの改善
あわせて、コマンドセンターの チャットボタンの挙動も改善され、
クリック時の動作を設定から切り替えられるようになりました
(
chat.agentsControl.clickBehavior
)。

クリック時の動作は、次の 3 種類から選択できます。
default
デフォルトの動作です。
チャットビューの 表示 / 非表示を切り替えます。
cycle
クリックするたびに、次の順で状態が切り替わります。
- サイドバーに表示
- 最大化表示
- 非表示
focus
チャットビューにフォーカスし、最大化表示にします。
この状態では、ボタンを再度クリックしても表示状態は切り替わりません。
ターミナルの改善
sticky scroll を選択的に無視
terminal.integrated.stickyScroll.ignoredCommands
に指定したコマンドは、sticky scroll の対象から除外され、ターミナル上部にコマンドが固定表示されなくなります。
この設定が役立つ具体例として、git log --onelineが挙げられます。
git log --onelineは、最新コミット(先頭行)だけをさっと確認したいときによく使われるコマンドです。
通常は、コマンド実行後にスクロールせずそのままqキーで終了すると、先頭行のコミットがそのまま表示された状態でターミナルに戻ります。
しかし sticky scroll によってコマンドが固定表示されるようになると、qで終了した直後に固定されたコマンド行が先頭行を上書きしてしまい、本来確認したかった最新コミットが隠れてしまってました。
このため、わずかではありますがスクロール操作が必要になり、地味ながらもストレスを感じる場面が増えていました。
今回追加されたignoredCommands設定を使えば、git log --onelineのように固定表示されることで表示に支障が出るコマンドを個別に除外できます。
これにより、終了後も先頭行のコミットが上書きされることなく表示され、意図どおりに内容を確認できるようになります。

エディターの改善
ゴーストテキストの視認性向上
インラインサジェスション(ゴーストテキスト)で、連続する非空白文字が 5 文字未満の短いサジェスションが表示される場合、
その部分に 点線の下線 が表示されるようになりました。
この点線の下線は、エディター内にすでに存在するコードと、AI によるサジェスションを視覚的に区別しやすくするためのインジケーターです。
特に、
)や,などの単一文字- 既存コードと見た目がほぼ同じで、気づきにくい補完
といったケースでも、ゴーストテキストと一目で分かるようになりました。

追記・更新について
本記事では今後も気づいた点や検証できた内容を、スクリーンショット付きで随時追記していく予定です。