VSCode 1.109 の変更点まとめ

まえがき

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 が回答を生成する際に
「内部でどのように考えながら結論に至っているか」を途中経過として可視化するための、思考専用トークンです。
最終的な回答とは別に、推論の流れや試行錯誤の様子を確認できる点が特徴です。

VS Code 1.109 における thinking tokens の表示

意識せずに使用していると気づかないかも知れませんが、画像赤枠で示しているように以前より多くの思考情報が表示されるようになっています。

Thinking ドロップダウン内に表示される Terminal Tools の実行内容

VS Code 1.109 で追加された、 chat.agent.thinking.terminalTools を有効にすることで、
エージェントが内部で実行した ターミナルツールの呼び出しThinking(思考)パネル内 に表示されるようになりました。

VS Code 1.109で、Thinking(思考)ドロップダウン内にターミナルツールの実行コマンドが簡略表示されている様子。Chat Agent が Get-ChildItem などのコマンドを実行し、その内容が思考パネル内にまとめて表示されている。

これまでも、AI が実行したターミナルコマンド自体は表示されていましたが、
チャット本文の流れの中にそのまま出力されるため、
会話と実行ログが混在してやや見づらく感じる場面がありました。

本機能により、ターミナルツールの呼び出しが Thinking(思考)パネル内にまとめて表示されるようになり、

  • 実行されたコマンドの内容
  • 処理の開始・進行状況
  • ファイルサイズ計算などの裏側の作業

といった情報を、チャット本文を汚さずに確認できるようになります。

ツール実行失敗時にエラー詳細を自動展開(Auto Expand Failures)

VS Code 1.109 で追加された、 chat.tools.autoExpandFailures は、ツールの実行に失敗した場合に、その失敗内容を チャット UI 上で自動的に展開表示 するための設定です。

以前は、ツール呼び出しの詳細(Input / Output / エラーメッセージ)は折りたたまれて表示されていましたが、この設定を有効にすると、失敗時のみ それらの情報が即座に展開されます。

Chat › Tools: Auto Expand Failures を有効にした状態で、SQLite ツールの実行に失敗した際、エラー内容と入力内容がチャット UI 上で自動的に展開表示されている様子。ツール名、Input、Output、エラーメッセージが折りたたまれずに確認できる。
chat.tools.autoExpandFailuresをONにした右側の場合、エラー時の詳細が自動で展開されている

これにより、エラー時の詳細をクリック操作なしで確認できるようになります。

チャット内で Mermaid ダイアグラムを表示・操作できるように

チャットのレスポンス内で、renderMermaidDiagram ツールを使った Mermaid ダイアグラムの表示 ができるようになりました。
これにより、フローチャートやシーケンス図などを使って、処理の流れや構成を視覚的に説明できます。

表示されるダイアグラムは静的な画像ではなく、拡大・縮小や移動が可能なインタラクティブな図として扱えます。
複雑な構成でも、全体を俯瞰したり細部を確認したりしながら理解できます。

VS Code のチャット画面で、MCP ツールにより Mermaid 形式のダイアグラムがレンダリングされ、キャッシュアーキテクチャの構成が視覚的に表示されている様子。

Mermaid ダイアグラムでは、次の操作が可能です。

  • パン・ズーム
    Alt を押しながらマウスホイールやトラックパッドでズームできます。
    Alt を押したままドラッグすると、ダイアグラムを移動できます。

  • クリックでズーム
    Alt を押しながらクリックするとズームインします。
    Shift を併用するとズームアウトできます。

  • エディターで開く
    図の右上のボタンを使ってダイアグラムをフルサイズのエディターで開き、
    大きな図も見やすく表示できます。

  • ソースをコピー
    ダイアグラムを右クリックして Copy diagram source を選ぶと、
    Mermaid のソースコードをそのままコピーできます。

注意点

ダイアグラムが複雑になりすぎると、正しく表示されない場合があります。
今回の例でも、最初から詳細な図を指定すると表示されず、段階的に構成を簡素化することで表示できました

現時点(2026/2/8)では、Mermaid のすべての記法や規模に完全対応しているわけではなさそうです。
図が表示されない場合は、ノード数や構造を減らして再度試すと表示されることがあります。

Ask Questions ツール(実験的)

askQuestions ツールによって前提がはっきりしない場合でも、エージェントが推測で話を進めるのではなく、必要な確認事項をチャット上で質問できるようになりました。
この設定は github.copilot.chat.askQuestions.enabled で変更できます。

質問はチャット内にそのまま表示され、単一選択・複数選択・自由入力といった形式に対応しています。
回答を先に確定させてから次へ進められるため、要件が曖昧なまま実装に入るのを防ぎやすくなります。

VS Code のチャット画面で Ask Questions ツールが有効になり、拡張機能の対象ユーザーを選択するための質問が複数選択 UI として表示されている様子。

質問への回答は、マウス操作だけでなくキーボードでも行えます。
Up / Down キーで選択肢を移動したり、対応する番号を直接入力することも可能です。
途中で回答をやめたい場合は、Escape キーで残りの質問をスキップできます。

あわせて Plan エージェントも改善され、askQuestions ツールを使って実装前に認識のズレがないかを確認しながら計画を立てられるようになりました。
要件が固まっていない段階でも、確認→合意→計画という流れを作りやすくなります。

コンテキストウィンドウの使用状況を確認できるように

チャット入力欄に、コンテキストウィンドウの使用状況を示すインジケーターが表示されるようになりました。
これにより、モデルがどの程度のコンテキストを使っているのかを、やり取りしながら確認できます。

インジケーターにマウスカーソルを重ねると、System 指示、ツール定義、ユーザーメッセージなど、カテゴリごとのトークン使用量の内訳が表示されます。

VS Code のチャット画面で、Context Window インジケーターにホバーすると、System・User・Tool などカテゴリ別のトークン使用量が表示されている様子。

インラインチャット UX の刷新(プレビュー)

inlineChat.affordance

inlineChat.affordance が追加されました。
有効にすると、エディタでテキストを選択した際に、インラインチャットを起動するためのアイコン(アフォーダンス)が表示されます。

これにより、ショートカットを覚えていなくても、
「ここからインラインチャットを使える」ことが視覚的に分かるようになります。
アイコンの表示位置は設定によって切り替えられます。

gutter

行番号の左側(ガター)に、インラインチャット起動用のアイコンが表示されます。

VS Code のエディタで、テキスト選択時にガター(行番号横)にインラインチャット起動用のアイコンが表示されている様子。

editor

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

VS Code のエディタ内で、選択したコードの近くにインラインチャット起動用のアイコンが表示されている様子。

inlineChat.renderMode

inlineChat.renderMode が追加され、
インラインチャットをどのような形式で表示するかを選べるようになりました。

作業スタイルに合わせて、従来どおりの表示か、軽量な表示かを切り替えられます。

zone

選択したコードの下に、エディタの横幅全体を使ってインラインチャットが表示されます。
これまでのインラインチャットと同じ表示方式で、
複数のやり取りや長めの編集指示を行う場合に向いています。

VS Code のエディタで、インラインチャットがコード下のゾーン領域に横幅いっぱいで表示されている様子。

hover

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

VS Code のエディタで、インラインチャットがコード左側にホバー形式のポップアップとして表示されている様子。

モデルピッカーでモデルの詳細を確認できるように

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

VS Code のモデルピッカーで、モデル名にホバーすると速度やレートなどの詳細説明がツールチップとして表示されている様子。

ターミナルコマンド出力

よりリッチになったコマンドの表示内容

ターミナルツールで実行されるコマンドについて、
「何を実行するのか」「どこで実行されるのか」「何のためのコマンドか」 が分かりやすくなるよう、表示が改善されました。
これにより、実行前の確認や意図の把握がしやすくなっています。

インラインのシンタックスハイライト

ターミナルで実行されるコマンドに対して、
Node.jsPythonRuby のワンライナーコードにシンタックスハイライト が適用されるようになりました。

コード部分と引数・文字列の区別がつきやすくなり、実行内容を視覚的に把握しやすくなっています。

ターミナルツールで実行される Python のワンライナーコマンドにシンタックスハイライトが適用されている様子

作業ディレクトリの明示

cd コマンドを含む場合、
どのディレクトリ内でコマンドが実行されるのか が明示されるようになりました。

cd src && ... のようなコマンドでも、
実際の実行ディレクトリを一目で把握できます。

cd コマンドを含む場合に実行ディレクトリが確認ダイアログに表示される VS Code 1.109 の表示例(1.108 との比較)

コマンドの意図の説明

ターミナルに表示されたコマンドにマウスカーソルをホバーすると、
そのコマンドが何を目的としているのか(Explanation / Goal) が表示されるようになりました。

意図が分からないまま実行してしまうリスクを減らし、内容を理解した上で実行可否を判断できます。

ターミナル上の Remove-Item コマンドにマウスホバーした際に削除対象と目的の説明が表示されている様子

インタラクティブ入力

埋め込みターミナルが インタラクティブ入力に対応し、ターミナルにフォーカスした状態で直接キーボード入力ができるようになりました。
これにより、y/n の確認を行うスクリプトなど、ユーザー入力を必要とするコマンドも埋め込みターミナル上で実行できます。

入力待ちの状態では カーソルが表示されるため、処理が停止しているのではなく、入力を待っていることが視覚的に分かりやすくなっています。

一方で実際に使ってみると、入力待ちの行がターミナル下部で一部見切れて表示される場合がありました。
この状態ではスクロールしても見切れている部分は表示されず、入力プロンプト全体を確認できない点がやや気になります。

埋め込みターミナル上で確認スクリプトが y/n の入力待ちとなり、カーソルは表示されているが、入力待ちの行の一部が下部で見切れている様子

chat のすべての非表示ターミナルを削除

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

VS Code のターミナル一覧に「すべての非表示ターミナルを削除する」ゴミ箱アイコンが追加されている様子

なお、この操作で削除されるのは chat によって作成された非表示ターミナルのみであり、ユーザーが手動で作成した通常のターミナルが削除されることはありません

エージェント関連の変更点

エージェントタイプ間の切り替えと委譲

チャットに新しい セッションピッカー が追加され、エージェントの使い分けや引き継ぎが分かりやすくなりました。
新しいチャットを開始する際に、ローカル / バックグラウンド / クラウド など、利用したいエージェントタイプを選択できます。

また、進行中のセッションを別のエージェントタイプに引き継ぐことも可能です。
例えば、ローカル環境でタスクの整理や設計を行い、その内容を引き継いでクラウドエージェントで実装を進める、といった使い分けができます。

VS Code のチャットに新しいセッションピッカーが追加され、新規チャットの作成やローカル・バックグラウンド・クラウド間の切り替え、セッションの引き継ぎが選択できる画面

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

VS Code のキーボードショートカット設定画面で workbench.action.chat.newLocalChat コマンドが表示されており、新しいローカルチャットセッション用のショートカットを割り当てられる様子

なお、workbench.action.chat.newLocalChatコマンドを実行してもチャットが非表示の場合は表示されないようです。
ただチャットが非表示でも、内部的には新規チャットが開いている状態になっていました。
個人的には新規チャットを開いたらチャットも表示して欲しいですが、ここは体験が悪いので今後の更新で改善されるかもしれません。

Agent Sessions ビューの改善

Agent Sessions ビューが改善され、複数のセッションを扱う際の操作性と視認性が向上しました

並列表示時にセッションリストのサイズを変更可能

Agent Sessions を並列表示している場合、セッションリストの幅をドラッグ操作で自由に調整できるようになりました。
これにより、セッション名をしっかり確認したい場合や、逆に作業領域を広く取りたい場合など、用途に応じてレイアウトを調整できます。

Agent Sessions ビューでセッション一覧とチャット領域を並列表示した状態で、境界をドラッグしてセッションリストのサイズを変更できる様子

複数セッションを選択して一括操作を実行

セッション一覧で 複数のセッションをまとめて選択できるようになりました。
選択方法は一般的なリスト操作と同様で、次のように使い分けられます。

  • Shift キー:クリックした位置から、指定した位置までのセッションをまとめて選択
  • Ctrl キー:離れたセッションを個別に選択

これにより、不要になったセッションの整理や、対象セッションに対する操作を一括で実行でき、セッション数が多い場合でも効率よく管理できるようになりました。

Agent Sessions ビューで複数のチャットセッションがまとめて選択され、一括操作が可能になっている様子

エージェントステータスインジケーター

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

VS Code のコマンドセンター右上にエージェントステータスインジケーターが表示され、セッションの状態を示している様子

このインジケーターでは、以下のような セッションの状態 が視覚的に表示されます。

  • 実行中・処理中のセッション
  • 未読の更新があるセッション
  • 注意が必要な状態のセッション

インジケーターをクリックすると、Agent Sessions の一覧を素早く開くことができ
そのままフィルターを適用して対象のセッションだけを表示できます。

チャットボタンの改善

あわせて、コマンドセンターの チャットボタンの挙動も改善され、
クリック時の動作を設定から切り替えられるようになりました
chat.agentsControl.clickBehavior )。

コマンドセンターのチャットボタンにフォーカスが当たり、選択状態になっている様子

クリック時の動作は、次の 3 種類から選択できます。

default

デフォルトの動作です。
チャットビューの 表示 / 非表示を切り替えます。

cycle

クリックするたびに、次の順で状態が切り替わります。

  1. サイドバーに表示
  2. 最大化表示
  3. 非表示
focus

チャットビューにフォーカスし、最大化表示にします
この状態では、ボタンを再度クリックしても表示状態は切り替わりません。

ターミナルの改善

sticky scroll を選択的に無視

terminal.integrated.stickyScroll.ignoredCommands に指定したコマンドは、sticky scroll の対象から除外され、ターミナル上部にコマンドが固定表示されなくなります

この設定が役立つ具体例として、git log --onelineが挙げられます。

git log --onelineは、最新コミット(先頭行)だけをさっと確認したいときによく使われるコマンドです。
通常は、コマンド実行後にスクロールせずそのままqキーで終了すると、先頭行のコミットがそのまま表示された状態でターミナルに戻ります。

しかし sticky scroll によってコマンドが固定表示されるようになると、qで終了した直後に固定されたコマンド行が先頭行を上書きしてしまい、本来確認したかった最新コミットが隠れてしまってました。
このため、わずかではありますがスクロール操作が必要になり、地味ながらもストレスを感じる場面が増えていました。

今回追加されたignoredCommands設定を使えば、git log --onelineのように固定表示されることで表示に支障が出るコマンドを個別に除外できます。
これにより、終了後も先頭行のコミットが上書きされることなく表示され、意図どおりに内容を確認できるようになります。

terminal.integrated.stickyScroll.ignoredCommands に git log –oneline を追加し、q で終了したあとも先頭行のコミットが固定コマンドで上書きされずに表示されている様子

エディターの改善

ゴーストテキストの視認性向上

インラインサジェスション(ゴーストテキスト)で、連続する非空白文字が 5 文字未満の短いサジェスションが表示される場合、
その部分に 点線の下線 が表示されるようになりました。

この点線の下線は、エディター内にすでに存在するコードと、AI によるサジェスションを視覚的に区別しやすくするためのインジケーターです。

特に、

  • ), などの単一文字
  • 既存コードと見た目がほぼ同じで、気づきにくい補完

といったケースでも、ゴーストテキストと一目で分かるようになりました。

短いゴーストテキストに点線の下線が表示され、実際のコードとインラインサジェスションを区別できるようになっている様子

追記・更新について

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


スポンサーリンク

もふもふ

プロフィール

著者
もふもふ
プログラマ。汎用系→ゲームエンジニア→Webエンジニア→QAエンジニア。開発からテストまで一通り経験し、実際に詰まった点や検証結果を技術ブログとしてまとめています。