2025年6月 (バージョン 1.102)
リリース日: 2025年7月9日
アップデート 1.102.1: このアップデートでは、これらの問題に対処しています。
アップデート 1.102.2: このアップデートでは、これらの問題に対処しています。
アップデート 1.102.3: このアップデートでは、これらの問題に対処しています。
ダウンロード: Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
Visual Studio Codeの2025年6月リリースへようこそ。このバージョンには、皆様に喜んでいただける多くのアップデートが含まれています。主なハイライトは以下の通りです。
-
チャット
-
MCP
-
エディターエクスペリエンス
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の Updates を参照してください。Insiders: 新機能をいち早く試したいですか?ナイトリービルドのInsiders をダウンロードして、最新のアップデートをいち早く試すことができます。
チャット
Copilot Chatがオープンソース化
GitHub Copilot Chat拡張機能をオープンソース化したことをお知らせします!ソースコードは現在、MITライセンスの下で microsoft/vscode-copilot-chat にて公開されています。
これは、透明性とコミュニティとのコラボレーションに対する我々のコミットメントにおける重要なマイルストーンです。この拡張機能をオープンソース化することで、コミュニティは以下のことが可能になります。
- 直接貢献する: VS CodeにおけるAI駆動のチャットエクスペリエンスの開発に。
- 実装を理解する: チャットモード、カスタム指示、AI統合の実装について。
- 我々の成果を基盤にする: より優れたAI開発ツールを作成するために。
- 未来を形作る: AI支援コーディングの将来に参加するために。
リポジトリを探索し、エージェントモード、インラインチャット、MCP統合といった機能がどのように実装されているかを確認できます。コミュニティからの貢献、フィードバック、コラボレーションを歓迎します。
このマイルストーンと、オープンソースAIエディターツールに対する我々の広範なビジョンについての詳細は、詳細なブログ記事「Open Source AI Editor - First Milestone」をご覧ください。
チャットモードの改善
前回のマイルストーンでは、カスタムチャットモードのプレビューを行いました。組み込みのチャットモード「Ask」、「Edit」、「Agent」に加え、特定の指示と、LLMがリクエストに応答する際に従うべき許可されたツールセットを定義した独自のチャットモードを作成できるようになりました。
今回のマイルストーンでは、この領域でいくつかの改善とバグ修正を行いました。
言語モデルの構成
多くの要望により、チャットモードで使用する言語モデルを指定できるようになりました。chatmode.mdファイルにmodelメタデータプロパティを追加し、モデル識別子を指定してください(モデル情報についてはIntelliSenseを提供しています)。

編集サポートの改善
チャットモード、プロンプト、および指示ファイルのエディターが、すべてのサポートされているメタデータプロパティに対する補完、検証、ホバーをサポートするようになりました。


チャットビューのギアメニュー
チャットビューツールバーのチャットの構成 (Configure Chat)アクションから、カスタムモードや、再利用可能な指示、プロンプト、ツールセットを管理できます。

モード (Modes)を選択すると、現在インストールされているすべてのカスタムモードが表示され、モードのオープン、新規作成、削除が可能になります。
vscodeリンク経由でモード、プロンプト、指示をインポート
チャットモードや、再利用可能なプロンプト、指示ファイルを、Gistや我々の awesome-copilot コミュニティリポジトリなどの外部リンクからインポートできるようになりました。例えば、以下のリンクはBurkeの「GPT 4.1 Beast Mode」のチャットモードファイルをインポートします。
GPT 4.1 Beast ModeをVS Codeに追加する
インポートを実行すると、現在のワークスペースまたはユーザー設定のどちらを保存先に選ぶか確認され、URLからモードファイルをインポートする前に名前の確定を求められます。
awesome-copilot で公開されている100以上のコミュニティ貢献による指示、プロンプト、チャットモードをぜひお試しください。
カスタム指示の生成
プロジェクトのカスタム指示を設定すると、コーディング標準やプロジェクト規約に関するコンテキストを提供することで、AIの提案を大幅に改善できます。しかし、ゼロから効果的な指示を作成するのは難しい場合があります。
今回のマイルストーンでは、ワークスペース用のカスタム指示をブートストラップするのに役立つChat: Generate Instructionsコマンドを導入しました。コマンドパレットまたはチャットビューの「構成」メニューからこのコマンドを実行すると、エージェントモードがコードベースを分析し、プロジェクトの構造、技術、パターンを反映したカスタマイズされた指示を生成します。
このコマンドは、.githubフォルダー内にcopilot-instructions.mdファイルを作成するか、既存の指示ファイルの改善を提案します。生成された指示を確認し、チームの具体的なニーズに合わせてカスタマイズできます。
指示を使用してAIの応答をカスタマイズする方法の詳細をご覧ください。
指示ファイルのオンデマンド読み込み
指示ファイルを使用して、コーディング習慣やプロジェクトの要件を記述できます。指示は、チャットリクエストへのコンテキストとして手動または自動で含めることができます。
さまざまなメカニズムがサポートされています。ドキュメントのカスタム指示セクションを参照してください。
条件付きで含めたい大規模な指示については、applyToヘッダーで定義されたglobパターンと組み合わせて.instructions.mdファイルを使用できます。globパターンがチャットのコンテキスト内の1つ以上のファイルと一致すると、ファイルが自動的に追加されます。
今回のリリースで、大規模言語モデルがオンデマンドで指示を読み込めるようになりました。各リクエストには、globパターンと説明を含むすべての指示ファイルのリストが渡されます。この例では、LLMはTypeScriptファイル用の指示がコンテキストに明示的に追加されていません。そのため、TypeScriptファイルを作成する前にコーディングスタイルルールを探しに行きます。

以前のリクエストの編集 (試験的機能)
以前のリクエストをクリックして、テキストの内容、添付されたコンテキスト、モード、モデルを変更できるようになりました。この変更を送信すると、その後のすべてのアクティビティが削除され、行った編集が取り消され、新しいリクエストがチャットに送信されます。
リクエストを編集するためのさまざまなエントリーポイントを段階的に導入しており、これにより、推奨される編集および取り消しのフローに関するフィードバックを収集する予定です。ユーザーは、試験的な chat.editRequests ... 設定で、好みのモードを設定できます。
- ... : リクエストをホバーしてテキストを選択すると、インラインで編集を開始できます。
- ... : リクエストをホバーして表示されるツールバーのボタンから、インラインでの編集を開始できます。
- ... : リクエストをホバーして表示されるツールバーから、チャット下部の入力ボックスでの編集を開始できます。
ターミナルの自動承認 (試験的機能)
エージェントモードには、ターミナル内のコマンドを自動承認するメカニズムが搭載されました。デフォルト設定を使用したデモを以下に示します。
現在、許可リストと拒否リストの2つの設定があります。許可リストは、コマンドのプレフィックスまたは正規表現のリストで、一致した場合に明示的な承認なしでコマンドの実行を許可します。例えば、以下を設定すると、npm run testで始まる任意のコマンド、または完全に git status や git log であるコマンドの実行が許可されます。
"github.copilot.chat.agent.terminal.allowList": {
"npm run test": true,
"/^git (status|log)$/": true
}
これらの設定は設定スコープ全体でマージされるため、ユーザー承認済みのコマンドセットと、ワークスペース固有の承認済みコマンドセットを両方持つことができます。
連結されたコマンドについては、シェルに基づいてこれらのケースを検出し、すべてのサブコマンドの承認を求めるようにしています。そのため、foo && bar の場合は foo と bar の両方が許可されていることを確認し、その場合にのみ承認なしで実行されます。また、echo $(pwd) のようなインラインコマンドも検出し、echo $(pwd) と pwd の両方をチェックするようにしています。
拒否リストは許可リストと同じ形式ですが、許可リストを上書きして強制的に承認を求めます。今のところ、これは主に許可リストに広範なエントリーがあり、その中に含まれる特定のコマンドをブロックしたい場合に便利です。例えば、以下を設定すると、npm runで始まるすべてのコマンドが許可されますが、npm run dangerで始まるものは除外されます。
"github.copilot.chat.agent.terminal.allowList": {
"npm run": true
},
"github.copilot.chat.agent.terminal.denyList": {
"npm run danger": true
}
ワークスペースの信頼によるプロンプトインジェクションに対する保護のおかげで、この機能を実装する際のセキュリティに関する哲学は、許可リストには無害なコマンドの小さなセットを含め、万が一すり抜けてしまった場合に備えて、特に危険なコマンドを拒否リストに含めることです。デフォルトでは許可リストは空ですが、どのようなデフォルトにすべきか検討中です。現在の考えを以下に示します。
- 許可リスト:
echo,cd,ls,cat,pwd,Write-Host,Set-Location,Get-ChildItem,Get-Content,Get-Location - 拒否リスト:
rm,rmdir,del,kill,curl,wget,eval,chmod,chown,Remove-Item
この機能に追加したい2つの主要な点は、リストに新しいコマンドを簡単に追加するためのUIエントリーポイント (#253268) と、LLMがコマンドの安全性を評価することを許可するオプトインオプション (#253267) です。また、次回のリリースで、これらの設定から github.copilot. プレフィックスを削除 (#253314) し、マージ (#253472) する予定です。
ターミナルコマンドの簡略化
エージェントモードは、念のため cd 文を含むコマンドを実行しようとすることがあります。現在、カレントワーキングディレクトリと一致する場合にこのケースを検出し、実行されるコマンドを簡略化するようになりました。

タスクとターミナルのエージェント認識
エージェントモードは、自身が作成したバックグラウンドターミナルと、現在アクティブに実行されているタスクを認識するようになりました。エージェントは新しい GetTaskOutput ツールを使用してタスク出力を読み取ることができ、これにより重複するタスクの実行を防ぎ、ワークスペースのコンテキストを向上させます。

チャットビューの最大化
セカンダリサイドバーを最大化してエディターエリア全体に広げ、プライマリサイドバーとパネルエリアを非表示にできるようになりました。VS Codeは再起動後もこの状態を記憶し、エディターやビューを開くとチャットビューを復元します。
閉じるボタンの横にある新しいアイコンを使用して最大化状態を切り替えるか、コマンドパレットから新しいコマンド workbench.action.toggleMaximizedAuxiliaryBar を使用できます。
エージェントモードのバッジ表示
ウィンドウがフォーカスされていない状態でエージェントがユーザーの確認を必要とする場合、ドック内のアプリケーションアイコンにバッジを表示するようになりました。バッジは、トリガーとなった関連ウィンドウがフォーカスを受けるとすぐに消えます。

このバッジは、 ... 設定で有効または無効にできます。
コマンドラインからチャットを開始
VS Code CLIに新しいサブコマンド chat が追加され、カレントワーキングディレクトリで指定されたプロンプトを使用してチャットセッションを開始できるようになりました。
基本構文は code chat [options] [prompt] で、オプションは以下の通りです。
-m --mode <mode>: チャットセッションで使用するモード。利用可能なオプション: 'ask'、'edit'、'agent'、またはカスタムモードの識別子。デフォルトは 'agent' です。-a --add-file <path>: チャットセッションのコンテキストとしてファイルを追加します。--maximize: チャットセッションビューを最大化します。-r --reuse-window: チャットセッションに最後にアクティブだったウィンドウを強制的に使用します。-n --new-window: チャットセッション用に空のウィンドウを強制的に開きます。
最後に - を渡すことで、標準入力からの読み込みがサポートされます。例: ps aux | grep code | code chat <prompt> -
Fetchツールが非HTTP URLをサポート
モデルが file:// URLなどの非HTTP URLでFetchツールを呼び出したい場合があることが判明しました。これを禁止するのではなく、FetchツールがこれらのURLをサポートし、そのURLにあるファイルやリソースの内容を返すようになりました。画像もサポートされています。
言語モデルへのアクセス管理の明確化
拡張機能によって提供される言語モデルへのアクセスを管理するためのUXを刷新しました。以前は、アカウントメニューに AccountName (GitHub Copilot Chat) という項目がありましたが、これはGitHub Copilot Chatが使用しているアカウントとは関係ありませんでした。むしろ、どの拡張機能がCopilot Chatによって提供される言語モデルにアクセスできるかを管理するものでした。
これをより明確にするため、AccountName (GitHub Copilot Chat) 項目を削除し、言語モデルへのアクセスを管理... (Manage Language Model Access...) という新しい項目に置き換えました。この項目を選択すると、どの拡張機能がGitHub Copilot Chatによって提供される言語モデルにアクセスできるかを管理できるクイックピックが開きます。

これがより明確だと考えています... とはいえ、将来のリリースでは、言語モデルに対するよりきめ細かなアクセス制御(例えば、拡張機能によって提供される「すべての」モデルではなく、特定のモデルのみを許可するなど)を検討する予定ですので、ご期待ください。
チャットリクエストの読み取り
チャット拡張機能自体がオープンソースになったため、私たちが内部でしばらく使用してきたデバッグツールの1つにアクセスできるようになりました。Copilot Chatが行ったすべてのリクエストの詳細を簡単に確認するには、「Show Chat Debug View」コマンドを実行してください。各リクエストのエントリーを持つツリービューが表示されます。モデルに送信された完全なプロンプト、有効になっていたツール、応答、その他の主要な詳細を確認できます。右クリック > 「Export As...」からリクエストログを保存できます。
このビューには、ツール呼び出し自体や、Simple Browserで開く prompt-tsx デバッグビューも含まれています。
🚨 注意: このログは問題のトラブルシューティングに非常に役立ち、エージェントの動作に関する問題を報告する際に共有していただけると助かります。ただし、このログにはファイルの内容やターミナル出力などの個人情報が含まれている可能性があります。他の人と共有する前に、内容を慎重に確認してください。
編集ツールの改善
このリリースには、GPT-4モデルとSonnetモデルに使用される編集ツールの予測可能性と信頼性に対するいくつかの変更が含まれています。このリリースではより信頼性の高い編集動作が期待でき、今後のリリースでもこれらのツールを改善し続けます。
MCP
VS CodeにおけるMCPサポートが正式に利用可能に
私たちはここ数ヶ月、VS CodeでのMCPサポートの拡大に取り組んでおり、仕様におけるMCP機能の全範囲をサポートしています。今回のリリースをもって、VS CodeにおけるMCPサポートが正式に利用可能になりました!
さらに、組織はGitHub Copilotポリシーを使用してMCPサーバーの可用性を制御できるようになりました。GitHub Copilotエンタープライズのポリシーと機能の管理の詳細については、GitHub Copilotドキュメントを参照してください。
キュレーションされたリストから人気のあるMCPサーバーをいくつかインストールして、始めることができます。VS CodeでMCPサーバーを使用する方法や、それらを使用してエージェントモードを拡張する方法の詳細をご覧ください。

独自のMCPサーバーを構築したい場合は、VS CodeでのMCP機能の活用方法に関する詳細は、MCP開発者ガイドを確認してください。
Elicitationsのサポート
最新のMCP仕様では、MCPサーバーがMCPクライアントから入力を要求する方法として Elicitations のサポートが追加されました。VS Codeの最新バージョンはこの仕様を採用し、Elicitationsのサポートを含んでいます。
MCPサーバーの検出とインストール
拡張機能ビューの新しい MCP Servers セクションには、キュレーションされたリストにある人気のあるMCPサーバーに直接リンクするウェルカムコンテンツが含まれています。ウェブサイトにアクセスして利用可能なMCPサーバーを探索し、任意のMCPサーバーで Install を選択してください。これにより自動的にVS Codeが起動し、サーバーのreadmeとマニフェスト情報を表示するMCPサーバーエディターが開きます。サーバーの詳細を確認し、Install を選択して、VS Codeインスタンスにサーバーを追加できます。
インストールされると、MCPサーバーは自動的に拡張機能ビューの MCP SERVERS - INSTALLED セクションに表示され、そのツールはチャットビューのツールクイックピックで使用可能になります。これにより、MCPサーバーが正しく動作していることを確認し、その機能に即座にアクセスすることが容易になります。
MCPサーバー管理ビュー
拡張機能ビューの新しい MCP SERVERS - INSTALLED ビューにより、インストールされたMCPサーバーの監視、構成、制御が簡単になります。

このビューにはインストール済みのMCPサーバーがリストアップされ、コンテキストメニューを通じていくつかの管理アクションを提供します。

- Start Server / Stop Server / Restart Server: サーバーの実行状態を制御します。
- Disconnect Account: サーバーからアカウントアクセスを削除します。
- Show Output: トラブルシューティングのためにサーバーの出力ログを表示します。
- Show Configuration: サーバーのランタイム構成を開きます。
- Configure Model Access: サーバーがどの言語モデルにアクセスできるかを管理します。
- Show Sampling Requests: デバッグのためにサンプリングリクエストを表示します。
- Browse Resources: サーバーによって提供されるリソースを探索します。
- Uninstall: VS Codeインスタンスからサーバーを削除します。
インストール済みのMCPサーバーを選択すると、VS Codeはサーバーのreadme詳細、マニフェスト、ランタイム構成を表示するMCPサーバーエディターを開きます。これにより、サーバーの機能と現在の設定の概要が提供され、サーバーが何を行い、どのように構成されているかを理解するのが簡単になります。

MCP SERVERS - INSTALLED ビューには、コミュニティウェブサイトに直接移動できる Browse MCP Servers... アクションも用意されており、VS Code内から常にサーバー検出にアクセスできます。

ファーストクラスのリソースとしてのMCPサーバー
MCPサーバーは、ユーザータスクやその他のプロファイル固有の構成と同様に、VS Codeのファーストクラスのリソースとして扱われるようになりました。これは、MCPサーバーがユーザー設定に保存されていた以前のアプローチからの重要なアーキテクチャ上の改善です。この変更により、MCPサーバー管理がより堅牢になり、一般的なVS Code設定とMCPサーバー構成の間の懸念の分離が向上します。MCPサーバーをインストールまたは構成すると、メインの設定ファイルがクリーンで焦点を絞った状態に保たれるよう、適切なプロファイル固有の場所に自動的に保存されます。
- 専用ストレージ: MCPサーバーは、ユーザー設定ファイルを乱雑にするのではなく、各プロファイル内の専用の
mcp.jsonファイルに保存されるようになりました。 - プロファイル固有: 各VS Codeプロファイルは独自のMCPサーバーセットを維持し、異なるワークフローやプロジェクトに対して異なるサーバー構成を持つことができます。
- 設定同期との統合: MCPサーバーは設定同期を通じてデバイス間でシームレスに同期され、同期対象をきめ細かく制御できます。
MCP移行サポート
MCPサーバーがファーストクラスのリソースとなり、それに関連する構成が変更されたため、VS Codeは以前のMCPサーバー構成形式からアップグレードするユーザーに対して包括的な移行サポートを提供します。
- 自動検出:
settings.jsonにある既存のMCPサーバーは自動的に検出され、新しいプロファイル固有のmcp.json形式に移行されます。 - リアルタイム移行: ユーザー設定にMCPサーバーを追加すると、VS Codeは変更を説明する便利な通知とともに即座に移行します。
- クロスプラットフォームサポート: ローカル、リモート、WSL、Codespaces環境を含むすべての開発シナリオで、移行はシームレスに機能します。
この移行により、手動で介入することなく既存のMCPサーバー構成が動作し続け、新しいアーキテクチャの強化された管理機能を提供します。
MCP構成のDev Containerサポート
Dev Container構成 devcontainer.json と Dev Container Feature構成 devcontainer-feature.json は、パス customizations.vscode.mcp でMCPサーバー構成をサポートします。Dev Containerが作成されると、収集されたMCPサーバー構成はリモートMCP構成ファイル mcp.json に書き込まれます。
Playwright MCPサーバーを構成するサンプル devcontainer.json
{
"image": "mcr.microsoft.com/devcontainers/typescript-node:latest",
"customizations": {
"vscode": {
"mcp": {
"servers": {
"playwright": {
"command": "npx",
"args": ["@playwright/mcp@latest"]
}
}
}
}
}
}
MCPリソースにアクセスするコマンド
MCPサーバーの操作をよりアクセスしやすくするために、MCP構成ファイルの管理とアクセスに役立つコマンドを追加しました。
- MCP: Open User Configuration - ユーザーレベルの
mcp.jsonファイルへの直接アクセス。 - MCP: Open Remote User Configuration - リモートユーザーレベルの
mcp.jsonファイルへの直接アクセス。
これらのコマンドはMCP構成ファイルへの迅速なアクセスを提供し、サーバー構成を直接表示および管理するのを容易にします。
MCP認証の迅速な管理
MCPギアメニューとクイックピックからアカウントのサインアウトや切断ができるようになりました。
-
MCPビューのギアメニュー:

-
MCPエディターのギアメニュー:

-
MCPクイックピック:

アカウントが他のMCPサーバーまたは拡張機能によって使用されている場合は Disconnect アクションが表示され、アカウントがMCPサーバーのみによって使用されている場合は Sign Out が表示されます。サインアウトアクションはVS Codeからアカウントを完全に削除しますが、切断アクションはMCPサーバーからのアカウントへのアクセスのみを削除します。
アクセシビリティ
エディター内からすべての編集を保持
以前は、すべての編集を承諾するにはチャットビューにフォーカスがある必要がありました。現在はエディターにフォーカスがある状態で、Keep All Edits コマンド (⌥⌘Y (Windows, Linux Ctrl+Alt+Y)) を実行できます。
ユーザーアクションが必要な場合のサウンド
チャットがユーザーの操作を必要とする場合を示すアクセシビリティ信号を微調整し、デフォルト値を auto に設定したため、スクリーンリーダーユーザーはこの信号を聞くことができます。この動作は ... 設定で構成できます。
チャットでのレンダリングエラー発生時のアラート
以前は、チャットレンダリングエラーが発生したときにスクリーンリーダーユーザーに通知されませんでした。現在はユーザーにこの情報が通知され、キーボードでフォーカスすることも可能になりました。
コード編集
ミドルクリックでのスクロール
設定: ...
マウスのミドルボタン(スクロールホイール)をクリックしたままにするか、押し下げて動かすだけでエディターをスクロールできます。
有効にすると、カーソルがパンアイコンに変わり、マウスを上下に動かすとスムーズにスクロールします。スクロール速度は、最初のクリック位置からマウスをどれだけ動かしたかによって決まります。ミドルボタンを放すか、もう一度クリックしてスクロールを停止し、標準のカーソルに戻ります。
既知の競合
この機能を有効にすると、マウスのミドルボタンに関連付けられた他のアクションと干渉する可能性があります。例えば、列選択 ( ... ) が有効な場合、ミドルボタンを押し下げるとテキストが選択されます。同様にLinuxでは、選択クリップボード ( ... ) が有効な場合、ミドルボタンがクリックされるとクリップボードから内容が貼り付けられます。
これらの競合を避けるため、一度に1つの設定のみを有効にしてください。
コード補完のSnooze (一時停止)
新しい Snooze 機能を使用して、インライン候補と次編集候補 (NES) を一時的に一時停止できるようになりました。これは、提案の邪魔をされずに集中したいときに役立ちます。
候補を一時停止するには、ステータスバーのCopilotダッシュボードを選択するか、コマンドパレットから Snooze Inline Suggestions コマンドを実行して、ドロップダウンメニューから期間を選択します。一時停止期間中は、インライン候補やNESは表示されません。

カスタムキーバインドを割り当てて、コマンドに引数として希望の期間を渡すことで、特定の期間、候補をすばやく一時停止することもできます。例:
{
"key": "...",
"command": "editor.action.inlineSuggest.snooze",
"args": 10
}
エディターエクスペリエンス
Windowsのアクセントカラー
設定: ...
Windows上のVS Codeは、Windows設定(「タイトルバーとウィンドウの枠にアクセントカラーを表示する」)で有効になっている場合、ウィンドウフレームの枠としてアクセントカラーを使用できるようになりました。

新しい ... 設定を使用すると、ウィンドウ枠の色を制御できます。default を使用するとWindowsのアクセントカラーが使用され、off を使用すると枠が無効になり、特定のカラー値を指定してカスタムカラーを使用することもできます。
注意: 枠は関連するWindows設定が有効な場合にのみ表示されます。まだワークスペースごとに設定することはできませんが、そのサポートに取り組んでいます。
設定検索の候補 (プレビュー)
設定: ...
今回のマイルストーンでは、設定エディターのスパークルトグルを変更し、AI検索結果と非AI検索結果を切り替えるトグルとして機能するようにしました。AI設定検索結果は、文字列一致に基づく結果ではなく、意味的に類似した結果です。例えば、「文字サイズを大きくする (increase text size)」と検索すると、editor.fontSize がAI設定検索結果として表示されます。
トグルはAI結果が利用可能な場合にのみ有効になります。AI設定検索が期待される設定を見つけられなかった場合についてのフィードバックを歓迎します。また、次の反復でこの設定をデフォルトで有効にする予定です。
タスク
実行中のすべてのタスクを再実行
新しい Tasks: Rerun All Running Tasks コマンドを使用して、現在実行中のすべてのタスクをすばやく再実行できるようになりました。これは、複数の同時タスクを伴うワークフローに役立ち、それぞれを個別に停止して再実行することなく、すべてを一度に再起動できます。
タスクの再起動で更新されたtasks.jsonをリロード
Restart Task コマンドは、再起動前に tasks.json をリロードするようになり、最近の変更が確実に反映されるようになりました。以前は、タスクを再起動してもタスク構成の変更が反映されず、混乱やタスクの動作が古くなる可能性がありました。
ターミナル
ターミナルサジェスト (プレビュー)
ターミナルサジェスト機能を大幅に改善しました。
選択モード
新しい設定 terminal.integrated.suggest.selectionMode は、デフォルトで Tab キー(Enter ではなく)が候補を受け入れることを理解するのに役立ちます。候補がどのように選択され、受け入れられるかを制御するために、partial、always、never モードを選択できます。
デフォルト値は partial で、これはナビゲーションが発生するまで Tab キーが候補を受け入れることを意味します。

詳細情報
ターミナルサジェストコントロールのステータスバーにある Learn More アクション (kb(workbench.action.terminal.suggestLearnMore)) が、最初の10回、またはコントロールが10秒間表示された場合に強調表示されるようになりました。これにより、サジェストコントロールの構成、無効化、読み取り方法を発見しやすくなります。

マルチコマンドサポート
ターミナルサジェストがマルチコマンドラインをサポートしました。;、&& などのシェル演算子でコマンドをリンクでき、行上のすべてのコマンドに対する候補を受け取ることができます。

シンボリックリンク情報
サジェスト詳細コントロールにシンボリックリンクのrealpathを表示するようになり、他の候補と区別するためにシンボリックリンクファイルとフォルダーに固有のアイコンを追加しました。

ソートの改善
最も関連性の高い候補を最初に表示するために、多くの方法でソートを改善しました。例えば、main と master を他のブランチよりも優先します。

Git Bashの改善
フォルダーとファイルに対するGit Bashパスの補完を正しくサポートするようになりました。さらに、組み込みコマンドをソースとして候補として表示します。

拡張機能への貢献
GitHub Pull Requests
プルリクエストやIssueの作業、作成、管理を可能にするGitHub Pull Requests拡張機能で、さらなる進展がありました。
GitHub Pull Requests 拡張機能と Copilotコーディングエージェント との間の統合が深まり、VS Codeから直接コーディングエージェントセッションを開始、表示、管理できるようになりました。
これらの機能には、ワークスペースが Copilotコーディングエージェントが有効になっている リポジトリで開かれている必要があります。
リリースに含まれるすべての内容については、拡張機能の 0.114.0 リリースの変更ログ を確認してください。
コーディングエージェントセッションを開始 (プレビュー)
チャットで #copilotCodingAgent ツールを呼び出すことで、Copilotにバックグラウンドでローカルの変更を継続するように依頼します。
このツールは、保留中の変更をリモートブランチに自動的にプッシュし、ユーザーの指示とともにそのブランチからコーディングエージェントセッションを開始します。

試験的機能: ... 設定で、より深いUI統合を有効にできます。有効にすると、エージェントが有効になっているリポジトリのチャットビューに新しい Delegate to coding agent ボタンが表示されます。
ステータスの追跡
Copilot on my behalf クエリにおいて、コーディングエージェントのプルリクエストのステータスを通知し、目立つように表示するための改善を行いました。数値バッジが新しい変更を示します。

セッションログ
コーディングエージェントセッションのセッションログをVS Codeで直接表示できるようになりました。これにより、コードの変更やツールの使用など、コーディングエージェントによって実行されたアクションの履歴を確認できます。

#activePullRequest ツールの強化
#activePullRequest ツールは、プルリクエストのタイトル、説明、チャットで使用するステータスなどの情報を返します。これを使用して、コーディングエージェントのセッション情報を取得できるようになりました。
このツールは、コーディングエージェントエクスペリエンスを通じて作成されたプルリクエストを開くと、チャットに自動的に添付されるため、コンテキストを維持し、必要に応じてプルリクエストに取り組み続けることができます。
Python
Python Environments 拡張機能の改善
Python Environments拡張機能 は今回のリリースでいくつかの改善を受けました。
- 2.0.0より後のPoetryバージョンのターミナル有効化サポートを磨き上げました。
- Quick Create環境作成オプションを使用して、同じワークスペース内で一意に命名された複数の仮想環境をセットアップできるようになりました。
- 生成された
.venvフォルダーはデフォルトでgit無視されるようになりました。 - 環境削除プロセスを改善しました。
Python拡張機能の一部として含まれるPython Environments
Python Environments拡張機能 をPython拡張機能のオプションの依存関係としてロールアウトを開始しています。これは、PythonデバッガーやPylance拡張機能と同様に、Python拡張機能と一緒にPython Environments拡張機能が自動的にインストールされ始める可能性があることを意味します。この段階的なロールアウトにより、一般公開の前に早期フィードバックを収集し、信頼性を確保できます。
Python Environments拡張機能には、これまでに導入されたすべてのコア機能が含まれています。これには以下が含まれます: Quick Createを使用したワンクリック環境セットアップ、自動ターミナル有効化 ("python-envs.terminal.autoActivationType" 設定経由)、およびサポートされているすべての 環境およびパッケージ管理用のUI。
ロールアウト中にPython Environments拡張機能を使用するには、拡張機能がインストールされていることを確認し、VS Codeの settings.json ファイルに以下を追加してください。
"python.useEnvironmentsExtension": true
Python 3.13でPyREPLを無効化
インタラクティブターミナルでのインデントとカーソルの問題を解決するため、Python 3.13以降でPyREPLを無効にしました。詳細については、Disable PyREPL for >= 3.13 を参照してください。
Pylance MCPツール (試験的機能)
Pylance拡張機能 には、いくつかの試験的なMCPツールが含まれるようになりました。これらはPylanceのドキュメント、インポート分析、環境管理などへのアクセスを提供します。これらのツールは現在Pylanceのプレリリースバージョンで利用可能であり、まだ開発の初期段階です。新しい機能を提供しますが、現時点でそれらを直接呼び出すのが難しい場合があることは承知しています。将来のアップデートでこれらのツールをより使いやすく、より価値のあるものにするために積極的に取り組んでいます。体験を向上させるにあたり、pylance-release リポジトリでのフィードバックを歓迎します。
GitHub 認証
GitHubサインインフローの刷新
今回のイテレーションでは、vscode:// プロトコルURLを使用するフローではなく、ループバックURLフローをデフォルトにすることで、GitHubサインインフローを刷新しました。この変更は、サインインフローの信頼性を向上させ、カスタムURLスキームをサポートしていないプラットフォームを含むすべてのプラットフォームで確実に動作するようにするためです。
GitHubでサインインすると、https://:PORT/ のようなループバックURLにリダイレクトされるようになりました。これにより、カスタムURLスキームに依存せずにサインインフローを正常に完了できます。とはいえ、ループバックURLに到達した後も、VS Codeに戻るために vscode:// URLにリダイレクトされますが、サインインフローを正常に完了するためにこれが解決する必要はありません。
つまり、すべてのプラットフォームで動作する信頼性の高いサインインフローと、vscode:// URLスキームを使用するVS Codeへの戻りの両方の利点を得られます。
その際、この ランディングページに新しいデザインを適用 しました。今後の反復では、この新しいデザインを他のサインインエクスペリエンスにも適用していきます。

拡張機能の作成
vscode.openFolder コマンドの使用時にファイルを開くことを許可
vscode.openFolder コマンドを呼び出す拡張機能は、オプションとして filesToOpen?: UriComponents[] を渡して、開くワークスペースウィンドウで開くファイルを選択できるようになりました。
例
vscode.commands.executeCommand('vscode.openFolder', <folder uri>, { filesToOpen: [ /* files to open */]});
提案API
エンジニアリング
esbuild を使用したCSS最小化
VS Codeは長い間、JavaScriptソースのバンドルと最小化に esbuild を使用してきました。現在では、CSSファイルのバンドルと最小化にも esbuild を使用しています。
tsconfig.json を使用した厳密なレイヤーチェック
複数の tsconfig.json ファイルを使用して、ソースコードが ターゲット環境のルール に準拠していることを確認するようになりました。CIは npm run valid-layers-check を実行し、例えば node ランタイムにのみ存在する型が browser レイヤーに追加された場合、ビルドは失敗します。
サニティテスト用の vscode-bisect
vscode-bisect プロジェクトは長らく存在し、VS Codeビルドのリグレッションを見つけることを可能にしてきました(git に対する git bisect と同様です)。新しいビルドをリリースする前に必須となる サニティチェック を迅速に行うことを可能にする新しい --sanity オプションを追加しました。
注目すべき修正
- vscode-copilot-release#6073 - エージェントはWindows PowerShellで
&&を提案すべきではない
ありがとうございます
最後になりましたが、VS Code への貢献者の方々に心から感謝いたします。
イシュートラッキング
イシュートラッキングへの貢献
- @albertosantini (Alberto Santini)
- @gjsjohnmurray (John Murray)
- @RedCMD (RedCMD)
- @IllusionMH (Andrii Dieiev)
- @tamuratak (Takashi Tamura)
プルリクエスト
vscodeへの貢献
- @a-stewart (Anthony Stewart): asyncDataTree.test.ts のタイピングを修正 PR #209394
- @charles7668 (charles): #215925 を修正 PR #219321
- @chengluyu (Luyu Cheng): サジェストウィジェットに
font-variation-settingsを適用 (#199954 を修正) PR #200000 - @DrSergei: デバッグアダプターの機能チェックを改善 PR #250779
- @emmanuel-ferdman (Emmanuel Ferdman): launch.json の参照を修正 PR #250187
- @Enzo-Nunes (Enzo Nunes): Makefile の行コメントアクションを修正 (#234464 を修正) PR #243283
- @Gallaecio (Adrián Chaves): 誤字を修正 (an language model call → a language model call) PR #252202
- @ghLcd9dG (Liu): copyFiles.ts を更新 PR #250773
- @heoh (HeoHeo): MarkdownプレビューのEOFでのスクロールクロールを修正 (#249278 を修正) PR #251228
- @hyrious (hyrious): fix: リモート組み込み拡張機能の翻訳の欠落を修正 PR #249430
- @jeanp413 (Jean Pierre)
- 組み込み拡張機能でウェブ環境を検出するために navigator をチェックしない PR #251688
- カスタムエディターの名前変更時に「Assertion Failed: Argument is undefined or null」を修正 PR #252071
- @JJJJJJ-git: ChatService の取り消しバグを修正 PR #253478
- @liuxingbaoyu: fix: Unicode を含むユーザー名でPowerShellが動作しない問題を修正 PR #251534
- @matthew-godin: patternIndices の誤字を修正 PR #250085
- @mohiuddin-khan-shiam (S. M. Mohiuddin Khan Shiam): version_manager.rs の不正確な SHA-1 コミット正規表現を修正 PR #251329
- @notoriousmango (Seong Min Park)
- feat: webviewテーマにフォントリガチャを追加 PR #250998
- feat: 前回の実行で失敗したテストの再実行およびデバッグアクションを追加 PR #251679
- @raffaeu (Raffaele Garofalo): エディターのスティッキースクロールをリファクタリング PR #248131
- @RedCMD (RedCMD)
- 拡張機能のデバッグ時に「installation folder」バナー警告を無効化 PR #244305
- TypeScript: コメント本体内の Comment onEnterRules を制限 PR #251692
- @ssigwart (Stephen Sigwart): PHP, JS, TS のインデントを更新 PR #251465
- @Sublimeful (Jian Qiang Wu): ターミナルがない場合に Terminal: Run Recent Command を実装 PR #250799
- @tmm1 (Aman Karmani): [engineering] Swc トランスパイルへのデッド参照を削除 PR #252375
- @UziTech (Tony Brix): feat: ミドルマウスボタンスクロールを追加 PR #245882
- @yiliang114 (易良): #250737 を修正, Notebook findWidget の一致カウント結果のオーバーフローを修正 PR #250738
vscode-copilot-chat への貢献
- @caohy1988 (Hai-Yuan Cao): エージェントモードのサマリープロンプトを更新 PR #13
- @CharlesCNorton: README.md を更新 PR #54
- @gmacario (Gianpaolo Macario): docs(CONTRIBUTING): 目次を同期 PR #79
- @moonboxing (ASSEMAR MOHAMED): pylint 削除後の devcontainer-lock を更新 PR #76
vscode-json-languageservice への貢献
- @aedenmurray (Aeden Murray): feat: 無効な正規表現パターンを通知 PR #261
vscode-pull-request-github への貢献
- @dyhagho (Dyhagho Briceño): fix:
github-enterprise.uriが設定されている場合に Github.com 認証を許可 PR #7002
vscode-ripgrep への貢献
- @benz0li (Olivier Benz): Linux riscv64 ターゲットを追加 PR #73
- @Vector341: 無効なダウンロードインストールクラッシュを修正 PR #66
vscode-test への貢献
- @coliff (Christian Oliff): .npmignore を更新 PR #312
language-server-protocolへの貢献
- @billybonks (Sebastien Stettler): fix: コメントの読みやすさを改善 PR #2155
- @rcjsuen (Remy Suen): リストに Docker Language Server を追加 PR #2153
- @yangdanny97 (Danny Yang): 言語サーバーリストに Pyrefly を追加 PR #2160
monaco-editor への貢献
- @Ho1yShif (Shifra Williams): Snowflake SQL キーワードを追加 PR #4915
ripgrep-prebuilt への貢献