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

2025年10月 (バージョン 1.106)

リリース日: 2025年11月12日

アップデート 1.106.1: このアップデートでは、以下の issue に対応しています。

アップデート 1.106.2: このアップデートでは、以下の issue に対応しています。

アップデート 1.106.3: このアップデートでは、以下の issue に対応しています。

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


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

Graphic showing the key highlights of the October 2025 release: Agent HQ, Security and trust, and great editor experience.

今回のリリースでは、主に3つの分野で重要なアップデートが行われました。

  • Agent HQ は、ローカルかリモートか、あるいはCopilotかOpenAI Codexかに関わらず、エージェントセッションを開始、監視、レビューするための統合ビューです。
  • セキュリティと信頼性により、管理を維持しながら、より多くのタスクをAIに自信を持って委任できるようになります。
  • 優れたエディター体験により、日常のコーディングをよりスムーズかつ快適に行えるようになります。

VS Code 1.106 リリースハイライト動画をご覧になり、エンジニアによる機能解説をご確認ください!

ハッピーコーディング!


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

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

エージェント

エージェントセッション(Agent Sessions)ビュー

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

さまざまなコーディングエージェントにタスクを委任する際、アクティブなすべてのセッションを明確に把握しておくことが重要です。「エージェントセッション」ビューは、アクティブなチャットセッションを管理するための集約された場所を提供します。これには、VS Code内のローカルセッションだけでなく、CopilotコーディングエージェントGitHub Copilot CLIOpenAIのCodexなど、他の環境のバックグラウンドエージェントによって作成されたセッションも含まれます。「エージェントセッション」ビューはデフォルトで有効になっており、 chat.agentSessionsViewLocation Open in VS Code Open in VS Code Insiders 設定で管理できます。

デフォルトでは、「エージェントセッション」ビューはアクティブなすべてのチャットセッションをソース別に整理してリスト表示します。ビューは、VS Code内のローカルチャットセッションとバックグラウンドエージェントのセッション用のセクションに分割されています。

Screenshot of the Agent Sessions view in the Primary Side Bar, showing a view for local chat sessions, and coding agents like Copilot coding agent, Copilot CLI and Codex.

すべてのプロバイダーのセッションを統合した1つのビューにしたい場合は、 chat.agentSessionsViewLocation Open in VS Code Open in VS Code Insiders 設定で `single-view` オプションを有効にできます。このオプションにより、「エージェントセッション」ビューがセカンダリサイドバーのチャットビューの隣に移動し、チャットとセッション管理の切り替えが容易になります。

現時点ではすべての機能が統合ビューで使用できるわけではありません。近い将来、このビューをデフォルトにするべく取り組んでいます。

「エージェントセッション」ビューは検索機能もサポートしました(⌥⌘F (Windows, Linux Ctrl+Alt+F))。リストからセッションを簡単に検索できます。

エージェントセッションビューの詳細については、VS Codeのドキュメントをご覧ください。

エージェントを計画する

新しいプランエージェントは、コードが書かれる前に複雑なタスクをステップごとに分解する手助けをします。使い始めるには、チャットビューのエージェントドロップダウンから Plan を選択します。マルチステップの実装に取り組む際、VS Codeが確認の質問を促し、承認が必要な詳細な実装計画を生成します。これにより、すべての要件とコンテキストが事前に確実に把握されます。

実装前に時間をかけて計画を反復することをお勧めします。要件の精査、スコープの調整、未解決の質問への対処を複数回行うことで、強固な基盤を構築できます。計画を承認すると、CopilotはVS Code内でローカルに、またはクラウドエージェント経由で実装を実行し、開発プロセスにおける可視性と管理能力が向上します。これにより、ギャップや決定漏れを早期に発見でき、手戻りを減らし、コードの品質を向上させることができます。

また、チーム固有のワークフローやツールに合わせた独自のカスタムプランエージェントを作成することも可能です。Configure Custom Agent メニューを使用して組み込みのプランエージェントをコピーして開始し、計画スタイル、ツール、プロンプトをカスタマイズして開発プロセスに適合させます。VS Codeチャットでのプランニングおよびカスタムエージェントの作成の詳細をご覧ください。

クラウド エージェント

今回のリリースでは、エディター内のクラウドエージェントセッションに対して多くのアップデートを行いました。

よりネイティブなクラウドエージェント体験をVS Codeで提供するため、GitHub Pull Request拡張機能にあったCopilotコーディングエージェントの統合をCopilot Chat拡張機能へ移行しました。この統合により、VS CodeとGitHub Mission Control間のスムーズな移行とやり取りが可能になり、たとえばブラウザ上の「エージェントセッション」ビューから直接クラウドエージェントセッションを開くといったことが可能になります。

CLIエージェント

今回のリリースでは、Copilot CLIとの初期統合も出荷しました。チャットエディターまたは統合ターミナルで、新しいCLIエージェントセッションの作成や既存のセッションの再開が可能です。

Screenshot of the CLI dropdown menu showing options to create a new CLI agent session or resume an existing one.

CLIエージェントエディターでは、ターミナルと同じようにCopilot CLIへメッセージを送信したり、モデルの切り替えやコンテキストの追加を行ったりできます。

Screenshot showing a CLI agent editor and an integrated terminal with Copilot CLI sessions.

エージェントの委任(Agent delegation)

クラウドエージェントへの委任体験の改善を続けています。

チャットパネルからクラウドボタンを使用してエージェントに委任する場合、委任可能なエージェントのセットが提供されます。CLIエディターまたはターミナルインスタンスで `/delegate` コマンドを使用することで、CLIからCopilotコーディングエージェントへ委任することも可能です。

Screenshot showing delegating from a CLI agent editor.

CLIエージェントの編集追跡

チャット編集セッションは、Copilot CLIのようなバックグラウンドエージェントによる編集を追跡するようになりました。「エージェントセッション」ビューからセッションを作成すると、インライン編集のピルと作業セットビューの両方を通じて追跡された編集内容を確認でき、エージェントがワークスペースにどのような変更を加えているかを把握しやすくなります。

チャットモード(Chat modes)をカスタムエージェント(custom agents)に名称変更

他の環境で使用されている用語と整合性をとるため、VS Code全体で「チャットモード」を「カスタムエージェント」に名称変更しました。

Screenshot of the agent picker control.

カスタムエージェントを作成すると、定義ファイルがワークスペースの `.github/agents` に配置されるようになりました。これらのファイルには `.agents.md` サフィックスを使用でき、GitHub Copilot Cloud AgentsおよびCLI Agentsとしても使用可能です。

新しいエージェントを作成するには Chat: New Custom Agent... を、管理するには Chat: Configure Custom Agents... を使用してください。

既存のカスタムチャットモード(`.github/chatmodes` 内の `.chatmode.md` ファイル)は引き続き動作し、自動的にカスタムエージェントとして扱われます。エディターでチャットエージェントファイルを開くと、最初の行にインフォマーカーが表示され、カスタムエージェントファイルへの移行を行うクイックフィックスが利用できます。

カスタムエージェントのメタデータ

カスタムエージェントの `.agent.md` ファイルは、エージェントが環境間でどのように動作すべきかを記述するために、追加の `target` フロントマタープロパティを受け入れるようになりました。

  • `target: vscode`: エージェントをローカルチャット向けに最適化し、`name`、`description`、`argument-hint`、`model`、`tools`、`handoffs` プロパティを有効にします。VS Codeにインストールされているあらゆるツールが使用可能です。
  • `target: github-copilot`: `name`、`description`、`tools`、`mcp-servers`、`target` をサポートし、CopilotクラウドエージェントまたはGitHub CLI向けにエージェントを準備します。ツールには `edit`、`search`、`shell`、`custom-agent`、およびMCPサーバーのツールを指定できます。

すべてのエージェントはすべての環境で実行可能です。各環境は不明な属性やツールを無視します。

  • `name`: ファイル名を変更することなくエージェントラベルをオーバーライドできます。
  • `argument-hint`: チャット入力欄にガイダンスを表示し、チームメンバーがエージェントに対してどのようにプロンプトを送るべきかを知らせます。
  • `handoffs`: 他のエージェントへのガイド付き遷移を配線し、マルチステップのワークフローを連鎖させることができます。

エージェントファイルエディターは、検証、コード補完、ホバー、コードアクションを提供します。

GIF of validation while editing custom agent files.

カスタムエージェントとエージェントのハンドオフの詳細については、ドキュメントをご覧ください。

コード編集

差分エディターで削除されたコードが選択可能に

以前は、コードを削除して差分エディターで変更を確認する際、削除された行をコピーできませんでした。今回のリリースでは、インライン差分ビューを使用している場合、削除された行のテキストを選択してコピーできるようになりました。

インラインサジェストがオープンソース化

このリリースは、VS CodeをオープンソースのAIエディターにするという我々の旅を前進させるものです。GitHub Copilot Chatのオープンソース化という最初のマイルストーンに続き、今回はインラインサジェストをvscode-copilot-chatリポジトリにマージすることでオープンソース化しました。

このマイルストーンの一環として、GitHub Copilot拡張機能とGitHub Copilot Chat拡張機能を単一の拡張機能体験に統合しています。Chat拡張機能はすべてのインラインサジェストを提供するようになり、使い慣れたインテリジェントなコード提案を提供しながら、すべてのチャットおよびエージェント機能を維持します。この変更は透過的なもので、タイピング中にはこれまでと同じコード提案を受け取り続けるはずです。問題が発生した場合は、 chat.extensionUnification.enabled Open in VS Code Open in VS Code Insiders 設定を使用して一時的に元に戻すことができます。

GitHub Copilot拡張機能は2026年初頭までに非推奨となる予定です。このマイルストーンの詳細とオープンソースコードについては、ブログ記事をご覧ください。

ガターからインラインサジェストをスヌーズ

ガターアイコンから直接インラインサジェストをスヌーズできるようになりました。ガターアイコンにホバーすると、Snooze オプションが表示されます。これを選択して期間を指定すると、提案を一時停止できます。

Screenshot showing the Snooze button in the gutter context menu for inline suggestions.

「行に移動」機能の改善

今回の反復作業では、行に移動 コマンド(⌃G (Windows, Linux Ctrl+G))にいくつかの機能強化を加え、ファイル内のナビゲーションを改善しました。

行に移動 コマンドは、`::` 構文を使用してファイル内の特定の文字位置への移動をサポートするようになりました。これは、「599番目の位置でエラー」のように、ツールが特定の文字オフセットでエラーを報告する場合に便利です。

文字オフセットへ移動するには、行に移動 入力ボックスに `::` とそれに続く文字数を入力します。例:

  • `::599` - ファイル内の599文字目に移動
  • `::-100` - ファイルの末尾から100文字手前に移動

入力ボックスのトグルを使用して、1ベース(デフォルト)と0ベースのオフセット計算を切り替えてください。

さらに、行に移動 コマンドは範囲外の値をより適切に処理し、ファイルの先頭や末尾、行頭や行末への移動が容易になりました。

  • 行番号: ファイルの行数より大きい行番号を入力すると、最後の行に移動します。
  • 列番号: 負の列番号を使用すると、行末から移動します。たとえば `:12:-1` は12行目の最後の文字に移動します。行の長さより大きい列番号を入力すると、その行の最後へ移動します。

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

刷新されたアイコン

今回のリリースでは、Codiconアイコンセットを刷新しました。新しいアイコンは曲線、新しい修飾デザイン、より正確なメタファーを用いて調整されており、モダンで親しみやすく、視認性が高まっています。

Screenshot of updated product icons showing a more modern appearance and increased legibility.

Linuxのポリシーサポート

JSONファイルを使用してLinuxシステム上でVS Codeポリシーを管理するサポートを導入しました。これにより、管理者はLinuxマシン上のすべてのユーザーに対して特定の設定や構成を強制できます。

詳細については、LinuxでのJSONポリシーをご覧ください。

マルチファイル差分エディターでの変更箇所移動

単一ファイルの差分エディターで次や前の変更箇所へ移動できるように、マルチファイル差分エディターでもファイル間をまたいで移動できるようになりました。キーボードショートカットや上下矢印キーを使用して、ファイル全体の変更内容を確認できます。

診断ホバーテキストのコピー

診断ホバー(エラー、警告、情報、ヒント)にコピーボタンが表示されるようになり、エラーメッセージのコピーが容易になりました。診断マーカーにホバーした状態でマウスをホバーメッセージ上に移動すると、右上にコピーボタンが表示されます。

Screenshot of hovering over a diagnostic hover revealing a copy button in the top-right corner.

アクセント記号を区別しないコマンドフィルタリング

コマンドパレットがコマンド検索時に文字のアクセント記号を無視するようになり、キーボードレイアウトや言語設定に関係なく目的のコマンドを簡単に見つけられるようになりました。たとえば、`Générer`(フランス語で「生成」)を含むコマンドを検索する際、アクセントなしで `generer` と入力すれば、該当するコマンドが結果に表示されます。

これは、異なるキーボードレイアウトを使用している場合や、コマンドを探す際に入力ミスをした場合に役立ちます。フィルタリングは Unicode 正規化形式 D に基づいており、すべてのUnicode言語をサポートしています。

VS Codeの高度な設定

VS Codeは「高度な設定」という概念をサポートしました。これらの設定は特殊なシナリオを構成するためのもので、環境を詳細に制御する必要がある上級ユーザーを対象としています。デフォルトでは、高度な設定は設定エディターで非表示になっており、インターフェースをすっきりと保ちつつ、必要なときに強力なオプションが利用できるようになっています。

高度な設定を表示および構成するには、設定エディターのフィルタードロップダウンメニューから Advanced を選択するか、検索ボックスに `@tag:advanced` と入力してください。

Screenshot showing the Settings editor with the Advanced filter applied, displaying advanced settings with the Advanced tag badge

設定を正確な名前で検索したり `@id:` フィルターを使用したりする場合、高度な設定は Advanced フィルターを適用しなくても結果に表示されます。これにより、必要な設定を常に見つけることができます。

高度な設定は `@modified` や `@feature:` などの他のフィルターと組み合わせて使用できます。たとえば `@tag:advanced @feature:terminal` と入力すると、ターミナルに関連する高度な設定のみが表示されます。

注: 拡張機能の作成者は、設定構成に `advanced` タグを追加することで、自分の設定を「高度」としてマークできます。

チャット

埋め込みベースのツール選択

今回のリリースでは、チャットで多数(100以上)のツールを有効にしているユーザー向けに、ツールのフィルタリングとグループ化の方法を大幅に改善しました。「ツール選択を最適化中...」というローディング状態が発生する頻度が減り、時間も短縮されます。また、エージェントの混乱の可能性を低減するようツール選択を改善し、適切なツールが確実に選ばれるようにしました。

ツールの承認と信頼

外部データに対する事後承認

外部データを取り込むエージェントツールが事後承認をサポートしました。これにより、チャットセッションで使用される前にデータを確認できるようになり、プロンプトインジェクション攻撃に対する保護を強化します。

事後承認は `#fetch` ツールおよび `openWorldHint` を宣言するModel Context Protocol (MCP) ツールで有効になっています。

サーバーまたは拡張機能のすべてのツールを信頼する

「許可」ボタンのドロップダウンから、ソースレベルでMCPサーバーや拡張機能ツールを信頼できるようになりました。これにより、ツールごとに個別に承認するのではなく、特定のMCPサーバーや拡張機能からのツールを一度にすべて承認できます。

また、**Chat: Manage Tool Approval** コマンドの体験を更新し、ツールの事前承認と事後承認の両方を管理できるようにしました。

Screenshot of the Manage Tool Approval command experience, enabling tools to skip approval and skipping content review.

ツール自動承認ステータスの移動

自動承認のステータスは、チャットビュー内からツール呼び出しステータス/チェックアイコンへ移動しました。

Screenshot of hovering a tool's tick icon will reveal why it was auto approved

ターミナルツール

自動承認パーサーの改善

以前は、ターミナルツールでのサブコマンド検出は `|` や `&&` などの特定の文字列で分割するという単純なアプローチをとっていました。これはいくつかの点で失敗しており、特に `echo "a|b|c"` のような文字列内のパイプなどが、サブコマンド `echo`、`b`、`c"` として検出されるといった大きな問題がありました。また、確実にサブコマンドを抽出できなかったため、安全を期して括弧のペア、波括弧のペア、バッククォートを完全に禁止していました。

今回のリリースでは、この機能にパーサーを統合し、PowerShell文法やbash文法(その他は別の文法)を使用するようにしました。そのため、非常に複雑なケースでも正しく抽出できるはずです。

Screenshot of detecting "$()" inside echo calls.

* 注意: これは、zshの `;` のようにシェル構文がbashと異なる場合にサブコマンドを捉え損なう可能性があることを意味します。

ファイル書き込み/リダイレクト検出(実験的)

新しいパーサーのおかげで、リダイレクトを介したファイル書き込みをかなり確実に抽出できるようになりました。新しい実験的な設定 chat.tools.terminal.blockDetectedFileWrites Open in VS Code Open in VS Code Insiders が追加され、自動承認を条件付きでブロックできるようになります。

Screenshot showing that writing outside the workspace by default will block auto approval.

デフォルトの自動承認ルールを無効化(実験的)

新しい実験的な設定 chat.tools.terminal.ignoreDefaultAutoApproveRules Open in VS Code Open in VS Code Insiders により、デフォルトルール(許可および拒否ルール)を無効にできます。これは、デフォルトを確認することなく詳細な制御を行いたい場合に便利です。

シェル固有のプロンプトとコマンドの書き換え

ターミナルツールは、PowerShell、bash、zsh、fishそれぞれのシェル固有の説明を持つようになりました。これにより、エージェントが推奨するコマンドがより信頼できるものになり、特にPowerShellでの失敗が減少するはずです。

これに加えて、Windows PowerShell (v5) では `&&` チェーン演算子がサポートされていないため、PowerShell用に `&&` を `;` に書き換える処理も行います。なお、vscode#274548 が対応されるまでの間は、PowerShell 7でも一時的にこれが行われます。

ターミナルコマンドをチャットに添付

コマンドデコレーションのコンテキストメニューから、ターミナルコマンドをコンテキストとしてチャットに添付できるようになりました。コマンドライン、キャプチャされた出力、終了コードが共有されるため、何が起こったのかをエージェントが正確に理解できます。これはシェル統合によって追跡されるすべてのコマンドに適用されるため、テキストをコピー&ペーストすることなくトラブルシューティングの規模を簡単に拡大できます。

チャット内でターミナル出力を表示(実験的)

新しい chat.tools.terminal.outputLocation Open in VS Code Open in VS Code Insiders 設定で、出力をどこに表示するかを制御します。デフォルトの `none` 値は、パネルをターミナルで散らかさないようにします。

すべてのチャットターミナルの呼び出しにおいて、進捗要素上に2つのアクションが表示されるようになりました。

  • Show Terminal: 非表示のセッションを表示してフォーカスします。リッチなシェル統合が有効な場合、関連するコマンドまで直接スクロールします。シェル統合が基本レベルか無効な場合、アクションは正しいターミナルタブにフォーカスします。
  • Show Output: ターミナルの最終出力をチャットビュー内にインラインで開きます。コマンドが0以外のコードで終了した場合、出力ビューは自動的に展開されます。

`npm i` が失敗した場合、出力が自動的に展開されます。ターミナルは **Show Terminal** インラインアクションで表示されます。

非表示のチャットターミナルを発見(実験的)

`setting(chat.tools.terminal.outputLocation):none` の場合、非表示のチャットターミナルが少なくとも1つ存在すると、ターミナルタブビューに新しい X hidden terminal(s) ボタンが表示されます。これを押すと、各チャットターミナルとそのチャットセッションがリストされたクイックピックが開き、正しいプロセスに即座にフォーカスできます。同じピッカーがターミナルのオーバーフローメニューの View Hidden Chat Terminals からも利用可能で、すべてのチャットターミナルが表示されると消えます。

エージェントが実行した `ls -la` が成功すると、出力は折りたたまれます。タブビューから **hidden terminal** アクションを選択すると、ターミナルが選択・表示され、コマンドをハイライトする位置までスクロールされます。

会話をプロンプトとして保存

`/savePrompt` コマンドを使用して、チャットの会話を再利用可能なプロンプトとして保存できるようになりました。アクティブなチャットセッションで `/savePrompt` を呼び出すと、VS Codeは会話に基づいた汎用化されたプロンプトを含むプロンプトファイルを生成します。エディターに青いボタンが表示され、ユーザーレベルまたはワークスペースレベルの適切な場所に保存できます。

Screenshot of the Save prompt button in the editor.

この機能は以前の `/save` コマンドを置き換えるもので、有用な会話パターンをキャプチャして共有するためのより合理的なワークフローを提供します。生成されたプロンプトは、将来のチャットセッションで簡単に再利用したり、チームと共有したりできます。カスタムプロンプトファイルの詳細をご覧ください。

ウェルカムプロンプトを編集

チャットウェルカムビューで推奨プロンプトを右クリックすることで、追加のアクションにアクセスできるようになりました。プロンプトを右クリック(または Shift+F10 を押下)すると、Edit Prompt File オプションを含むコンテキストメニューが表示され、エディターで直接対応するプロンプトファイルを開くことができます。

プロンプトファイルの編集は、関連ファイルを持つプロンプトに対して機能します。これにはユーザー定義プロンプトや、 chat.promptFilesRecommendations Open in VS Code Open in VS Code Insiders 設定で構成されたプロジェクト固有のプロンプトが含まれます。

Screenshot of a context menu for a suggested prompt.

カスタムプロンプトファイルの詳細をご覧ください。

編集されたファイルを自動的に開く

設定: chat.openEditedFilesAutomatically Open in VS Code Open in VS Code Insiders

エージェントのデフォルト動作を変更し、編集されたファイルを自動的にエディターで開かないようにしました。以前の動作を希望する場合は、設定 accessibility.openChatEditedFiles Open in VS Code Open in VS Code Insiders を有効にしてください。

推論(Reasoning)(実験的)

設定: chat.agent.thinkingStyle Open in VS Code Open in VS Code Insiders , chat.agent.thinking.collapsedTools Open in VS Code Open in VS Code Insiders

前回のイテレーションで追加した chat.agent.thinkingStyle Open in VS Code Open in VS Code Insiders 設定は、チャットで思考トークンを表示可能にするものでした。これがより多くのモデルで利用可能になりました!今回のリリース時点で、GPT-5-Codex、GPT-5、GPT-5 mini、Gemini 2.5 Proがこれをサポートしています。

chat.agent.thinkingStyle Open in VS Code Open in VS Code Insiders は、より一般的な3つのスタイルに調整され、デフォルトとして最新の思考チェーンを表示する `fixedScrolling` が採用されました。

追加の設定である chat.agent.thinking.collapsedTools Open in VS Code Open in VS Code Insiders は、ツール呼び出しを折りたたみ可能な思考UIに追加します。

Screenshot showing reasoning tokens displayed in chat with interleaved tool calls and reasoning output. This is the UI with  and  for the respective thinking settings.

インラインチャット v2 (プレビュー)

設定: inlineChat.enableV2 Open in VS Code Open in VS Code Insiders

インラインチャットの刷新に向けた取り組みを強化しました。以下の目的で構築されています:

  • 単一プロンプト、
  • 単一ファイル、
  • そしてコード変更専用

これにより、全体的な体験がより軽快になり、UIも簡素化されます。扱えないタスクについては、自動的にチャットビューへアップグレードされます。

チャットビューのUX向上

チャットビューをより快適に使用できるよう、いくつかの部分を調整しました。

  • 新しいチャットを作成するアクションが、エディター内で作成するか、新しいウィンドウで作成するかを選択できるドロップダウンになりました。
  • ツールとMCPサーバーのアクションを、モデルピッカーのすぐ隣に移動しました。
  • 構成ドロップダウンを整理しました。

Screenshot of the action to create a new chat dropdown menu.

チャットビュー内で数式を右クリックして、数式のソースをコピーできるようになりました。

MCP

組織向けのMCPサーバーアクセス

設定: chat.mcp.gallery.serviceUrl Open in VS Code Open in VS Code Insiders この設定は組織レベルで管理されています。変更については管理者にお問い合わせください。, chat.mcp.access Open in VS Code Open in VS Code Insiders この設定は組織レベルで管理されています。変更については管理者にお問い合わせください。

VS Codeが、GitHub組織ポリシーを通じて構成されたMCPレジストリをサポートしました。これにより、組織はカスタムMCPレジストリをセットアップし、どのMCPサーバーをインストールおよび起動できるかを制御できます。

組織のポリシーでMCPレジストリエンドポイントが構成されている場合、VS Codeは以下の動作を行います。

  • 構成されたレジストリからのMCPサーバーのブラウジングとインストールを提供
  • アクセス制限が有効な場合、レジストリ内で利用可能なサーバーのみにMCPサーバーの起動を制限

組織がこれらのポリシーを構成している場合、 chat.mcp.gallery.serviceUrl Open in VS Code Open in VS Code Insiders この設定は組織レベルで管理されています。変更については管理者にお問い合わせください。 設定はMCPレジストリエンドポイントのURLを指定し、 chat.mcp.access Open in VS Code Open in VS Code Insiders この設定は組織レベルで管理されています。変更については管理者にお問い合わせください。 設定は、アクセスをそのレジストリ内のサーバーのみに制限するかどうかを制御します。これらの設定は設定エディターで "(Managed by organization)" と表示されます。

Screenshot showing MCP settings managed by organization policy, including the Gallery Service URL and Access control settings

組織や企業でのMCPサーバーアクセスの構成の詳細については、MCPサーバーアクセスの構成をご覧ください。

ワークスペース構成へMCPサーバーをインストール

MCPサーバーをインストールする際、グローバルまたはワークスペース構成のどちらにインストールするかを選択できるようになりました。拡張機能ビューでMCPサーバーを右クリックしてコンテキストメニューから Install (Workspace) を選択するか、MCPサーバーエディター内で直接 Install (Workspace) アクションを使用します。これにより、現在のワークスペースの `.vscode/mcp.json` ファイルにMCPサーバーが追加され、チームとMCPサーバーを共有しやすくなります。

Screenshot showing the context menu for an MCP server with the Install (Workspace) option highlighted

認証: Client ID Metadata Document 認証フロー

リモートMCPの認証サポートが Client ID Metadata Document (CIMD) 認証フローをサポートしました。これはMCPにおけるOAuthの将来の標準です。このフローは、認可サーバーがクライアントごとにクライアントIDを発行する必要がないため、Dynamic Client Registration (DCR) よりも安全でスケーラブルな認証ソリューションを提供します。

CIMDをサポートする認可サーバーを使用するMCPサーバーに接続する場合、VS Codeは自動的にDCRよりもこのフローを使用します。

CIMDの詳細については、oauth.netのリソースをご覧ください。

認証: `WWW-Authenticate` スコープ昇格

リモートMCPの認証サポートが、リモートMCPサーバーに対する `WWW-Authenticate` ヘッダーを介した動的なスコープ昇格をサポートしました。これは OAuth 2.0仕様 で言及されています。これにより、MCPサーバーは事前にすべてのスコープを要求するのではなく、必要に応じて追加の権限を要求できます。たとえば、サーバーへの接続には最小限のスコープセットが必要な場合でも、特定のツール呼び出しのみがより広い権限を要求するといったことが可能です。これは最小特権の原則に従うことで、より良いセキュリティを提供します。

これは現在、まもなく完了予定の MCP仕様の最新ドラフト で言及されています。

アクセシビリティ

音声タイムアウトはデフォルトで無効

設定 accessibility.voice.speechTimeout Open in VS Code Open in VS Code Insiders がデフォルトで `0` に変更されました。これは、音声セッションが特定の遅延後に自動的に終了しないことを意味します(たとえば、ポーズをとっても自動的にチャットリクエストがトリガーされなくなります)。より良いデフォルト体験だと考えていますが、いつでも以前のデフォルト(`2500`)に戻すことができます。

チャット入力の改善

チャット入力は、スクリーンリーダーユーザーが最も重要なコンテキストを最初に聞くことができるよう、アクティブなエージェントとモデルをより明確な順序でアナウンスするようになりました。チャットのアクセシビリティヘルプでは、**Delete** キーを押すことで添付されたコンテキストアイテムを削除できることも案内され、添付ファイルの管理が完全にキーボードから可能になりました。

ノートブック

ノートブックがセル間をまたぐ検索をサポートしました。エディターと同様に、キーバインディング(⌘G (Windows, Linux F3) および ⇧⌘G (Windows, Linux Shift+F3))を使用して次や前の検索一致箇所へ移動できます。

ソース管理

Gitコミットメッセージでの折りたたみサポート

設定: git.verboseCommit Open in VS Code Open in VS Code Insiders , git.useEditorAsCommitInput Open in VS Code Open in VS Code Insiders

エディターでGitコミットメッセージを書く際、コミットメッセージのセクションを折りたたんで整理できるようになりました。この機能を使用するには、 git.verboseCommit Open in VS Code Open in VS Code Insiders および git.useEditorAsCommitInput Open in VS Code Open in VS Code Insiders 設定を有効にしてください。

Screenshot showing folding nodes in the gutter and a partially collapsed commit message in the editor.

グラフでの着信/送信変更

設定: scm.graph.showIncomingChanges Open in VS Code Open in VS Code Insiders , scm.graph.showOutgoingChanges Open in VS Code Open in VS Code Insiders

今回のマイルストーンでは、ソース管理グラフビューで着信および送信の変更を簡単に確認する機能を追加しました。着信または送信の変更があるアクティブなブランチに対して、グラフは「Incoming Changes」および「Outgoing Changes」ノードを表示します。各ノードを選択すると、着信または送信されているファイルのリストが表示されます。

Screenshot showing incoming and outgoing changes nodes in the Source Control Graph view.

scm.graph.showIncomingChanges Open in VS Code Open in VS Code Insiders および scm.graph.showOutgoingChanges Open in VS Code Open in VS Code Insiders 設定を使用して、グラフビューからこの情報を非表示にできます。

グラフで参照を比較

ソース管理グラフのコンテキストメニューに Compare with... という新しいコマンドを追加しました。グラフ内の履歴アイテムを任意のブランチやタグと比較できます。この機能により、履歴アイテムには含まれているがブランチやタグには含まれていない変更を確認できます。

コンテキストメニューにはショートカットコマンド Compare with Remote および Compare with Merge Base があり、それぞれリモートブランチおよびマージベースと履歴アイテムを比較できます。

リポジトリ選択モード

設定: scm.repositories.selectionMode Open in VS Code Open in VS Code Insiders

ソース管理リポジトリビューは、ワークスペースで開かれているリポジトリのリストを表示し、ソース管理変更ビューに表示されるリポジトリを制御するために使用されます。

リポジトリビューの機能を拡張する準備として、リポジトリビューの選択モードを単一リポジトリか複数リポジトリかに制御するための設定 scm.repositories.selectionMode Open in VS Code Open in VS Code Insiders を導入しました。

リポジトリビューの新しい機能とは別に、これによりグラフビューのタイトルにあるリポジトリピッカーを削除し、すべてのソース管理ビューにわたってグローバルなリポジトリピッカーを持てるようになります。設定から、またはリポジトリビューの「...」メニューから選択モードを切り替えることができます。

Screenshot showing the Repositories view with single selection mode enabled and the context menu to toggle selection mode.

新しいリポジトリメニュー

ユーザーは `scm/repository` メニューIDを使用して、新しいソース管理リポジトリビューのインラインソース管理プロバイダー行にコマンドを追加できます。「inline」グループに追加されたコマンドはインラインで表示され、その他のすべてのコマンドは `...` メニューに表示されます。

リポジトリエクスプローラー(実験的)

設定: scm.repositories.explorer Open in VS Code Open in VS Code Insiders , scm.repositories.selectionMode Open in VS Code Open in VS Code Insiders

リポジトリビューを強化し、各リポジトリの追加情報を表示することを検討しています。この実験的な機能を試すには、 scm.repositories.selectionMode Open in VS Code Open in VS Code Insiders および scm.repositories.explorer Open in VS Code Open in VS Code Insiders を設定してください。

この最初のイテレーションでは、ブランチとタグに焦点を当てました。新しいブランチやタグの作成、ブランチとタグのリスト表示、各ブランチ/タグに対するさまざまなアクション(チェックアウトなど)が可能です。今後のマイルストーンで、より多くの情報(スタッシュ、リモートなど)を追加する予定です。この実験的な機能をぜひ試し、感想をお寄せください。

Screenshot showing the Repositories explorer with branches and tags for a single selected repository.

テスト

テストカバレッジの未カバー行を移動

テストカバレッジを確認する際、新しいナビゲーションコマンドを使用して未カバーの行間を簡単に移動できるようになりました。カバレッジ情報を表示しているときにエディタツールバーで2つのコマンドが利用可能です。

  • Go to Next Uncovered Line - テストでカバーされていない次の行へジャンプ
  • Go to Previous Uncovered Line - テストでカバーされていない前の行へジャンプ

これらのコマンドはカバレッジのギャップをすばやく特定し、追加のテストカバレッジが必要な領域に焦点を当てるのに役立ち、コードベース全体のテスト品質を向上させやすくします。

ターミナル

ターミナルIntelliSense

ターミナルIntelliSenseは、約1.5年間実験的/プレビュー機能として提供されてきました。今回のリリースでプレビュータグを削除し、安定版のすべてのユーザーに対してデフォルトで段階的なロールアウトを行います。

有効にすると、ターミナルでの入力時に、PowerShell、bash、zsh、fish向けにエディターと同様のIntelliSenseが表示されます。

Screenshot of typing "write" in PowerShell will bring up completions starting with the word write.

補完にはさまざまなソースがあります。たとえばパスはすべてコア機能によって処理されます。

一部のコマンドは、ブランチ名をプルする機能を持つgitのように、高度な仕様を備えています。

この機能を構築して学んだことですが、万人に合う唯一の解決策はないため、目的の動作を得るために調整できる多くのオプションを用意しています。

  • terminal.integrated.suggest.quickSuggestions Open in VS Code Open in VS Code Insiders - Ctrl+Space 経由で手動ではなく、コマンドラインの内容に応じて自動的に表示します。
  • terminal.integrated.suggest.suggestOnTriggerCharacters Open in VS Code Open in VS Code Insiders - `-` や `/` などの「トリガー文字」の後に自動的に表示します。
  • terminal.integrated.suggest.runOnEnter Open in VS Code Open in VS Code Insiders - オプションとして、Tab ではなく Enter が使用されたときにコマンドを実行します。
  • terminal.integrated.suggest.windowsExecutableExtensions Open in VS Code Open in VS Code Insiders - Windowsで実行可能ファイルとして扱われる拡張機能のリスト。
  • terminal.integrated.suggest.providers Open in VS Code Open in VS Code Insiders - 特定のプロバイダーを無効にする機能を提供します。たとえば、拡張機能が不要な補完機能を提供している場合に便利です。
  • terminal.integrated.suggest.showStatusBar Open in VS Code Open in VS Code Insiders - IntelliSenseポップアップの下部にステータスバーを表示するかどうか。
  • terminal.integrated.suggest.cdPath Open in VS Code Open in VS Code Insiders - `$CDPATH` 統合を有効にするかどうか。
  • terminal.integrated.suggest.inlineSuggestion Open in VS Code Open in VS Code Insiders - シェルの「ゴーストテキスト」と統合するかどうか、およびその表示方法。
  • terminal.integrated.suggest.upArrowNavigatesHistory Open in VS Code Open in VS Code Insiders - 上矢印キーを補完の参照ではなくシェルに送信するかどうか。これはzshで特に便利で、プレフィックスで絞り込んだ後に上矢印を押してヒストリ検索を行うことができます。
  • terminal.integrated.suggest.selectionMode Open in VS Code Open in VS Code Insiders - IntelliSenseポップアップのフォーカス方法。これにより EnterTab の動作が決まります。
  • (新規!) terminal.integrated.suggest.insertTrailingSpace Open in VS Code Open in VS Code Insiders - 承認後に末尾にスペースを挿入し、補完を再トリガーします。

まだ機能が表示されない場合は、シェル統合 (shell integration) が有効になっていることを確認し、設定で terminal.integrated.suggest.enabled VS Codeで開く VS Code Insidersで開く を明示的に有効にしてください。

全体的な調整に加え、今回のリリースでは以下の機能が追加されます

  • copilot および azd CLI で補完が利用可能になりました
  • 拡張機能 API が完成に近づいています
  • Git コミットの補完にコミットメッセージが表示されるようになりました

Screenshot of git commit completions showing branch names and their associated commit messages in the terminal suggest details view.

シェル統合のタイムアウト設定の統合

VS Code が端末でのコマンド実行準備が整うまで待機する時間を制御する統合設定 terminal.integrated.shellIntegration.timeout VS Codeで開く VS Code Insidersで開く が追加されました。これは、executeCommand API や Copilot ターミナルツールを通じてトリガーされるコマンドを含む、ターミナルでのコマンド実行準備を待機する時間を制御します。

chat.tools.terminal.shellIntegrationTimeout VS Codeで開く VS Code Insidersで開く は、この統合により非推奨となりました。

認証

拡張機能のアカウント設定の管理の発見性を向上

拡張機能のアカウント設定の管理 (Manage Extension Account Preferences) コマンドがより見つけやすくなりました。コマンドパレットや拡張機能のコンテキストメニューに加えて、言語モデルへのアクセス管理 (Manage Language Model Access) と並んでアカウントメニューにも表示されるようになりました。これにより、拡張機能がアクセスできるアカウントの検索と構成が容易になります。

Screenshot of Manage Extension Account Preferences in the Account menu.

classic Microsoft 認証の最終バージョン - 問題が発生した場合は msal-no-broker を使用してください

microsoft-authentication.implementation VS Codeで開く VS Code Insidersで開く classic オプションを削除する予定です。VS Code リリース 1.106 が、classic オプションを持つ最後のバージョンとなります。

microsoft-authentication.implementation VS Codeで開く VS Code Insidersで開く 設定は、ユーザーが問題に遭遇した場合に Microsoft アカウントのネイティブ仲介認証をオプトアウトできるようにするために用意されていました。この設定の値は以下の通りです。

  • msal - 可能であれば仲介認証で MSAL を使用する(デフォルト)
  • msal-no-broker - 仲介なしで MSAL を使用する(最近導入)
  • classic - MSAL を使用せず、従来の Microsoft 認証フローを使用する

classic オプションの使用率は非常に低く、msal オプションでの問題の多くは仲介に起因しており、これは msal-no-broker で解決できるため、classic オプションを削除します。

Microsoft 認証のデバイスコードフロー

Microsoft 認証は、リモート開発環境で特に有用な、非仲介シナリオでのデバイスコードフローをサポートするようになりました。他の認証方法が失敗した場合、VS Code は自動的にデバイスコードフローにフォールバックし、別のデバイスに入力して認証を完了するためのコードを表示します。

アカウント管理コマンド

アカウント: アカウントの管理 (Accounts: Manage Accounts) コマンドを使用して、コマンドパレットから直接認証アカウントを管理できます。このコマンドは、アカウントメニューが非表示の場合やアクセスしにくい場合に、アカウント管理機能へのアクセスを提供します。

Screenshot of the Manage Accounts menu.

アカウントの管理 コマンドを実行すると、すべてのアクティブなアカウントが一覧表示されたクイックピックメニューが表示されます。アカウントを選択すると、以下を含む利用可能なアクションが表示されます。

  • 信頼された拡張機能の管理 (Manage Trusted Extensions) - 選択したアカウントにアクセスできる拡張機能を制御
  • 信頼された MCP サーバーの管理 (Manage Trusted MCP Servers) - この機能をサポートするアカウントの MCP サーバーアクセス許可を管理
  • サインアウト (Sign Out) - アカウントからサインアウト

言語

Python

Python 環境拡張機能: python.poetryPath 設定のサポート

Python 環境拡張機能は、既存の python.poetryPath ユーザー設定を尊重するようになりました。これにより、使用する Poetry 実行ファイルを指定できます。Poetry 環境を管理する際に、指定されたパスが検索され、選択されます。

Python 環境拡張機能: venv 作成の改善: dev-requirements.txt の検出

新しい仮想環境を作成する際、拡張機能は requirements.txt と dev-requirements.txt の両方のファイルを検出して依存関係を自動的にインストールするようになりました。

Copilot ホバーサマリーを docstring として追加

Copilot ホバーサマリーの新しい docstring として追加 (Add as docstring) コマンドを使用して、AI が生成したドキュメントを docstring としてコードに直接追加できるようになりました。関数やクラスの概要を生成し、シンボル定義に移動してホバーすると docstring として追加 コマンドにアクセスでき、サマリーが適切な docstring としてカーソルの下に挿入されます。

これにより、コードのドキュメント作成プロセスが効率化され、手入力しなくても読みやすさと保守性を迅速に向上させることができます。

ローカライズされた Copilot ホバーサマリー

Pylance 内の GitHub Copilot ホバーサマリーは、VS Code 内の表示言語を尊重するようになりました。AI が生成したサマリーを呼び出すと、エディターで設定した言語の文字列が取得されるため、生成されたドキュメントの理解が容易になります。

Screenshot of a Copilot Hover Summary generated in Portuguese.

ワイルドカードインポートを変換するコードアクション

ワイルドカードインポート (from module import *) は、名前空間が汚染され、名前の由来が不明確になり、コードの明確さと保守性が低下するため、Python では推奨されないことがよくあります。Pylance は、from module import * に依存しているモジュールを新しいコードアクションでクリーンアップできるよう支援します。これはワイルドカードを明示的なシンボルに置き換え、エイリアスを保持し、インポートを単一のステートメントに維持します。試すには、ワイルドカードインポートのある行をクリックし、Ctrl+. (macOS では Cmd+.) を押して 明示的なインポートに変換 (Convert to explicit imports) コードアクションを選択します。

Screenshot of the Convert wildcard imports Code Action.

dotenv

アプリケーションの環境変数を定義するために一般的に使用される dotenv ファイル (.env) の基本的なサポートが組み込まれています。

拡張機能への貢献

GitHub Pull Requests

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

  • AI が生成する PR の説明(設定 githubPullRequests.pullRequestDescription VS Codeで開く VS Code Insidersで開く 経由)は、リポジトリに PR テンプレートがある場合はそれを尊重します。
  • プルリクエストビューのドラフトは、[DRAFT] プレフィックスを持つのではなく、斜体でレンダリングされるようになりました。
  • プルリクエストは URL から開くことができます。例: vscode-insiders://github.vscode-pull-request-github/checkout-pull-request?uri=https://github.com/microsoft/vscode-css-languageservice/pull/460

リリース内容のすべてについては、拡張機能の 0.122.0 リリースの変更履歴 を確認してください。

プレビュー機能

言語モデルエディタ

新しい 言語モデル (Language Models) エディターは、GitHub Copilot Chat で利用可能なすべての言語モデルを表示および管理するための中央の場所を提供します。チャットモデルピッカーから、または チャット: 言語モデルの管理 (Chat: Manage Language Models) コマンド経由で開くことができます。

注: この機能は VS Code Insiders でのみ利用可能です。

Screenshot showing the Language Models editor with a list of models organized by provider.

エディターには以下が表示されます

  • プロバイダー別に整理された利用可能なすべてのモデル
  • モデルの機能(ツール、ビジョン、エージェント)
  • コンテキストサイズと乗数情報
  • モデルの表示ステータス

以下を使用してモデルを検索およびフィルターできます

  • ハイライト付きのテキスト検索
  • プロバイダーフィルター: @provider:"OpenAI"
  • 機能フィルター: @capability:tools, @capability:vision, @capability:agent
  • 表示フィルター: @visible:true/false

モデル名またはコンテキストサイズにホバーすると、モデル ID、バージョン、ステータス、トークンの内訳などの詳細情報が表示されます。

モデルの表示を管理

各モデルの横にある目のアイコンで表示を切り替えることで、チャットモデルピッカーに表示されるモデルを制御します。モデルが表示されている場合、GitHub Copilot Chat を使用するときにモデルピッカーのドロップダウンに表示され、選択可能になります。非表示のモデルは言語モデルエディターに残りますが、モデルピッカーには表示されず、頻繁に使用するモデルに集中して選択できるようになります。

Screenshot showing the eye icon to toggle model visibility with a tooltip displaying "Show in the chat model picker"

これは、多くのモデルにアクセスでき、優先モデルのみをピッカーに表示してワークフローを効率化したい場合に特に便利です。

インストール済みプロバイダーからモデルを追加

モデルの追加... (Add Models...) ボタンを使用して、インストール済みの言語モデルプロバイダーからモデルを構成および追加します。このボタンを選択すると、Copilot、Anthropic、Azure、Google、Groq、Ollama、OpenAI など、インストールされているすべてのモデルプロバイダーのドロップダウンリストが表示されます。リストからプロバイダーを選択して構成し、GitHub Copilot Chat でそのモデルの使用を開始します。

Screenshot showing the Add Models dropdown with a list of installed language model providers including Copilot, Anthropic, Azure, Google, and more

これにより、言語モデルエディターから離れることなく、インストール済みの追加モデルプロバイダーを簡単にアクティブ化できます。プロバイダー行のギアアイコンを選択してプロバイダー管理にアクセスします。

拡張機能の作成

認証セッションの ID トークン

AuthenticationSession インターフェイスに、オプションの idToken プロパティが含まれるようになりました。これにより、認証プロバイダーはアクセストークンに加えて ID トークンを返すことができ、ユーザーの身元情報が必要なシナリオで特に役立ちます。Microsoft 認証プロバイダーはこのフィールドを返しますが、GitHub などの他のプロバイダーは返さない場合があります。

ID トークンには認証されたユーザーに関するクレームが含まれており、ID プロバイダーによって署名されているため、ユーザーの身元を確認するのに役立ちます。ID トークンとアクセストークンの違いの詳細については、https://oauth.dokyumento.jp/id-tokens-vs-access-tokens/ を参照してください。

export interface AuthenticationSession {
  /**
   * The ID token.
   */
  readonly idToken?: string;
}

Git 拡張機能 getRepositoryWorkspace API

組み込みの Git 拡張機能は、git リポジトリのリモートに関連付けられていることがわかっているフォルダーを取得するための新しい API を提供します。これは、ユーザーが git リモートのあるフォルダーを開いたときに、リポジトリのリモートとフォルダーのマッピングをキャッシュすることで機能します。

セカンダリサイドバーのビューコンテナ

拡張機能の作成者は、新しい secondarySidebar 貢献ポイントを使用して、セカンダリサイドバーにビューコンテナを登録できるようになりました。これにより、拡張機能は独自のカスタムビューをチャットのような組み込みビューと並べてセカンダリサイドバーに配置し、VS Code のデュアルサイドバーレイアウトとの優れた統合を提供できるようになります。

{
  "contributes": {
    "viewsContainers": {
      "secondarySidebar": [
        {
          "id": "myExtensionViews",
          "title": "My Extension",
          "icon": "$(extensions)"
        }
      ]
    },
    "views": {
      "myExtensionViews": [
        {
          "id": "myCustomView",
          "name": "Custom View",
          "when": "true"
        }
      ]
    }
  }
}

提案API

クイックピックとクイックインプットの改善

クイックピックとクイックインプットの API には、拡張機能開発者がインタラクティブなユーザーインターフェイスを作成する際の柔軟性を高めるいくつかの新しい機能が含まれています。

提案された API: トグルボタンのサポート

拡張機能は、QuickInputtoggles プロパティを通じて、クイックピックおよびクイックインプットインターフェイスにトグルボタンを追加できます。これにより、入力ボックス領域でのパスワード表示の切り替えなどのシナリオが可能になり、ユーザーはクイックピックインターフェイスを離れることなくコントロールを操作できます。

この API 提案に関するコメントやフィードバックを歓迎します(GitHub issue を参照してください)。

export enum QuickInputButtonLocation {
  ...

  /**
   * The button is rendered at the far end inside the input box.
   */
  Input = 3
}

export interface QuickInputButton {
  ...

  /**
   * When present, indicates that the button is a toggle button that can be checked or unchecked.
   *
   * **Note:** This property is currently only applicable to buttons with {@link QuickInputButtonLocation.Input} location.
   * It must be set for such buttons, and the state will be updated when the button is toggled.
   * It cannot be set for buttons with other location values.
   */
  readonly toggle?: { checked: boolean };
}

提案された API: クイックピックのプロンプトサポート

クイックピックは、入力ボックスで利用可能なものと同様の prompt プロパティをサポートしています。プロンプトは、ユーザーが入力している間ずっと表示される永続的なテキストを入力ボックスの下に表示し、ユーザーがテキストの入力を開始しても消えない役立つガイダンスや指示を提供します。

この API 提案に関するコメントやフィードバックを歓迎します(GitHub issue を参照してください)。

export interface QuickPick<T extends QuickPickItem> extends QuickInput {
  /**
   * Optional text that provides instructions or context to the user.
   *
   * The prompt is displayed below the input box and above the list of items.
   */
  prompt: string | undefined;
}

export interface QuickPickOptions {
  /**
   * Optional text that provides instructions or context to the user.
   *
   * The prompt is displayed below the input box and above the list of items.
   */
  prompt?: string;
}

提案された API: クイックピックアイテムのファイルアイコン

クイックピックアイテムは、QuickPickItemresourceUri プロパティを通じてファイルタイプ固有のアイコンを表示できます。リソース URI を指定すると、VS Code は現在のテーマのファイルアイコンセットと一致するリソースタイプに基づいて、適切なラベル、説明、アイコンを自動的に派生させます。これは、ファイルやフォルダーの選択インターフェイスを作成する際に、ユーザーが慣れ親しんだファイルタイプアイコンでアイテムをすばやく識別できるため、特に役立ちます。

この API 提案に関するコメントやフィードバックを歓迎します(GitHub issue を参照してください)。

export interface QuickPickItem {
  /**
   * A {@link Uri} representing the resource associated with this item.
   *
   * When set, this property is used to automatically derive several item properties if they are not explicitly provided:
   * - **Label**: Derived from the resource's file name when {@link QuickPickItem.label label} is not provided or is empty.
   * - **Description**: Derived from the resource's path when {@link QuickPickItem.description description} is not provided or is empty.
   * - **Icon**: Derived from the current file icon theme when {@link QuickPickItem.iconPath iconPath} is set to
   *   {@link ThemeIcon.File} or {@link ThemeIcon.Folder}.
   */
  resourceUri?: Uri;
}

MarkdownString における GitHub スタイルのアラート (#209652)

新しいプロパティ supportAlertSyntax を設定することで、MarkdownStringGitHub スタイルのアラート構文 をレンダリングするサポートを追加しました。

const markdown = new vscode.MarkdownString();
markdown.supportAlertSyntax = true;
markdown.value = `
> [!NOTE]
> Useful information that users should know, even when skimming content.

> [!TIP]
> Helpful advice for doing things better or more easily.

> [!IMPORTANT]
> Key information users need to know to achieve their goal.

> [!WARNING]
> Urgent info that needs immediate user attention to avoid problems.

> [!CAUTION]
> Advises about risks or negative outcomes of certain actions.
`;

これにより、拡張機能はコメントなどの UI のさまざまな場所でアラートをレンダリングできるようになります。

Screenshot showing GitHub-style alerts displayed in a comment thread showing each alert type with their respective icons and styling.

TreeItem ラベルの MarkdownString サポート (#115365)

拡張機能の作成者は、ツリービューアイテムのラベルで MarkdownString を使用できるようになり、codicon やテキストのフォーマットを含む Markdown 構文のサブセットが有効になりました。これにより、拡張機能は視覚的にリッチなツリービューを作成できます。

// Codicons
const itemWithIcon = new vscode.TreeItem({
  label: new vscode.MarkdownString('$(star) Starred item', true)
});

// Text formatting (must surround the entire string)
const italicItem = new vscode.TreeItem({
  label: new vscode.MarkdownString('_Italic item_')
});

// Formatting and codicons can be combined
const combined = new vscode.TreeItem({
  label: new vscode.MarkdownString('_~~**$(check) Done $(star)**~~_', true)
});

上記アイテムは次のようにレンダリングされます: ツリービューのスクリーンショット: アイコン付きのスター付きアイテム、斜体のアイテム、およびチェックとスターのアイコンに加えて太字、斜体、取り消し線フォーマットが組み合わされたアイテムの3つが表示されています。

エンジニアリング

自動化された UX PR テストの探索

プルリクエスト内の UI 変更を、手動でチェックアウトしてコードを実行することなくレビュアーが理解できるようにする新しい自動化ワークフローを導入しました。UI 変更を含むプルリクエストに ~copilot-video-please ラベルを追加すると、自動プロセスが開始され、以下が行われます。

  • PR ブランチから VS Code をビルドする
  • GitHub Copilot CLI を使用して変更を操作し、その過程でビデオを記録する - playwright-mcp を活用
  • 詳細な検査のために Playwright トレースを生成する
  • 結果を PR へのコメントとして投稿する

まだ初期段階ですが、このワークフローは特に小さな UI 変更のコードレビューに必要な手作業を削減できます。ビデオとトレースにより、レビュアーは変更が期待どおりに機能することを迅速に確認できます。現在、ビデオはチームメンバーのみがアクセスできます。

この自動化の詳細については、https://github.com/microsoft/vscode/issues/272529 を参照してください。

macOS 11.0 のサポート終了

VS Code 1.106 は、macOS 11.0 (macOS Big Sur) をサポートする最後のリリースです。詳細については、FAQ を参照してください。

注目すべき修正

  • vscode#258236 - 拡張機能インストール時に使用される拡張機能リクエストタイムアウトの設定を追加
  • vscode#272945 - タスクが onDidStartTerminalShellExecution をトリガーしない
  • vscode#273372 - .gitignore ファイルで /***/ で自動的に閉じられる
  • vscode#243584 - pwsh/conpty で最初の入力が無視される
  • vscode#271952 - Copilot の '構成手順' クイックピックにワークスペースレベルのエージェント命令ファイル (copilot-instructions.md, AGENTS.md) が表示されない
  • vscode#274631 - ネットワーク: Windows 上で中間認証局を読み込む

ありがとうございます

イシュートラッキング

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

プルリクエスト

vscodeへの貢献

vscode-copilot-chat への貢献

vscode-html-languageservice への貢献

vscode-json-languageservice への貢献

vscode-languageserver-nodeへの貢献

vscode-pull-request-github への貢献

vscode-test-cli への貢献

debug-adapter-protocolへの貢献

language-server-protocolへの貢献

monaco-editor への貢献

node-pty への貢献

python-environment-tools への貢献

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

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

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