エージェント型開発を探求する -

2025年12月 (バージョン 1.108)

リリース日: 2026年1月8日

アップデート 1.108.1: このアップデートでは、以下の issue が修正されています。

アップデート 1.108.2: このアップデートでは、以下の issue が修正されています。

ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap


Visual Studio Codeの2025年12月リリースへようこそ。

Placeholder for release image

例年12月は、私たちのチームが全リポジトリにわたってGitHubのIssueやプルリクエストの整理に集中する時期です。今年は約6,000件のオープンIssueを削減し、さらに1,000件以上のトリアージを行いました。

ハウスキーピング作業に加え、VS Codeのさまざまな領域でいくつかの改善と機能アップデートを行いました。

ハッピーコーディング!


これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comアップデートにアクセスしてください。

Insiders: 新機能をいち早く試したいですか?
毎晩のInsidersビルドをダウンロードして、最新のアップデートが利用可能になり次第試すことができます。
Insiders をダウンロード

エージェント

エージェントスキル (実験的)

設定: chat.useAgentSkills VS Codeで開く VS Code Insidersで開く

VS Codeは新たに「エージェントスキル」をサポートしました。これにより、コーディングエージェントに新しい能力を教えたり、ドメイン固有の知識を提供したりできるようになります。エージェントスキルは、GitHub Copilotが必要に応じて読み込み、特定のタスクを実行するための指示、スクリプト、リソースを含むフォルダです。

スキルは、スキルの挙動を定義する SKILL.md ファイルを含むディレクトリに保存されます。VS Codeは、ワークスペース内の .github/skills フォルダ(後方互換性のため .claude/skills/ も可)からスキルを自動的に検出します。これらは、リクエストに関連がある場合にチャットコンテキストへオンデマンドで読み込まれます。

chat.useAgentSkills VS Codeで開く VS Code Insidersで開く 設定を有効にして、エージェントスキルのサポートを有効にしてください。

スキルの作成と使用に関する詳細は、エージェントスキルのドキュメントをご覧ください。

エージェントセッションビューの改善

今回のイテレーションでは、エージェントセッションビューに対していくつかの改善を行いました。

  • アーカイブ、状態の読み取り、セッションを開くなどのアクションに対するキーボードアクセスのサポート。
  • サイドバイサイド表示時の、状態と経過時間に基づくセッションのグループ化。
  • セッションに関連する変更済みファイルとPR情報の提供。
  • 新しいグループセクションから複数のセッションを一度にアーカイブするサポート。
  • 一般的なアクセシビリティの改善。

Screenshot of the Agent Sessions view showing changed files and associated pull requests for sessions.

注意: chat.viewSessions.orientation VS Codeで開く VS Code Insidersで開く 設定では、auto オプションは提供されなくなりました。代わりに sideBySide を使用してください。

チャット

チャットピッカーがエージェントセッションベースに

チャットセッションのクイックピックは、エージェントセッションビューを駆動するものと同じ情報に基づいています。そこから過去のあらゆるチャットセッションにアクセスし、アーカイブ、名前変更、削除などのアクションを実行できます。

Screenshot of the chat Quick Pick showing a list of agent sessions.

注意: エージェントセッションには、クイックオープンコントロール(⌘P(Windows、Linuxは Ctrl+P)で agent と入力することでもアクセスできます。

チャットタイトルの改善

チャットビューのタイトルコントロールが、アクティビティバーの設定に関係なく表示されるようになりました。以前は、デフォルトのアクティビティバー構成でのみ表示されていました。

セッション間をすばやく切り替えるには、チャットタイトルを選択してセッションのクイックピックを開き、別のセッションを選択してください。

Screenshot of the chat title control.

再起動時に空のチャットを開く

設定: chat.restoreLastPanelSession VS Codeで開く VS Code Insidersで開く

今後は、VS Codeの再起動時に過去のチャットセッションが自動的に復元されなくなりました。代わりに空のチャットビューが表示され、そこからエージェントセッションコントロールを介して過去のセッションにアクセスできるようになります。

この挙動を変更するには、 chat.restoreLastPanelSession VS Codeで開く VS Code Insidersで開く 設定を使用してください。

ターミナルツールの自動承認デフォルトルール

設定: chat.tools.terminal.enableAutoApprove VS Codeで開く VS Code Insidersで開く この設定は組織レベルで管理されています。変更については管理者に連絡してください。, chat.tools.terminal.autoApproveWorkspaceNpmScripts VS Codeで開く VS Code Insidersで開く

以下のコマンドは、ターミナルの自動承認が有効になっている場合、デフォルトで自動承認されるようになりました( chat.tools.terminal.enableAutoApprove VS Codeで開く VS Code Insidersで開く この設定は組織レベルで管理されています。変更については管理者に連絡してください。

  • git ls-files
  • git --no-pager <安全なサブコマンド>
  • git -C <ディレクトリ> <安全なサブコマンド>
  • rg (--pre および --hostname-bin を除く)
  • sed (一部の引数や使用パターンを除く)
  • Out-String

さらに、npmpnpm、または yarn を通じて実行されるnpmスクリプトは、package.json に含まれている場合、デフォルトで自動承認されるようになりました。これは、エージェントを使用すること自体に「ワークスペースの信頼(Workspace Trust)」が必要であるためであり、また機密ファイル(package.json など)をエージェントが編集しないように保護しているためです。これは chat.tools.terminal.autoApproveWorkspaceNpmScripts VS Codeで開く VS Code Insidersで開く で無効化できます。

自動承認に関する透明性を向上させるため、デフォルトまたはカスタムルールによってルールが明示的に拒否された場合に情報メッセージが表示されるようになりました。

Auto approval denied by rule will show after a denial

将来のターミナルツールコマンド向けのセッションおよびワークスペースルールの追加

「許可(Allow)」ドロップダウン内の許可されたコマンドやコマンドライン入力には、現在のセッションまたはワークスペースに対してそれらを許可するための対応するアクションオプションが追加されました。

Screenshot of the Allow dropdown in the Terminal tool showing options to allow commands for the current session or workspace.

シェル履歴への追加を防ぐターミナルツール

設定: chat.tools.terminal.preventShellHistory VS Codeで開く VS Code Insidersで開く

シェル統合が有効で動作している場合、ターミナルツールによって実行されるコマンドは、bash、zsh、pwsh、fishのシェル履歴に含まれなくなりました。この仕組みはシェルごとに異なりますが、例えばbashの場合、HISTCONTROL=ignorespace が設定され、実行されるコマンドの先頭にスペースが追加されます。

ターミナルツールのコマンドをシェル履歴に残したい場合は、 chat.tools.terminal.preventShellHistory VS Codeで開く VS Code Insidersで開く 設定で構成してください。

アクセシビリティ

アクセシブルビューでのチャット応答のストリーミング

アクセシブルビューが、チャットの応答を生成に合わせて動的にストリーミングするようになりました。以前は、更新された内容を確認するにはアクセシブルビューを閉じて再度開く必要がありました。これからはアクセシブルビューを開いたまま、入力されてくる出力を監視できるため、AIの応答をリアルタイムで追うのが非常に簡単になりました。

アクセシブルビューからMCPサーバーの出力を除外

ノイズを減らすため、MCP(Model Context Protocol)サーバーの出力はデフォルトでアクセシブルビューから除外されるようになりました。標準的なチャット出力は、スクリーンリーダーで扱いやすいテキストエリアに表示されるため、完全にアクセシブルなままです。

ウィンドウタイトルに言語ID変数

window.title 設定で、新しい ${activeEditorLanguageId} 変数を利用できるようになりました。 window.title VS Codeで開く VS Code Insidersで開く この変数は、現在アクティブなエディタの言語識別子を表示します。これは、適切な音声コマンドを有効にするために現在のプログラミング言語を判断する必要がある、Talonのようなアクセシビリティツールにとって有用です。

"window.title": "${activeEditorLanguageId} - ${activeEditorShort}"

エディターエクスペリエンス

ドラッグ&ドロップによるプロファイルのインポート

.code-profile ファイルをVS Codeにドラッグ&ドロップすることで、設定プロファイルをインポートできるようになりました。これにより、チームメイトとプロファイルを共有したり、新しい環境をすばやくセットアップしたりすることが容易になります。

ファイルをドロップするとプロファイルエディタが開き、プロファイルをプレビューしてインポートできます。これは、.code-workspace ファイルをドラッグ&ドロップしてワークスペースを開くのと同様の体験を提供します。

パンくずリスト(Breadcrumbs)パスのコピー

設定: breadcrumbs.symbolPathSeparator VS Codeで開く VS Code Insidersで開く

「パンくずリストのパスをコピー(Copy Breadcrumbs Path)」コマンドを使用して、パンくずリストのパスをクリップボードにコピーできるようになりました。シンボルの正確な場所をチームと共有する必要がある場合や、ドキュメンテーションの目的に役立ちます。

Screenshot of the Copy Breadcrumbs Path command.

breadcrumbs.symbolPathSeparator VS Codeで開く VS Code Insidersで開く 設定を使用すると、パンくずセグメントを結合するために使用される区切り文字をカスタマイズできます。

ワークスペース内のシンボルへ移動(Go to Symbol in Workspace)がクエリ内の特殊文字をサポート

「ワークスペース内のシンボルへ移動(Go to Symbol in Workspace)」(⌘T(Windows、Linuxは Ctrl+T)機能において、検索クエリに # 文字が含まれている場合にすべての結果が誤って除外されることはなくなりました。

この修正により、rust-analyzerのような言語拡張機能が、シンボル検索における修飾子として # を使用できるようになります。例えば、rust-analyzerでは、main# のようなクエリの末尾に # を付けることで、現在のワークスペース内の関数のみを検索できます。

コード編集

新しいスニペット変換

snakecasekebabcase という2つの新しいスニペット変換が利用可能になりました。使用方法は以下の通りです。

snake_case変換の場合

${TM_FILENAME/(.*)/${1:/snakecase}/}

ファイル名をsnake-case形式に変換します。例えば、MyFileName.txt から my_file_name.txt を作成します。kebab-case変換の場合は my-file-name.txt になります。

ソース管理

Git blame情報の詳細設定

設定: git.blame.ignoreWhitespace VS Codeで開く VS Code Insidersで開く , git.blame.editorDecoration.disableHover VS Codeで開く VS Code Insidersで開く

新しい git.blame.ignoreWhitespace VS Codeで開く VS Code Insidersで開く 設定では、Git blame実行時に空白文字の変更を無視するように設定できます。これはコードのフォーマット変更時などに特に便利で、単なる空白の調整ではなく、実際に機能的な変更を加えたコミットを特定するのに役立ちます。

さらに、 git.blame.editorDecoration.disableHover VS Codeで開く VS Code Insidersで開く 設定では、Git blameのエディタ装飾にカーソルを合わせたときに表示されるホバーツールチップを無効にできます。よりクリーンな編集環境を好み、インラインのblameアノテーションのみを表示したい場合に便利です。

エディタを使用したコミットメッセージの作成

以前、フルエディタを使用して コミットメッセージを作成する 機能を追加しましたが、コミットやキャンセルを行うアクションがエディタタイトルツールバーから見つけにくいという課題がありました。エディタ右下隅にあるエディタオーバーレイコントロールを改善し、これらのアクションをそこに移動させて使いやすくしました。

ソース管理リポジトリビューのWorktrees(実験的)

設定: scm.repositories.explorer VS Codeで開く VS Code Insidersで開く , scm.repositories.selectionMode VS Codeで開く VS Code Insidersで開く

このマイルストーンで、ソース管理リポジトリビューに「Worktrees」ノードを追加しました。このノードの下にはリポジトリのWorktreeリストが表示され、インラインアクションで新しいウィンドウでWorktreeを開くことができます。コンテキストメニューには、現在のウィンドウでWorktreeを開くアクションや、削除するアクションも含まれています。

Screenshot showing the Worktrees node in the Source Control Repositories view with a list of worktrees

実験的なリポジトリエクスプローラーを有効にするには、 scm.repositories.selectionMode VS Codeで開く VS Code Insidersで開く および scm.repositories.explorer VS Codeで開く VS Code Insidersで開く 設定を有効にしてください。ぜひ試してみて、他にリポジトリエクスプローラーで見たいリポジトリ成果物があれば教えてください。

VS Codeでのソース管理の使用について詳しく学びましょう。

ターミナル

ターミナルIntelliSenseのデフォルトUXのリワーク

過去2回のリリースで、ターミナルIntelliSenseをすべてのVS Code安定版ユーザーに展開しました。フィードバックの多くは肯定的でしたが、この機能が自身の筋肉記憶(習慣)を壊すと感じるユーザー(主にターミナルのパワーユーザー)も一定数いました。多くの議論の結果、デフォルト設定をいくつか切り替え、発見可能性を向上させ、機能のインライン設定を容易にすることにしました。

機能自体は引き続きデフォルトで有効ですが、入力中に自動的にコントロールが表示されるのではなく(クイック提案やトリガー文字での提案)、Ctrl+Space を使用して明示的にトリガーする必要があります。

また、下部の「ステータスバー」も改善しました。以前は左側に挿入、右側に「詳細/構成」とそのキーバインディングが表示されていました。これらが操作可能であることが明確でないというフィードバックを受けたため、現在は右側にアイコンを表示し、キーバインディングを表示しなくなりました。左側のアクションでは「選択モード」のオプションを切り替えることができるようになり、これによって TabEnter が表示されたときにどのように反応するかが決まります。右側には新しい目のアイコンがあり、クイック提案とトリガー文字での提案を再度有効にできます。

Screenshot of the suggest status bar showing buttons to configure selection mode and whether to show suggestions on type.

最後に、この強力な機能を押し付けがましくない形で発見しやすくするために、ターミナルを開いたときに提案の表示方法を説明するヒントが表示されます。このヒントのライフサイクルは簡略化されており、エディタの同様の機能と同様に、「表示しない」をクリックするだけで永続的に消すことができます。

Screenshot of the hint that shows when opening a terminal now explains how to trigger "show suggestions".

このUXのリワークに加え、ターミナルIntelliSenseに対して以下の改善も行われました。

  • macOS/Linuxで実行ビットがセットされたファイルが表示されるようになりました。
  • npm および git の補完を改善。
  • ファイルおよびフォルダの提案の検証を改善。
  • レイアウトのオーバーフローを防ぐため、提案詳細の高さに制限を設けました。
  • ターミナルビューが移動または配置変更された場合でも、提案が正しく動作することを確認しました。

パフォーマンスと安定性の改善

今回のリリースでは、ターミナルにいくつかの重要なパフォーマンスと安定性の向上が行われました。

  • node-pty#831: macOSおよびLinuxにおいて、一度に50文字以上を貼り付けたり、Copilotが大規模なコマンドを実行したりする場合の制限が解除され、本質的に即座に適用されるようになりました。これは他のターミナルと同様に、KB/MB単位のデータでも同様にスケーリングします。また、macOSで同様の操作を行った際に発生する可能性があったクラッシュも修正されました。
  • vscode#285031, vscode#285032, xterm.js#5548: エディタが遅くなる原因となっていた複数のレイアウトスラッシングの問題を修正しました。
  • vscode#239541: ターミナルでCommitMonoのようなフォントが構成されているときに発生する可能性があったクラッシュを修正しました。

より包括的なカスタムグリフ

ターミナルのGPUアクセラレーションレンダラー(デフォルトで有効)は、しばらくの間、罫線、ブロック要素、およびPowerline記号のサブセットに対してカスタムグリフをサポートしていました。これにより、フォントを構成しなくてもこれらの文字が表示され、行の高さや文字間隔に合わせてスケーリングし、互いに完全に整列するはずです。

今回のリリースでは、他のターミナルでサポートされているカスタムグリフの大部分を含めることで、サポートされる文字数を800近くにまで拡大しました。これには、ターミナルで一般的に有用な範囲が含まれます。具体的には以下の範囲です。

  • 罫線 (U+2500-U+257F)
  • ブロック要素 (U+2580-U+259F)
  • 点字パターン (U+2800-U+28FF)
  • Powerline記号 (U+E0A0-U+E0D4, 私用領域)
  • プログレスインジケーター (U+EE00-U+EE0B, 私用領域)
  • Gitブランチ記号 (U+F5D0-U+F60D, 私用領域)
  • レガシーコンピューティング用記号 (U+1FB00-U+1FBFF)

グリフのセット全体の視覚イメージは以下の通りです。

Screenshot of the complete set of about 800 custom glyphs now rendered without needing a font.

波線(Curly underlines)のレンダリング改善

VS Codeはしばらく前から 色付きおよびスタイル付きの下線 を解析・表示できていましたが、波線のレンダリングは常に改善の余地がありました。今後はエディタ内での表示に近い形で波線が表示されるようになります。

Screenshot of the terminal curly underline which is a lot more vivid now and has a zigzag look like in the editor.

試すには、bashで次のコマンドを実行してください: echo -e '\x1b[4:3mCurly\x1b[0m \x1b[4:3m\x1b[58;5;1mRed\x1b[0m'

リサイズ時の寸法オーバーレイ

ghostty の機能に触発され、ターミナルをリサイズしたときに現在のターミナル寸法(列 x 行)を示す短いオーバーレイを追加しました。テストやその他の目的で特定のサイズにリサイズしたい場合に便利です。

Screenshot of the overlay that appears in the middle of the terminal with the current columns and rows when a terminal resize happens.

新しいVT機能

ターミナルは以下のVT機能/シーケンスをサポートするようになりました。

  • 同期された出力(Synchronized output): アプリケーションがレンダリングを一時停止し、ターミナルの更新をバッチ処理するために使用できます。特にバッファ書き換え時にティアリングを防ぐのに役立ちます。

    • DECRQM (CSI ? 2026 $ p)
    • BSU (CSI ? 2026 h)
    • ESU (CSI ? 2026 l)
  • XTVERSION (CSI > 0 q): アプリケーションがターミナルの詳細をクエリできるようにします。現在VS Codeが提供する応答は「xterm.js」とそのバージョンです。

デバッグ

ファイルごとにブレークポイントを整理

設定: debug.breakpointsView.presentation VS Codeで開く VS Code Insidersで開く

ブレークポイントをファイルごとにグループ化されたツリーとして表示できるようになりました。 debug.breakpointsView.presentation VS Codeで開く VS Code Insidersで開く tree に設定して有効にしてください。

Screenshot showing the Debug view with breakpoints organized in a tree by file.

テスト

未カバー領域への移動

テストカバレッジツールバーに、未カバーのコード領域間を簡単に移動できるナビゲーションボタンを追加しました。テストカバレッジツールバーは、コマンドパレットの「Test: Show Coverage Toolbar」コマンドで切り替え可能です。

Screenshot showing the test coverage toolbar with navigation buttons to jump between uncovered regions.

拡張機能への貢献

GitHub Pull Requests

プルリクエストと課題の操作、作成、管理を可能にする GitHub Pull Requests 拡張機能にさらなる進歩がありました。新機能には次のようなものがあります。

  • プルリクエストの概要ウェブビューから、プルリクエストのベースブランチを変更する。
  • プルリクエストの概要ウェブビューから、オープン中のプルリクエストをドラフトに変換する。
  • 新しいPRだけでなく、既存のPRに対してもプルリクエストの説明を生成する。

リリースに関するすべての情報は、拡張機能の 0.126.0リリースの変更ログ を確認してください。

拡張機能の作成

プロンプトとリソースURIのための新しいQuick Pickプロパティ

Quick Pick APIには、インタラクティブな選択インターフェースを作成するための2つの新しいプロパティが含まれています。

QuickPickprompt プロパティを使用して、入力ボックスの下に永続的な指示テキストを表示できます。ユーザーの入力中もテキストが表示されるため、ガイドやコンテキストの提供に役立ちます。

const quickPick = vscode.window.createQuickPick();
quickPick.prompt = 'Select a file to open';
quickPick.items = items;
quickPick.show();

QuickPickItemresourceUri プロパティを使用して、リソースURIからアイテムプロパティを自動的に派生させることができます。提供された場合、VS Codeは以下を導き出します。

  • ファイル名から label を取得(空文字に設定されている場合)
  • ファイルパスから description を取得(undefined または空文字に設定されている場合)
  • 現在のファイルアイコンテーマから icon を取得(iconPathThemeIcon.File または ThemeIcon.Folder に設定されている場合)

これは、ファイルやフォルダの選択インターフェースを構築する際に便利です。

const items: vscode.QuickPickItem[] = [
  {
    label: '',
    resourceUri: vscode.Uri.file('/path/to/app.ts'),
    iconPath: vscode.ThemeIcon.File
  },
  {
    label: '',
    resourceUri: vscode.Uri.file('/path/to/src'),
    iconPath: vscode.ThemeIcon.Folder
  }
];

エンジニアリング

ハウスキーピング

毎年恒例の12月のハウスキーピングの一環として、保守している全リポジトリにわたりGitHubのIssueとプルリクエストの整理に多くの時間を費やしました。今年は 5,951件のオープンIssueを削減し、さらに1,203件のIssueをトリアージ しました。

Graph showing the overall issues for all VS Code managed repositories.

Graph showing the total amount of open issues closed during housekeeping.

Graph showing the total amount of unknown issues triaged during housekeeping (excluding closed issues).

改善されたトリアージツールと重複排除プロセスを使用することで、かなりの数の古いIssueや解決済みのIssueをクローズできました。これにより、プロジェクトがより管理しやすくなり、ユーザーに最も影響のある機能を開発していくことが可能になりました。主要なVS Codeリポジトリだけでも、2,872件のIssueをクローズし、1,697件のIssueをトリアージしました!

Issue graph for microsoft/vscode.

2025年6月には、Copilotがオープンソース化されたことも発表しました!これは、関連するすべてのIssueもmicrosoft/vscodeリポジトリに提出されることを意味し、microsoft/vscode-copilot-releaseに残っていたバックログの対応も必要でした。今月は、リポジトリ内のすべてのIssueをトリアージし、1,659件をクローズして、移行待ちのオープンIssueは175件のみとなりました。

Issue graph for microsoft/vscode-copilot-release.

以下は、コアvscodeリポジトリが長年にわたってどのように成長し、私たちの素晴らしいコミュニティがどれだけのIssueに貢献してきたかを示すグラフです。長年にわたってリポジトリにIssueを提供し、私たちと関わり続けてくださったすべての方に感謝いたします。皆さんのフィードバックこそが、VS Codeを今日の製品に育ててくれたのです! 🚀

Graph showing historical issue data for microsoft/vscode from 2018 to present.

TypeScriptによる拡張機能の作成 (実験的)

ビルドステップを必要とせずに、TypeScriptで直接VS Code拡張機能を作成できるようになりました。これは動作しますが、まだ少し冒険的な部分があります!テストの作成・実行方法、拡張機能の公開方法、その他のワークフロー上の考慮事項など、多くの側面がまだ未検証です。

この実験的なアプローチの詳細は、GitHubのこちらのコメント をご覧ください。

注目すべき修正

  • vscode#283356 - 一部のチャット出力をスクロールする際に発生していた不要なジャンプの原因となる回帰を修正。

ありがとうございます

vscodeへの貢献

vscode-copilot-chat への貢献

vscode-js-profile-visualizer への貢献

イシュートラッキング

イシュートラッキングへの貢献


新機能をすぐに試していただくことに感謝しています。頻繁にチェックして、新機能について学んでください。

以前の VS Code バージョンのリリースノートを読むには、code.visualstudio.comUpdates にアクセスしてください。

© . This site is unofficial and not affiliated with Microsoft.