2025年3月 (バージョン 1.99)
アップデート 1.99.1: このアップデートでは、これらのセキュリティ問題に対処しています。
アップデート 1.99.2: このアップデートでは、これらの問題に対処しています。
アップデート 1.99.3: このアップデートでは、これらの問題に対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Visual Studio Code 2025年3月版へようこそ。このバージョンには多くのアップデートがあり、気に入っていただけることを願っています。主なハイライトの一部をご紹介します。
- 
エージェントモード - エージェントモードがVS Code Stableで利用可能になりました。chat.agent.enabledを設定することで有効にできます (詳細...)。
- Model Context Protocol (MCP) サーバツールでエージェントモードを拡張できます (詳細...)。
- エージェントモードでWebコンテンツの取得、シンボル参照の検索、ディープシンキングのための新しい組み込みツールを試してみてください (詳細...)。
 
- 
コード編集 
- 
チャット 
- 
ノートブック編集 - 編集モードとエージェントモードのサポートにより、コードファイルと同じくらい簡単にノートブックを作成および編集できます (詳細...)。
 
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の アップデート をご覧ください。インサイダー: 新機能をいち早く試したいですか?夜間の インサイダー ビルドをダウンロードして、最新の更新プログラムが利用可能になり次第すぐに試すことができます。
チャット
エージェントモードがVS Code Stableで利用可能
エージェントモードがVS Code Stableで利用可能になったことをお知らせします!chat.agent.enabledを設定することで有効にできます。設定が表示されない場合は、VS Codeをリロードしてください。数週間以内には、すべてのユーザーにデフォルトで有効化されるため、この設定は不要になります。
エージェントモードのドキュメントを確認するか、チャットビューのチャットモードピッカーからエージェントモードを選択してください。

Model Context Protocol サーバのサポート
このリリースでは、エージェントモードでModel Context Protocol (MCP) サーバをサポートしています。MCPは、AIモデルが外部ツール、アプリケーション、データソースを発見し、連携するための標準化された方法を提供します。VS Codeでエージェントモードを使用してチャットプロンプトを入力すると、モデルはファイル操作、データベースアクセス、Webデータ取得などのタスクを実行するために様々なツールを呼び出すことができます。この統合により、より動的でコンテキストを意識したコーディング支援が可能になります。
MCPサーバは、ユーザー、リモート、または.code-workspace設定のmcpセクション、またはワークスペースの.vscode/mcp.jsonで設定できます。設定は、シークレットや定数をハードコーディングするのを避けるために、入力変数をサポートしています。たとえば、環境変数を参照するために${env:API_KEY}を使用したり、サーバが起動したときに値を要求するために${input:ENDPOINT}を使用したりできます。
MCP: Add Serverコマンドを使用して、コマンドライン呼び出しからMCPサーバを迅速に設定したり、Docker、npm、またはPyPIに公開されているMCPサーバからAI支援セットアップを使用したりできます。
新しいMCPサーバが追加されると、チャットビューに更新アクションが表示され、これを使用してサーバを起動し、ツールを発見できます。その後、リソースを節約するためにサーバはオンデマンドで起動されます。
テーマ: Codesong (vscode.devでプレビュー)
Claude Desktopなどの他のアプリケーションですでにMCPサーバを使用している場合、VS Codeはそれらを発見し、実行するように提案します。この動作は、設定chat.mcp.discovery.enabledで切り替えることができます。
MCP: List Serversコマンドを使用してMCPサーバのリストと現在のステータスを確認し、エージェントモードのSelect Toolsボタンを使用してチャットで使用可能なツールを選択できます。
MCPサーバのインストール方法と使用方法については、ドキュメントで詳しく読むことができます。
エージェントモードツール
今回のマイルストーンで、エージェントモードにいくつかの新しい組み込みツールを追加しました。
思考ツール (実験的)
設定: github.copilot.chat.agent.thinkingTool。
Anthropicの研究に触発され、ツール呼び出しの間で任意のモデルに思考する機会を与えるために、エージェントモードに思考ツールをサポートしました。これにより、製品内の複雑なタスクやSWE-bench評価におけるエージェントのパフォーマンスが向上します。
フェッチツール
プロンプトに公開されているウェブページからのコンテンツを含めるには、#fetchツールを使用します。例えば、MCPのようなトピックに関する最新のドキュメントを含めたい場合、完全なドキュメント(LLMが消費するのに便利なように準備されています)をフェッチするように要求し、それをプロンプトで使用できます。その様子を示すビデオがこちらです。
エージェントモードでは、このツールは自動的に検出されますが、#fetchとフェッチしたいURLを付けて、他のモードで明示的に参照することもできます。
このツールは、ヘッドレスブラウザウィンドウでウェブページをレンダリングし、そのページのデータをローカルにキャッシュすることで機能します。そのため、再レンダリングのオーバーヘッドなしに、モデルにコンテンツを何度もフェッチするように自由に要求できます。
#fetchツールの使用方法や、どのような機能を見たいか教えてください!
フェッチツールの制限事項
- 現在、このブラウザウィンドウではJavaScriptが無効になっています。ウェブサイトがコンテンツをレンダリングするためにJavaScriptに完全に依存している場合、このツールは多くのコンテキストを取得できません。これは変更を検討している制限事項であり、JavaScriptを許可するために変更される可能性が高いです。
- ヘッドレスの性質上、このヘッドレスブラウザはご使用のブラウザとは異なるブラウザコンテキストに存在するため、認証の背後にあるページをフェッチすることはできません。代わりに、そのターゲット専用に構築されたMCPサーバー、またはPlaywright MCPサーバーのような汎用ブラウザMCPサーバーを導入するためにMCPの使用を検討してください。
使用状況ツール
#usagesツールは、「すべての参照を検索」、「実装を検索」、および「定義へ移動」の組み合わせです。このツールは、チャットが関数、クラス、またはインターフェースについて詳しく学ぶのに役立ちます。たとえば、チャットはこのツールを使用して、インターフェースのサンプル実装を探したり、リファクタリングを行う際に変更する必要があるすべての場所を見つけたりできます。
エージェントモードでは、このツールは自動的に検出されますが、#usagesを介して明示的に参照することもできます。
エージェントモードで新しいワークスペースを作成 (実験的)
設定: github.copilot.chat.newWorkspaceCreation.enabled
エージェントモードで新しいVS Codeワークスペースをスキャフォールディングできるようになりました。VS Code拡張機能、MCPサーバー、その他の開発環境をセットアップする場合でも、エージェントモードは必要な依存関係と設定でこれらのプロジェクトを初期化、構成、起動するのに役立ちます。
エージェントモードでのVS Code拡張機能ツール
数ヶ月前、VS Code拡張機能によって提供される言語モデルツールの拡張機能APIを完成させました。これで、これらのツールをエージェントモードで使用できるようになりました。
構成でtoolReferenceNameとcanBeReferencedInPromptを設定するこのAPIに貢献されたツールはすべて、エージェントモードで自動的に利用可能になります。
拡張機能でツールを提供することで、VS Code拡張機能のすべてのAPIにアクセスでき、Extension Marketplaceから簡単にインストールできます。
MCPサーバーからのツールと同様に、エージェントモードのSelect Toolsボタンでこれらを有効/無効にできます。言語モデルツール拡張機能ガイドを参考に、独自のツールを構築してください!
エージェントモードのツール承認
ユーザープロンプトのタスクを完了する際、エージェントモードはツールとターミナルコマンドを実行できます。これは強力ですが、潜在的なリスクが伴います。そのため、エージェントモードでツールとターミナルコマンドの使用を承認する必要があります。
このエクスペリエンスを最適化するために、セッション、ワークスペース、またはアプリケーションレベルでその承認を記憶できるようになりました。これは現在ターミナルツールでは有効になっていませんが、今後のリリースでターミナル用の承認システムを開発する予定です。

すべてのツールを自動承認したい場合は、実験的なchat.tools.autoApprove設定を使用できるようになりました。これにより、すべてのツールが自動承認され、言語モデルがツールを実行したい場合にVS Codeは確認を求めません。この設定を有効にすると、モデルが実行しようとする潜在的に破壊的なアクションをキャンセルする機会がなくなることに留意してください。
将来的には、この設定をよりきめ細かな機能で拡張する予定です。
SWE-benchでのエージェント評価
VS Codeのエージェントは、Anthropicの研究に従って、SWE-bench環境でユーザー入力なしでエージェントを実行するように構成されたClaude 3.7 Sonnetを使用し、swebench-verifiedで56.0%の合格率を達成しました。私たちの実験は、エージェントモードのプロンプト、ツール説明、ツール設計の改善に繋がっており、Claude 3.5および3.7 Sonnetモデルでイン・ディストリビューションのファイル編集のための新しいツールも含まれています。
統合チャットビュー
過去数ヶ月間、言語モデルに質問するための「チャット」ビューと、AIを活用したコード編集セッションのための「Copilot編集」ビューがありました。今月、これら2つのビューを1つのチャットビューに統合することで、チャットベースのエクスペリエンスを合理化することを目指しています。チャットビューには、3つのモードのドロップダウンが表示されます。

- 質問: これは以前のチャットビューと同じです。ワークスペースや一般的なコーディングに関する質問を、任意のモデルを使用して尋ねます。@を使用して組み込みのチャット参加者またはインストール済みの拡張機能から呼び出します。#を使用して、あらゆる種類のコンテキストを手動で添付します。
- エージェント: コンテキストを自律的に収集したり、ターミナルコマンドを実行したり、その他のアクションを実行してタスクを完了させたりできるツールセットを使用して、エージェント的なコーディングフローを開始します。エージェントモードはすべてのVS Code Insidersユーザーに有効になっており、VS Code Stableのより多くのユーザーに展開しています。
- 編集: 編集モードでは、モデルは複数のファイルに指示された編集を行うことができます。#codebaseをアタッチすると、編集するファイルを自動的に見つけられます。ただし、ターミナルコマンドを実行したり、その他のことを自動的に行ったりすることはありません。
注: このリストにエージェントモードが表示されない場合、まだ有効になっていないか、組織のポリシーによって無効になっており、組織の所有者によって有効にする必要があります。
チャットエクスペリエンスを簡素化することに加えて、この統合により、AIを活用したコード編集にいくつかの新機能が追加されました。
- 会話の途中でモードを切り替える: たとえば、質問モードでアプリのアイデアをブレインストーミングし始め、その後エージェントモードに切り替えて計画を実行することができます。ヒント: を押すと、モードを素早く変更できます。
- 履歴内の編集セッション: Show Chatsコマンド (チャットビューの上部にある時計アイコン) を使用して、過去の編集セッションを復元し、作業を続行できます。
- チャットをエディターまたはウィンドウに移動する: Open Chat in New Editor/New Windowを選択すると、サイドバーからチャット会話を新しいエディタータブまたは別のVS Codeウィンドウにポップアウトできます。チャットはこの機能を長い間サポートしてきましたが、これでエディターペインまたは別のウィンドウから編集/エージェントセッションを実行することもできます。
- 複数のエージェントセッション: 上記の点に続き、これにより複数のエージェントセッションを同時に実行できるようになります。1つのチャットをエージェントモードで機能の実装に取り組ませ、別の独立したセッションで調査や他のツールの使用を行うことができます。2つのエージェントセッションに同時にファイルを編集させることは推奨されません。混乱を招く可能性があります。
独自のキーを持ち込む (BYOK) (プレビュー)
Copilot ProおよびCopilot Freeユーザーは、Azure、Anthropic、Gemini、Open AI、Ollama、Open Routerなどの人気プロバイダー向けに独自のAPIキーを持ち込むことができるようになりました。これにより、Copilotでネイティブにサポートされていない新しいモデルを、リリースされた初日から使用できます。
試すには、モデルピッカーからManage Models...を選択してください。Copilot BusinessおよびEnterpriseのお客様へのサポートを積極的に検討しており、今後のリリースで最新情報をお知らせします。この機能の詳細については、ドキュメントをご覧ください。

再利用可能なプロンプトファイル
設定の改善
chat.promptFilesLocations設定は、ファイルパスでglobパターンをサポートするようになりました。たとえば、現在開いているワークスペース内のすべての.prompt.mdファイルを含めるには、パスを{ "**": true }に設定できます。
さらに、この構成は、適用されるファイルシステムで大文字と小文字を区別するようになり、ホストオペレーティングシステムの動作と一致するようになりました。
プロンプトファイル編集の改善
- .prompt.mdファイルは、ファイルシステムパスの基本的なオートコンプリートと有効なファイル参照のハイライト表示を提供するようになりました。一方、壊れたリンクは警告またはエラーの波線として表示され、詳細な診断情報を提供します。
- Chat: Use Promptコマンド内のプロンプトファイルリストで、編集および削除アクションを使用してプロンプトを管理できるようになりました。
- プロンプトファイル内のフォルダ参照は、もはや無効としてフラグ付けされません。
- Markdownコメントは適切に処理されるようになりました。たとえば、最終的にLLMモデルに送信されるプロンプトを生成する際に、コメントアウトされたすべてのリンクは無視されます。
カスタム命令との整合性
.github/copilot-instructions.mdファイルは、ネストされたリンク解決と強化された言語機能のサポートにより、他の再利用可能な.prompt.mdファイルと同様に動作するようになりました。さらに、任意の.prompt.mdファイルが参照できるようになり、適切に処理されます。
カスタム指示について詳しくはこちら。
ユーザープロンプト
Create User Promptコマンドにより、ユーザープロンプトと呼ばれる新しいタイプのプロンプトを作成できるようになりました。これらはユーザーデータフォルダに保存され、コードスニペットやユーザー設定と同様に、マシン間で同期できます。同期は、同期リソースリストのPrompts項目を使用して、Sync Settingsで設定できます。
視覚サポートの改善 (プレビュー)
前回のイテレーションで、Copilot VisionがGPT-4oで有効になりました。チャットで画像を添付して使用する方法については、リリースノートをご確認ください。
このリリースでは、任意のブラウザからドラッグ&ドロップで画像を添付できます。ブラウザからドラッグ&ドロップされた画像は、.jpg、.png、.gif、.webp、または.bmpの正しいURL拡張子を持っている必要があります。
エディターの設定
統合されたチャット体験
VS Codeのチャット体験を、単一の統合されたチャットビューに合理化しました。個別のビュー間を行き来して会話のコンテキストを失うことなく、異なるチャットモード間を簡単に切り替えることができます。

シナリオに応じて、これらのモードのいずれかを使用し、会話の途中でも自由に切り替えられます。
- 質問モード: コードベースに関する質問をしたり、アイデアをブレインストーミングしたりするのに最適です。
- 編集モード: コードベース内の複数のファイルを編集するのに最適です。
- エージェントモード: コード編集とツール呼び出しを組み合わせた、自律的なコーディングフローに最適です。
統合されたチャットビューの詳細については、こちらをご覧ください。
即時インデックス作成によるワークスペース検索の高速化
リモートワークスペースインデックスは、AIが質問に答えたり編集を生成したりする際に使用する関連するコードスニペットを、大規模なコードベースで検索するのを高速化します。これらのリモートインデックスは、数万、あるいは数十万ものファイルを持つ大規模なコードベースで特に役立ちます。
以前は、リモートワークスペースインデックスを構築して使用するには、ボタンを押したりコマンドを実行したりする必要がありました。新しい即時インデックス作成サポートにより、#codebase/@workspaceの質問を最初に試したときに、リモートワークスペースインデックスを自動的に構築するようになりました。ほとんどの場合、このリモートインデックスは数秒で構築できます。構築されると、あなたやそのリポジトリをVS Codeで作業している他の誰かが行うすべてのコードベース検索で、自動的にリモートインデックスが使用されます。
リモートワークスペースインデックスは現在、GitHubに保存されているコードでのみ利用可能です。リモートワークスペースインデックスを使用するには、ワークスペースにGitHubリモートを含むGitプロジェクトが含まれていることを確認してください。Copilotステータスメニューを使用して、現在使用されているインデックスの種類を確認できます。

負荷を管理するため、今後数週間かけて順次インスタントインデックスをロールアウトしていくため、すぐには表示されない場合があります。インスタントインデックスがまだ有効になっていない場合でも、GitHub Copilot: Build remote index commandコマンドを実行してリモートインデックスの使用を開始できます。
Copilotステータスメニュー
ステータスバーからアクセスできるCopilotステータスメニューが、すべてのユーザーに対して有効になりました。今月のマイルストーンで、いくつかの新機能を追加しました。
- 
ワークスペースインデックスのステータス情報をいつでも表示できます。  
- 
アクティブなエディターでコード補完が有効になっているか確認できます。 新しいアイコンがステータスを反映するため、コード補完が有効になっているかどうかを一目で確認できます。  
- 
コード補完とNESを有効または無効にします。 
Copilotの初期設定 (実験的)
機能的なチャットエクスペリエンスをすぐに表示するための実験的な機能をリリースしています。これには、チャットビュー、エディター/ターミナルインラインチャット、クイックチャットが含まれます。初めてチャットリクエストを送信すると、サインインとCopilot Freeへのサインアップを案内します。
このエクスペリエンスを自分で試したい場合は、chat.setupFromDialog設定を有効にしてください。
チャットプレリリースチャネルの不一致
VS Code StableにCopilot Chat拡張機能のプレリリースバージョンがインストールされている場合、この構成はサポートされていないことを通知する新しいウェルカム画面が表示されます。チャット機能の急速な開発のため、この拡張機能はVS Code Stableではアクティブ化されません。
ウェルカム画面には、拡張機能のリリースバージョンに切り替えるか、VS Code Insidersをダウンロードするかのオプションが提供されます。

セマンティックテキスト検索の改善 (実験的)
設定: github.copilot.chat.search.semanticTextResults
AIを活用したセマンティックテキスト検索が、検索ビューでデフォルトで有効になりました。⌘I (Windows, Linux Ctrl+I)キーボードショートカットを使用してセマンティック検索をトリガーすると、通常の検索結果に加えて、クエリに基づいて最も関連性の高い結果が表示されます。
また、#searchResultsツールを使用して、チャットプロンプトでセマンティック検索結果を参照することもできます。これにより、LLMに結果を要約または説明したり、それに基づいてコードを生成したりするよう依頼できます。
設定エディター検索の更新
デフォルトでは、設定エディターの検索は、前回のリリースで導入したキー一致アルゴリズムを使用するようになりました。また、設定IDが既知の設定と完全に一致する場合でも、追加の設定が表示されます。
テーマ: Light Pink (vscode.dev でプレビュー)
ウィンドウコントロールの新しい設定 (Linux, Windows)
タイトルバースタイル (window.titleBarStyle) をcustomに設定している場合、ウィンドウコントロールに3つの異なるスタイルから選択できるようになりました。
- native: これはデフォルトであり、基になるプラットフォームに従ってウィンドウコントロールをレンダリングします。
- custom: ネイティブなものよりもカスタムスタイリングを好む場合に、カスタムスタイリングでウィンドウコントロールをレンダリングします。
- hidden: タイトルバーのスペースを確保したい、またはよりキーボード中心のユーザーである場合に、ウィンドウコントロールを完全に非表示にします。
コード編集
次の編集提案機能の一般提供
設定: github.copilot.nextEditSuggestions.enabled
次の編集提案 (NES) の一般提供を開始しました!さらに、NESの全体的なユーザーエクスペリエンスもいくつか改善しました。
- 編集提案をよりコンパクトにし、周囲のコードへの干渉を減らし、一目で読みやすくしました。
- すべての提案がより簡単に認識できるように、ガッターインジケーターを更新しました。
AI編集の改善
AIで編集を生成する際に、いくつかの小さな調整を行いました。
- 
AI編集でファイルを書き換える際に、エディター外の診断イベントをミュートします。以前は、このシナリオではすでに波線が無効になっていました。これらの変更により、「問題」パネルのちらつきが減少し、クイック修正コードアクションの要求を発行しないようにします。 
- 
AI編集を保持することを決定した場合、ファイルを明示的に保存するようになりました。 
ツールベースの編集モード
チャットの編集モードの動作方法を変更しています。新しい編集モードはエージェントモードと同じアプローチを使用しており、ファイルへの編集を行うためにモデルがツールを呼び出せるようにします。この連携の利点は、3つのモードすべてをシームレスに切り替えることができ、これらのモードが内部でどのように機能するかを大幅に簡素化できることです。
欠点は、この新しいモードはエージェントモードが機能するのと同じ、ツール呼び出しをサポートし、ツールが関与した場合に良い体験ができるようにテストされたモデルという限られたモデルセットでのみ機能することを意味します。編集モードのリストからo3-miniやClaude 3.7 (Thinking)のようなモデルが欠落していることに気づくかもしれません。これらのモデルを編集に使い続けたい場合は、chat.edits2.enabled設定を無効にして、以前の編集モードに戻してください。モードを切り替える際にセッションをクリアするよう求められます。
ツールを使用する場合、異なるモデル間で一貫した結果を得るためのプロンプトはより困難であることがわかりましたが、これらのモデルを編集 (およびエージェント) モードで有効にする作業を進めています。
この設定は、VS Code Stableのユーザーに対して徐々に有効になります。
インライン提案の構文ハイライト
設定: editor.inlineSuggest.syntaxHighlightingEnabled
このアップデートにより、インライン提案の構文ハイライトがデフォルトで有効になりました。以下のスクリーンショットで、コード提案に構文の色付けが適用されていることに注目してください。

構文ハイライトなしのインライン提案を希望する場合は、editor.inlineSuggest.syntaxHighlightingEnabledで無効にできます。

Tree-Sitterベースの構文ハイライト (プレビュー)
設定: editor.experimental.preferTreeSitter.cssとeditor.experimental.preferTreeSitter.regex
構文ハイライトにTree-Sitterを使用するための以前の作業を基に、CSSファイルおよびTypeScript内の正規表現に対して、実験的なTree-Sitterベースの構文ハイライトをサポートするようになりました。
ノートブック
Jupyterノートブックドキュメントの最小バージョンを4.5に
新しいノートブックのデフォルトのnbformatバージョンが4.2から4.5に引き上げられ、これでノートブックの各セルにidフィールドが設定され、差分の計算に役立ちます。既存のノートブックは、ノートブックの生のJSONでnbformat_minorを5に設定することで手動で更新することもできます。
AIノートブック編集の改善
ノートブック (エージェントモードを含む) のAIを活用した編集サポートがStableリリースで利用可能になりました。これは先月、VS Code Insidersでプレビュー機能として追加されました。
チャットを使って、コードファイルを編集するのと同じ直感的な体験でノートブックファイルを編集できるようになりました。複数のセルにわたるコンテンツの変更、セルの挿入と削除、セルタイプの変更などが可能です。この機能は、データサイエンスやドキュメントノートブックを扱う際にシームレスなワークフローを提供します。
新しいノートブックツール
VS Codeは、チャットから直接新しいJupyterノートブックを作成するための専用ツールを提供するようになりました。このツールは、クエリに基づいて新しいノートブックを計画および作成します。
エージェントモードまたは編集モードで新しいノートブックツールを使用します(chat.edits2.enabledを有効にして、改善された編集モードを有効にしてください)。質問モードを使用している場合は、チャットプロンプトに/newNotebookと入力して新しいノートブックを作成します。
AI編集間をナビゲート
差分ツールバーを使用して、セル間の各AI編集を繰り返しレビューできます。
AI編集の取り消し
セルコンテナにフォーカスがある場合、元に戻すコマンドはノートブックレベルでAI変更の全セットを元に戻します。
チャットでのテキストおよび画像出力のサポート
テキスト、エラー、画像などのノートブックセルの出力を、コンテキストとしてチャットに直接追加できるようになりました。これにより、質問、編集、またはエージェントモードを使用する際にその出力を参照できるため、言語モデルがノートブックコンテンツを理解し、支援しやすくなります。
三点メニューまたは出力を右クリックして利用できるセル出力をチャットに追加アクションを使用します。
セルエラー出力をチャットコンテキストとして添付するには
セル出力画像をチャットコンテキストとして添付するには
アクセシビリティ
チャットエージェントモードの改善
「ターミナルでコマンドを実行」など、ツール呼び出し中に手動アクションが必要な場合に通知されるようになりました。この情報は、関連するチャット応答のARIAラベルにも含まれており、スクリーンリーダーユーザーのアクセシビリティを向上させます。
さらに、エージェントモードで新しいアクセシビリティヘルプダイアログが利用可能になり、ユーザーがこの機能から何を期待できるか、そして効果的に操作する方法を説明しています。
チャット編集アクションのアクセシビリティシグナル
VS Codeは、AI生成の編集を保持または元に戻した場合に聴覚信号を提供するようになりました。これらの信号は、accessibility.signals.editsKeptとaccessibility.signals.editsUndoneで設定できます。
提案コントロールのARIAラベルの改善
提案コントロールアイテムのARIAラベルに、提案のタイプ (例: メソッド、変数) など、より豊富で記述的な情報が含まれるようになりました。この情報は以前はアイコンを介して視覚ユーザーのみが利用可能でした。
ソース管理
参照ピッカーの改善
今回のマイルストーンでは、チェックアウト、マージ、リベース、ブランチ削除など、さまざまなソースコントロール操作で使用される参照ピッカーの改善を行いました。更新された参照ピッカーには、最後のコミットの詳細 (作成者、コミットメッセージ、コミット日時) と、ローカルブランチの先行/後続情報が含まれています。この追加のコンテキストにより、さまざまな操作に適した参照を選択するのに役立ちます。
git.showReferenceDetails設定を切り替えることで、追加情報を非表示にできます。

リポジトリステータスバーアイテム
複数のリポジトリを含むワークスペースでは、ブランチピッカーの左側にアクティブなリポジトリを表示するソースコントロールプロバイダステータスバーアイテムが追加されました。新しいステータスバーアイテムは追加のコンテキストを提供するため、エディター間を移動したりソースコントロールビューを使用したりする際に、アクティブなリポジトリがどれであるかを知ることができます。
ソースコントロールプロバイダステータスバーアイテムを非表示にするには、ステータスバーを右クリックし、コンテキストメニューからSource Control Providerの選択を解除します。

Git blameエディターデコレーションの改善
入力中に「Not Yet Committed」エディターデコレーションがあまり価値がなく、むしろ気が散るというフィードバックがありました。今回のマイルストーンから、「Not Yet Committed」エディターデコレーションは、キーボードまたはマウスを使用してコードベースを移動しているときにのみ表示されるようになりました。
コミット入力カーソルのカスタマイズ
今回のマイルストーンでは、コミュニティからの貢献により、ソースコントロール入力ボックスで認識される設定のリストに、editor.cursorStyleおよびeditor.cursorWidth設定が追加されました。
ターミナル
エージェントモードの信頼性
エージェントモードがターミナルでコマンドを実行できるようにするツールには、いくつかの信頼性と互換性の改善が施されています。ツールがフリーズしたり、出力が表示されずにコマンドが終了したりするケースが減少すると予想されます。
大きな変更点の1つは、「basic」や「none」とは対照的に、「rich」品質のシェル統合という概念の導入です。VS Codeに同梱されているシェル統合スクリプトは、一般的にすべてリッチシェル統合を有効にするはずで、これによりターミナル実行ツール(および一般的なターミナル使用)で最高の体験を提供します。ターミナルタブにマウスカーソルを合わせると、シェル統合の品質を確認できます。
ターミナルIntelliSenseの改善 (プレビュー)
code CLIのIntelliSenseの強化
IntelliSenseがcode、code-insiders、code-tunnel CLIのサブコマンドをサポートするようになりました。たとえば、code tunnelと入力すると、help、kill、pruneなどの利用可能なサブコマンドが、それぞれ説明付きで表示されます。

また、以下のオプションの提案も追加しました。
- --uninstall-extension
- --disable-extension
- --install-extension
これらは、コマンドを補完するのに役立つインストール済みの拡張機能のリストを表示します。

さらに、code --locate-shell-integration-pathは、bash、zsh、fish、pwshなどのシェル固有のオプションを提供するようになりました。

グローバルコマンドの自動更新
システムbinディレクトリで変更が検出されると、ターミナルがグローバルコマンドのリストを自動的に更新するようになりました。これにより、新しくインストールされたCLIツール (例えば、npm install -g pnpmを実行した後) は、ウィンドウを再読み込みすることなく、すぐに補完に表示されます。
以前は、新しいツールの補完はキャッシュのために手動でウィンドウを再読み込みするまで表示されませんでした。
オプション値のコンテキスト
ターミナルの提案に、期待されるオプション値に関するコンテキスト情報が表示されるようになり、コマンドの補完がより簡単になりました。

Fishシェルの豊富な補完
前回のリリースでは、bashとzshの詳細なコマンド補完を追加しました。今回のイテレーションでは、fishにもそのサポートを拡大しました。補完の詳細は、シェルのドキュメントまたは組み込みのヘルプコマンドから取得されます。
たとえば、fishでjobsと入力すると、使用状況の情報とオプションが表示されます。

提案におけるファイルタイプアイコン
ターミナルでの提案に、異なるファイルタイプを示す特定のアイコンが含まれるようになり、スクリプトとバイナリを視覚的に区別しやすくなりました。

インライン提案の詳細
ターミナルにゴーストテキストとして表示されるインライン提案は、引き続き提案リストの最上部に表示されます。このリリースでは、これらのエントリにコマンド詳細を追加し、承諾する前により多くのコンテキストを提供します。

新しい簡素化された詳細なタブホバー
デフォルトでは、ターミナルタブに表示される詳細が大幅に少なくなりました。

すべてを表示するには、ホバーの下部にある詳細を表示ボタンを使用します。

署名付きPowerShellシェル統合
シェル統合のPowerShellスクリプトが署名されるようになり、デフォルトのPowerShell実行ポリシーRemoteSignedを使用しているWindowsでのシェル統合が自動的に機能するはずです。シェル統合の利点はこちらで詳しく読むことができます。
ターミナルシェルタイプ
今回のイテレーションで、ターミナルシェルAPIを完成させ、拡張機能がターミナルでユーザーの現在のシェルタイプを確認できるようになりました。イベントonDidChangeTerminalStateを購読することで、ターミナルでのユーザーのシェルタイプの変更を確認できます。例えば、シェルがzshからbashに変わる可能性があります。
識別可能なすべてのシェルは現在こちらにリストされています。
リモート開発
Linuxレガシーサーバーのサポート終了
リリース 1.99 以降、これらのサーバーへの接続はできなくなりました。1.97 リリースで述べたように、サポートされている Linux ディストリビューションへの移行を完了するまでに追加の時間を必要とするユーザーは、回避策として glibc と libstdc++ のカスタムビルドを提供できます。この回避策の詳細については、FAQ セクションを参照してください。
Enterprise
macOSデバイス管理
VS Codeは、Windowsに加えてmacOSでもデバイス管理をサポートするようになりました。これにより、システム管理者はMicrosoft Intuneのような集中管理システムからポリシーをプッシュできます。
詳細については、エンタープライズサポートドキュメントを参照してください。
拡張機能への貢献
Python
Pylanceによる編集可能なインストールへのより良いサポート
Pylanceは、PEP 660で定義されている編集可能モード(pip install -e .)でインストールされたパッケージのインポートパス解決をサポートするようになり、これらのシナリオでのIntelliSenseエクスペリエンスが向上しました。
この機能はpython.analysis.enableEditableInstallsを介して有効になり、今月中にデフォルトの体験として展開を開始する予定です。何か問題が発生した場合は、Pylance GitHubリポジトリで報告してください。
Pylanceによるより高速で信頼性の高い診断体験 (実験的)
拡張機能のリリースバージョンを使用する際に、Pylanceの診断の精度と応答性を向上させる変更の展開を開始しています。これは、複数のファイルが開いているか、最近閉じられたシナリオで特に役立ちます。
展開を待たずに使用したい場合は、python.analysis.usePullDiagnosticsを設定できます。何か問題が発生した場合は、Pylance GitHubリポジトリで報告してください。
PylanceカスタムNode.js引数
python.analysis.nodeExecutableを使用する際に、カスタム引数をNode.jsに直接渡すことができる新しいpython.analysis.nodeArguments設定が追加されました。デフォルトでは"--max-old-space-size=8192"に設定されていますが、ニーズに合わせて変更できます(たとえば、大規模なワークスペースで作業する際にNode.jsにより多くのメモリを割り当てるため)。
さらに、python.analysis.nodeExecutableをautoに設定すると、Pylanceは自動的にNode.jsをダウンロードするようになりました。
拡張機能作成
Terminal.shellIntegration の微調整
Terminal.shellIntegration API は、コマンド検出が発生した場合にのみ有効になるようになりました。以前は、現在の作業ディレクトリのみが報告された場合でも機能するはずでしたが、これによりTerminalShellIntegration.executeCommandがうまく機能しませんでした。
さらに、TerminalShellIntegration.executeCommandはより一貫した動作をするようになり、複数のコマンドを実行する単一のコマンドラインに対して複数の「サブ実行」を追跡します。これは、エージェントモードの信頼性セクションで述べたように、リッチシェル統合に依存します。
提案されたAPI
タスクの問題マッチャーのステータス
拡張機能がタスクの問題マッチャーがいつ行の処理を開始および終了するかを監視できるように、提案されたAPIを追加しました。taskProblemMatcherStatusで有効にします。
LLMに画像を送信
今回のイテレーションでは、拡張機能が画像を添付し、視覚要求を言語モデルに送信できる提案されたAPIを追加しました。添付ファイルは、画像の生の、base64エンコードされていないバイナリデータ (Uint8Array) である必要があります。最大画像サイズは5MBです。
使用例を確認し、このAPIのステータスに関する最新情報を得るには、このAPI提案の課題をご覧ください。
エンジニアリング
Marketplaceからの新しい/latest APIを使用して拡張機能のアップデートを確認
数マイルストーン前、拡張機能のアップデートを確認するための新しいAPIエンドポイントをvscode-unpkgサービスで導入しました。Marketplaceは現在同じエンドポイントをサポートしており、VS Codeはこのエンドポイントを使用して拡張機能のアップデートを確認しています。これは実験的な機能であり、段階的にユーザーに展開されます。
ありがとうございます
最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。
問題追跡
問題追跡への貢献者
- @gjsjohnmurray (John Murray)
- @albertosantini (Alberto Santini)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
プルリクエスト
vscodeへの貢献者
- @a-stewart (Anthony Stewart): 時間変更後に日付が1日足りなくなるのを避けるため、テストに2時間のオフセットを追加 PR #243194
- @acdzh (Vukk): JSONEditingServiceで複数の値を更新する際のhasEditsフラグの値の修正 PR #243876
- @c-claeys (Cristopher Claeys): チャット再試行アクションでリクエスト試行回数をインクリメント PR #243471
- @ChaseKnowlden (Chase Knowlden): マージエディターのアクセシビリティヘルプを追加 PR #240745
- @dibarbet (David Barbet): C# onEnterRulesをドキュメントコメントを考慮するように更新 PR #242121
- @dsanders11 (David Sanders): docs: vscode.d.ts 内のいくつかの壊れた @linkを修正 PR #242407
- @jacekkopecky (Jacek Kopecký): SCM入力エディターでより多くのカーソル設定を尊重する PR #242903
- @joelverhagen (Joel Verhagen): 拡張機能URLが設定されていない場合でもサポートURLとライセンスURLを表示 PR #243565
- @kevmo314 (Kevin Wang): コメントのタイプミスを修正 PR #243145
- @liudonghua123 (liudonghua): explorer.copyPathSeparator をサポート PR #184884
- @mattmaniak: テレメトリー情報テーブルを少し狭くして配置を調整 PR #233961
- @notoriousmango (Seong Min Park)
- fix: マークダウンプレビューでCORSエラーのある画像にコピーコマンドを使用 PR #240508
- 行区切りを含む設定の文字インデントの誤りを修正 PR #242074
 
- @pprchal (Pavel Prchal): アイコンの右クリックにローカライズを追加 PR #243679
- @SimonSiefke (Simon Siefke): feature: 設定でフォントファミリーピッカーをサポート PR #214572
- @tribals (Anthony): PowerShell Coreユーザーインストールの検出を追加 PR #243025
- @tusharsadhwani (Tushar Sadhwani): git showref 引数を明確にする PR #242483
- @wszgrcy (chen): fix: 拡張機能の未処理例外リスニング Maximum call stack size exceeded を修正 PR #244690
- @zyoshoka (zyoshoka): typescript-basics拡張機能パスを修正 PR #243833
vscode-css-languageserviceへの貢献者
- @lilnasy (Arsh): @starting-styleをサポート PR #421
vscode-custom-dataへの貢献
- @rviscomi (Rick Viscomi): 計算されたベースラインステータスを追加 PR #111
vscode-extension-samplesへの貢献
- @ratmice (matt rice): esbuildスクリプトを修正 PR #1154
vscode-extension-telemetryへの貢献
- @minestarks (Mine Starks): common.platformversion から余分なブレースを削除 PR #221
vscode-js-debugへの貢献者
- @erikson84 (Erikson Kaszubowski): fix: windowsでブレークポイントを設定する際にパスにバックスラッシュがあることを確認 PR #2184
- @xymopen (xymopen_Official): npmスクリプトランナーとしてusenodeをサポート PR #2178
vscode-mypyへの貢献
- @ivirabyan (Ivan Virabyan): mypy設定で指定されたファイルのみを報告 PR #352
vscode-prompt-tsxへの貢献者
- @dsanders11 (David Sanders): docs: READMEの例のsendRequest API名を修正 PR #159
- @tamuratak (田村 隆)
vscode-pull-request-githubへの貢献者
- @aedm (Gábor Gyebnár): sanitizedLowercaseIssueTitleを設定ドキュメントに追加 PR #6690
vscode-python-debuggerへの貢献者
- @rchiodo (Rich Chiodo): debugpyを最新バージョンに更新 PR #653
vscode-testへの貢献
- @SKaplanOfficial (Stephen Kaplan): fix: 展開時に「Invalid extraction directory」を回避 PR #303
language-server-protocolへの貢献者
- @MariaSolOs (Maria José Solano): メタモデルの範囲フォーマット機能を更新 PR #2106
python-environment-toolsへの貢献
- @CharlesChen0823: winregをバンプ PR #195
- @elprans (Elvis Pranskevichus)