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

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月リリースへようこそ。このバージョンには、皆様に喜んでいただける多くのアップデートが含まれています。主なハイライトは以下の通りです。

  • チャット

    • オープンソース化されたGitHub Copilot Chat拡張機能を探索し、貢献しましょう(ブログ記事を読む)。
    • プロジェクトの規約を反映したカスタム指示を生成します(詳細を見る)。
    • カスタムモードを使用して、計画や調査などのタスクに合わせてチャットを調整できます(詳細を見る)。
    • 選択したターミナルコマンドを自動的に承認します(詳細を見る)。
    • 以前のチャットリクエストを編集して再送信します(詳細を見る)。
  • MCP

    • MCPサポートがVS Codeで正式に利用可能になりました(詳細を見る)。
    • MCPビューとギャラリーを使用して、MCPサーバーを簡単にインストールおよび管理できます(詳細を見る)。
    • MCPサーバーがプロファイルおよび設定同期におけるファーストクラスのリソースとして扱われます(詳細を見る)。
  • エディターエクスペリエンス

    • タスクをCopilotコーディングエージェントに委任し、バックグラウンドで処理させることができます(詳細を見る)。
    • ミドルクリックでエディターをスクロールします(詳細を見る)。

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comUpdates を参照してください。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を提供しています)。

Screenshot that shows the IntelliSense for the model metadata property in chat mode file.

編集サポートの改善

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

Screenshot that shows the hover information for tools.

Screenshot that shows the model diagnostics when a model is not available for a specific chat mode.

チャットビューのギアメニュー

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

Screenshot that shows the Configure Chat menu in the Chat view.

モード (Modes)を選択すると、現在インストールされているすべてのカスタムモードが表示され、モードのオープン、新規作成、削除が可能になります。

チャットモードや、再利用可能なプロンプト、指示ファイルを、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ファイルを作成する前にコーディングスタイルルールを探しに行きます。

Screenshot showing loading instruction files on demand.

以前のリクエストの編集 (試験的機能)

以前のリクエストをクリックして、テキストの内容、添付されたコンテキスト、モード、モデルを変更できるようになりました。この変更を送信すると、その後のすべてのアクティビティが削除され、行った編集が取り消され、新しいリクエストがチャットに送信されます。

リクエストを編集するためのさまざまなエントリーポイントを段階的に導入しており、これにより、推奨される編集および取り消しのフローに関するフィードバックを収集する予定です。ユーザーは、試験的な chat.editRequests ... 設定で、好みのモードを設定できます。

  • ... : リクエストをホバーしてテキストを選択すると、インラインで編集を開始できます。
  • ... : リクエストをホバーして表示されるツールバーのボタンから、インラインでの編集を開始できます。
  • ... : リクエストをホバーして表示されるツールバーから、チャット下部の入力ボックスでの編集を開始できます。

ターミナルの自動承認 (試験的機能)

エージェントモードには、ターミナル内のコマンドを自動承認するメカニズムが搭載されました。デフォルト設定を使用したデモを以下に示します。

現在、許可リストと拒否リストの2つの設定があります。許可リストは、コマンドのプレフィックスまたは正規表現のリストで、一致した場合に明示的な承認なしでコマンドの実行を許可します。例えば、以下を設定すると、npm run testで始まる任意のコマンド、または完全に git statusgit log であるコマンドの実行が許可されます。

"github.copilot.chat.agent.terminal.allowList": {
  "npm run test": true,
  "/^git (status|log)$/": true
}

これらの設定は設定スコープ全体でマージされるため、ユーザー承認済みのコマンドセットと、ワークスペース固有の承認済みコマンドセットを両方持つことができます。

連結されたコマンドについては、シェルに基づいてこれらのケースを検出し、すべてのサブコマンドの承認を求めるようにしています。そのため、foo && bar の場合は foobar の両方が許可されていることを確認し、その場合にのみ承認なしで実行されます。また、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 文を含むコマンドを実行しようとすることがあります。現在、カレントワーキングディレクトリと一致する場合にこのケースを検出し、実行されるコマンドを簡略化するようになりました。

Screenshot of the terminal, asking to run  only runs  when the current working directory already matches.

タスクとターミナルのエージェント認識

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

Screenshot of VS Code window showing two build tasks running in the terminal panel. The left terminal displays several errors. The chat agent replies to describe status of my build tasks with a summary of each task's output.

チャットビューの最大化

セカンダリサイドバーを最大化してエディターエリア全体に広げ、プライマリサイドバーとパネルエリアを非表示にできるようになりました。VS Codeは再起動後もこの状態を記憶し、エディターやビューを開くとチャットビューを復元します。

閉じるボタンの横にある新しいアイコンを使用して最大化状態を切り替えるか、コマンドパレットから新しいコマンド workbench.action.toggleMaximizedAuxiliaryBar を使用できます。

エージェントモードのバッジ表示

ウィンドウがフォーカスされていない状態でエージェントがユーザーの確認を必要とする場合、ドック内のアプリケーションアイコンにバッジを表示するようになりました。バッジは、トリガーとなった関連ウィンドウがフォーカスを受けるとすぐに消えます。

Screenshot of the VS Code dock icon showing an agent confirmation as a badge.

このバッジは、 ... 設定で有効または無効にできます。

コマンドラインからチャットを開始

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によって提供される言語モデルにアクセスできるかを管理できるクイックピックが開きます。

Screenshot that shows the language model access Quick Pick.

これがより明確だと考えています... とはいえ、将来のリリースでは、言語モデルに対するよりきめ細かなアクセス制御(例えば、拡張機能によって提供される「すべての」モデルではなく、特定のモデルのみを許可するなど)を検討する予定ですので、ご期待ください。

チャットリクエストの読み取り

チャット拡張機能自体がオープンソースになったため、私たちが内部でしばらく使用してきたデバッグツールの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サーバーを使用する方法や、それらを使用してエージェントモードを拡張する方法の詳細をご覧ください。

Screenshot that shows the MCP Servers page.

独自の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サーバーの監視、構成、制御が簡単になります。

Screenshot showing the MCP Servers management view with installed servers.

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

Screenshot showing the context menu actions for an MCP server.

  • 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サーバーエディターを開きます。これにより、サーバーの機能と現在の設定の概要が提供され、サーバーが何を行い、どのように構成されているかを理解するのが簡単になります。

Screenshot showing the MCP server editor with runtime configuration.

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

Screenshot that shows the Browse MCP Servers action in the MCP Servers view.

ファーストクラスのリソースとしての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ビューのギアメニューに表示されているDisconnect Accountアクションを示すスクリーンショット。

  • MCPエディターのギアメニュー: MCPエディターのギアメニューに表示されているDisconnect Accountアクションを示すスクリーンショット。

  • MCPクイックピック: MCPクイックピックメニューに表示されているDisconnect Accountアクションを示すスクリーンショット。

アカウントが他の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は表示されません。

Screenshot showing the Copilot dashboard with the snooze button at the bottom.

カスタムキーバインドを割り当てて、コマンドに引数として希望の期間を渡すことで、特定の期間、候補をすばやく一時停止することもできます。例:

{
  "key": "...",
  "command": "editor.action.inlineSuggest.snooze",
  "args": 10
}

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

Windowsのアクセントカラー

設定: ...

Windows上のVS Codeは、Windows設定(「タイトルバーとウィンドウの枠にアクセントカラーを表示する」)で有効になっている場合、ウィンドウフレームの枠としてアクセントカラーを使用できるようになりました。

Screenshot of the VS Code window with a red accent color border.

新しい ... 設定を使用すると、ウィンドウ枠の色を制御できます。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 ではなく)が候補を受け入れることを理解するのに役立ちます。候補がどのように選択され、受け入れられるかを制御するために、partialalwaysnever モードを選択できます。

デフォルト値は partial で、これはナビゲーションが発生するまで Tab キーが候補を受け入れることを意味します。

Screenshot showing the first terminal suggestion can be accepted with Tab.

詳細情報

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

Screenshot showing the Learn More action appears in the terminal suggest control status bar.

マルチコマンドサポート

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

Screenshot showing the VS Code terminal showing a multi-command line with git commit and git push, and the terminal suggest widget displaying suggestions for pull, push, and other git commands.

ソートの改善

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

Screenshot showing the terminal suggest boosts main and master compared to other branch suggestions.

Git Bashの改善

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

Screenshot showing a Git Bash terminal with suggestions for builtin functions like cat, cp, and curl.

拡張機能への貢献

GitHub Pull Requests

プルリクエストやIssueの作業、作成、管理を可能にするGitHub Pull Requests拡張機能で、さらなる進展がありました。

GitHub Pull Requests 拡張機能と Copilotコーディングエージェント との間の統合が深まり、VS Codeから直接コーディングエージェントセッションを開始、表示、管理できるようになりました。

これらの機能には、ワークスペースが Copilotコーディングエージェントが有効になっている リポジトリで開かれている必要があります。

リリースに含まれるすべての内容については、拡張機能の 0.114.0 リリースの変更ログ を確認してください。

コーディングエージェントセッションを開始 (プレビュー)

チャットで #copilotCodingAgent ツールを呼び出すことで、Copilotにバックグラウンドでローカルの変更を継続するように依頼します。

このツールは、保留中の変更をリモートブランチに自動的にプッシュし、ユーザーの指示とともにそのブランチからコーディングエージェントセッションを開始します。

Screenshot showing handing off a session to Copilot coding agent

試験的機能: ... 設定で、より深いUI統合を有効にできます。有効にすると、エージェントが有効になっているリポジトリのチャットビューに新しい Delegate to coding agent ボタンが表示されます。

ステータスの追跡

Copilot on my behalf クエリにおいて、コーディングエージェントのプルリクエストのステータスを通知し、目立つように表示するための改善を行いました。数値バッジが新しい変更を示します。

Screenshot showing status of multiple coding agent pull requests

セッションログ

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

Screenshot showing the session log of a coding agent session.

#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への戻りの両方の利点を得られます。

その際、この ランディングページに新しいデザインを適用 しました。今後の反復では、この新しいデザインを他のサインインエクスペリエンスにも適用していきます。

Screenshot showing the redesigned authentication landing page.

拡張機能の作成

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 オプションを追加しました。

注目すべき修正

ありがとうございます

最後になりましたが、VS Code への貢献者の方々に心から感謝いたします。

イシュートラッキング

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

プルリクエスト

vscodeへの貢献

vscode-copilot-chat への貢献

vscode-json-languageservice への貢献

vscode-pull-request-github への貢献

vscode-ripgrep への貢献

vscode-test への貢献

language-server-protocolへの貢献

monaco-editor への貢献

ripgrep-prebuilt への貢献

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