に参加して、VS Code の AI 支援開発について学びましょう。

2025年6月 (バージョン 1.102)

リリース日: 2025年7月9日

アップデート 1.102.1: このアップデートでは、これらの問題に対処しています。

アップデート 1.102.2: このアップデートでは、これらの問題に対処しています。

アップデート 1.102.3: このアップデートでは、これらの問題に対処しています。

ダウンロード: Windows: x64 Arm64 | Mac: ユニバーサル Intel シリコン | Linux: deb rpm tarball Arm snap


Visual Studio Code 2025年6月リリースへようこそ。このバージョンには、皆様に気に入っていただけるであろう多くのアップデートが含まれており、主なハイライトは以下の通りです。

  • チャット

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

    • VS CodeでのMCPサポートが一般提供開始されました (さらに表示)。
    • MCPビューとギャラリーでMCPサーバーを簡単にインストールおよび管理します (さらに表示)。
    • プロファイルおよび設定同期における第一級リソースとしてのMCPサーバー (さらに表示)。
  • エディター体験

    • タスクをCopilotコーディングエージェントに委任し、バックグラウンドで処理させます (さらに表示)。
    • 中央クリックでエディターをスクロールします (さらに表示)。

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comアップデート をご覧ください。インサイダー: 新機能をいち早く試したいですか?夜間の インサイダー ビルドをダウンロードして、最新の更新プログラムが利用可能になり次第すぐに試すことができます。

チャット

Copilot Chatがオープンソース化されました

GitHub Copilot Chat拡張機能のオープンソース化を発表できることを大変嬉しく思います!ソースコードは現在、MITライセンスの下、microsoft/vscode-copilot-chatで入手可能です。

これは、透明性とコミュニティとのコラボレーションへの私たちのコミットメントにおける重要なマイルストーンとなります。拡張機能をオープンソース化することで、コミュニティは以下のことができるようになります。

  • VS CodeでのAI搭載チャット体験の開発に直接貢献する
  • チャットモード、カスタム命令、AI統合の実装を理解する
  • 私たちの成果を基盤として、さらに優れたAI開発者ツールを作成する
  • AIアシストコーディングの未来の形成に参加する

エージェントモードインラインチャットMCP統合のような機能がどのように実装されているか、リポジトリを探索できます。コミュニティからの貢献、フィードバック、コラボレーションを歓迎します。

このマイルストーンとオープンソースAIエディターツールのより広範なビジョンについて詳しく知るには、詳細なブログ記事「Open Source AI Editor - First Milestone」をお読みください。

チャットモードの改善

前回のマイルストーンでは、カスタムチャットモードをプレビューしました。「質問」「編集」「エージェント」という組み込みのチャットモードに加えて、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.

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

チャットビューツールバーのチャットの構成アクションを使用すると、カスタムモードだけでなく、再利用可能な命令、プロンプト、ツールセットを管理できます。

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

モードを選択すると、現在インストールされているすべてのカスタムモードが表示され、モードを開いたり、新規作成したり、削除したりできます。

gistやawesome-copilotコミュニティリポジトリなどの外部リンクから、チャットモード、再利用可能なプロンプト、命令ファイルをインポートできるようになりました。例えば、次のリンクはBurkeのGPT 4.1 Beast Modeのチャットモードファイルをインポートします。

VS CodeにGPT 4.1 Beast Modeを追加する

これにより、現在のワークスペースまたはユーザー設定のいずれかの宛先が求められ、URLからモードファイルをインポートする前に名前が確認されます。

awesome-copilotにある100以上のコミュニティ寄稿の命令、プロンプト、チャットモードを試してみてください。

カスタム命令の生成

プロジェクトのコーディング標準とプロジェクトの慣習に関するコンテキストを提供することで、プロジェクトのカスタム命令を設定すると、AIの提案を大幅に改善できます。ただし、ゼロから効果的な命令を作成するのは難しい場合があります。

このマイルストーンでは、ワークスペースのカスタム命令をブートストラップするのに役立つチャット: 命令を生成コマンドを導入します。コマンドパレットまたはチャットビューの「構成」メニューからこのコマンドを実行すると、エージェントモードがコードベースを分析し、プロジェクトの構造、テクノロジー、パターンを反映したカスタマイズされた命令を生成します。

このコマンドは、.githubフォルダーにcopilot-instructions.mdファイルを作成するか、既存の命令ファイルへの改善を提案します。その後、生成された命令を確認して、チームの特定のニーズに合わせてカスタマイズできます。

命令によるAI応答のカスタマイズについて詳しくはこちら。

オンデマンドで命令ファイルを読み込む

命令ファイルは、コーディングプラクティスとプロジェクト要件を記述するために使用できます。命令は、チャットリクエストのコンテキストとして手動または自動で含めることができます。

さまざまなメカニズムがサポートされており、ドキュメントのカスタム命令セクションを参照してください。

条件付きで含めたい大きな命令の場合は、applyToヘッダーで定義されたグロブパターンと組み合わせて.instructions.mdファイルを使用できます。グロブパターンがチャットのコンテキスト内の1つ以上のファイルと一致すると、ファイルは自動的に追加されます。

このリリースで新しくなったのは、大規模言語モデルがオンデマンドで命令を読み込めるようになったことです。各リクエストには、すべての命令ファイルのリストがグロブパターンと説明とともに含まれます。この例では、LLMはコンテキストに明示的に追加されたTypeScriptファイルの命令を持っていません。そのため、TypeScriptファイルを作成する前にコードスタイルルールを探します。

Screenshot showing loading instruction files on demand.

以前のリクエストを編集する(実験的)

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

リクエストの編集へのさまざまなエントリーポイントの段階的な展開が行われ、優先的な編集フローと元に戻すフローに関するフィードバックを収集するのに役立ちます。ただし、ユーザーは実験的なchat.editRequests設定で優先モードを設定できます。

  • chat.editRequests.inline: リクエストにホバーしてテキストを選択すると、リクエストとインラインで編集が開始されます。
  • chat.editRequests.hover: リクエストにホバーすると、リクエストとインラインで編集を開始するボタンが付いたツールバーが表示されます。
  • chat.editRequests.input: リクエストにホバーするとツールバーが表示され、チャット下部の入力ボックスで編集が開始されます。

ターミナル自動承認(実験的)

エージェントモードに、ターミナルでのコマンド自動承認メカニズムが追加されました。デフォルト値を使用したデモを次に示します。

現在、許可リストと拒否リストの2つの設定があります。許可リストは、一致した場合に明示的な承認なしでコマンドを実行できるコマンド**プレフィックス**または正規表現のリストです。たとえば、次の設定では、npm run testで始まるすべてのコマンドと、**正確に**git statusまたはgit 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 dangerで始まる場合を除き、npm runで始まるすべてのコマンドが許可されます。

"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.

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

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

VS Code CLIに新しいサブコマンドchatが追加され、現在の作業ディレクトリで提供されたプロンプトでチャットセッションを開始できるようになりました。

基本的な構文はcode chat [options] [prompt]で、オプションは次のいずれかです。

  • -m --mode : チャットセッションに使用するモード。利用可能なオプション: 'ask'、'edit'、'agent'、またはカスタムモードの識別子。デフォルトは'agent'です。
  • -a --add-file : ファイルをチャットセッションのコンテキストとして追加します。
  • --maximize: チャットセッションビューを最大化します。
  • -r --reuse-window: チャットセッションに最後にアクティブだったウィンドウの使用を強制します。
  • -n --new-window: チャットセッションに空のウィンドウを開くことを強制します。

標準入力からの読み込みがサポートされており、末尾に-を渡す必要があります。例: ps aux | grep code | code chat -

フェッチツールが非HTTP URLをサポート

モデルがFetchツールをfile:// URLのような非HTTP URLで呼び出したい場合があることが判明しました。これを許可しないのではなく、FetchツールはこれらのURLをサポートし、そのURLにあるファイルまたはリソースのコンテンツを返すようになりました。画像もサポートされています。

言語モデルアクセス管理の明確化

拡張機能が提供する言語モデルへの拡張機能アクセスを管理するUXを再設計しました。以前は、アカウントメニューに**アカウント名 (GitHub Copilot Chat)**という項目が表示されていましたが、これはGitHub Copilot Chatが使用しているアカウントとは無関係でした。むしろ、Copilot Chatが提供する言語モデルにどの拡張機能がアクセスできるかを管理するためのものでした。

これを明確にするために、**アカウント名 (GitHub Copilot Chat)**項目を削除し、**言語モデルアクセスを管理...**という新しい項目に置き換えました。この項目を開くと、GitHub Copilot Chatが提供する言語モデルにどの拡張機能がアクセスできるかを管理できるクイックピックが表示されます。

Screenshot that shows the language model access Quick Pick.

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

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

チャット拡張機能自体がオープンソースであるため、これまで内部で使用していたデバッグツールの1つにアクセスできるようになりました。「チャットデバッグビューを表示」コマンドを実行すると、Copilot Chatによって行われたすべてのリクエストの詳細を簡単に確認できます。これにより、送信されたプロンプト全体、有効になっているツール、応答、その他の主要な詳細を含むツリービューが表示されます。右クリック > 「名前を付けてエクスポート...」でリクエストログを保存できます。

このビューには、ツール呼び出し自体のエントリと、Simple Browserで開くprompt-tsxデバッグビューも含まれています。

🚨 注意: このログは問題のトラブルシューティングに非常に役立ちます。エージェントの動作に関する問題を提出する際に共有していただけると幸いです。ただし、このログにはファイルの内容やターミナル出力などの個人情報が含まれている可能性があります。他の人と共有する前に、内容を注意深く確認してください。

編集ツールの改善

このリリースには、GPT-4モデルおよびSonnetモデルで使用される編集ツールの予測可能性と信頼性に対するいくつかの変更が含まれています。このリリースでは、より信頼性の高い編集動作が見られるはずであり、今後のリリースでもこれらのツールを改善し続けます。

MCP

VS CodeでのMCPサポートが一般提供開始

過去数か月間、VS CodeでのMCPサポートの拡張に取り組んでおり、仕様のMCP機能すべてをサポートしています。このリリースから、VS CodeでのMCPサポートが一般提供開始されました!

さらに、組織はGitHub Copilotポリシーを使用してMCPサーバーの可用性を制御できるようになりました。GitHub CopilotドキュメントのエンタープライズでのCopilotのポリシーと機能の管理について詳しく学びましょう。

厳選された人気MCPサーバーをいくつかインストールして開始できます。VS CodeでMCPサーバーを使用する方法と、それらを使用してエージェントモードを拡張する方法について詳しく学びましょう。

Screenshot that shows the MCP Servers page.

独自のMCPサーバーを構築したい場合は、VS CodeのMCP機能を活用する方法の詳細については、MCP開発者ガイドを確認してください。

エリュシテーションのサポート

最新のMCP仕様では、MCPサーバーがMCPクライアントからの入力を要求する手段としてエリュシテーションのサポートが追加されました。最新バージョンのVS Codeはこの仕様を採用し、エリュシテーションをサポートしています。

MCPサーバーの検出とインストール

拡張機能ビューの新しいMCPサーバーセクションには、厳選された人気MCPサーバーに直接リンクするウェルカムコンテンツが含まれています。ウェブサイトにアクセスして利用可能なMCPサーバーを探索し、任意のMCPサーバーでインストールを選択します。これにより、VS Codeが自動的に起動し、サーバーのreadmeとマニフェスト情報を表示するMCPサーバーエディターが開きます。サーバーの詳細を確認し、インストールを選択してサーバーを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.

  • サーバーの開始 / サーバーの停止 / サーバーの再起動: サーバーの実行状態を制御します。
  • アカウントの切断: サーバーからアカウントアクセスを削除します。
  • 出力の表示: トラブルシューティングのためにサーバーの出力ログを表示します。
  • 設定の表示: サーバーの実行時設定を開きます。
  • モデルアクセスの構成: サーバーがアクセスできる言語モデルを管理します。
  • サンプリングリクエストの表示: デバッグのためにサンプリングリクエストを表示します。
  • リソースの参照: サーバーによって提供されるリソースを探索します。
  • アンインストール: VS Codeインスタンスからサーバーを削除します。

インストールされているMCPサーバーを選択すると、VS CodeはMCPサーバーエディターを開き、サーバーのreadme詳細、マニフェスト、およびその実行時設定を表示します。これにより、サーバーの機能と現在の設定の概要が提供され、サーバーが何を行い、どのように構成されているかを簡単に理解できます。

Screenshot showing the MCP server editor with runtime configuration.

MCP SERVERS - INSTALLEDビューには、コミュニティウェブサイトに直接アクセスできるMCPサーバーを参照...アクションも用意されており、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: ユーザー構成を開く - ユーザーレベルのmcp.jsonファイルに直接アクセスします。
  • MCP: リモートユーザー構成を開く - リモートユーザーレベルのmcp.jsonファイルに直接アクセスします。

これらのコマンドは、MCP構成ファイルへの迅速なアクセスを提供し、サーバー構成を直接表示および管理することを容易にします。

MCP認証のクイック管理

MCPギアメニューとクイックピックからアカウントをサインアウトまたは切断できるようになりました。

  • MCPビューギアメニュー: MCPビューギアメニューに表示されるアカウント切断アクションのスクリーンショット

  • MCPエディターギアメニュー: MCPエディターギアメニューに表示されるアカウント切断アクションのスクリーンショット

  • MCPクイックピック: MCPクイックピックメニューに表示されるアカウント切断アクションのスクリーンショット

切断アクションは、アカウントが他のMCPサーバーまたは拡張機能で使用されている場合に表示され、サインアウトは、アカウントがMCPサーバーのみで使用されている場合に表示されます。サインアウトアクションはアカウントをVS Codeから完全に削除しますが、切断はMCPサーバーからのアカウントへのアクセスのみを削除します。

アクセシビリティ

エディター内からすべての編集を保持する

以前は、すべての編集を承認するには、チャットビューにフォーカスが必要でした。現在、エディターにフォーカスがある状態で、すべての編集を保持コマンド(⌥⌘Y (Windows, Linux Ctrl+Alt+Y))を実行できます。

ユーザーアクションが必要なサウンド

チャットがユーザーアクションを必要とすることを示すアクセシビリティ信号を微調整し、デフォルト値をautoに設定したため、スクリーンリーダーユーザーはこの信号を聞くことができます。この動作は、accessibility.signals.chatUserActionRequired設定で構成できます。

チャットでレンダリングエラーが発生した場合に警告

以前は、チャットのレンダリングエラーが発生しても、スクリーンリーダーのユーザーには警告されませんでした。ユーザーは現在、この情報で警告され、キーボードでフォーカスすることもできます。

コード編集

中央クリックでスクロール

設定: editor.scrollOnMiddleClick

中央のマウスボタン(スクロールホイール)をクリックまたは長押しして移動するだけで、エディターをスクロールできます。

アクティブ化されると、カーソルがパンアイコンに変わり、マウスを上下に動かすと、その方向にエディターがスムーズにスクロールします。スクロール速度は、初期クリックポイントからマウスをどれだけ移動したかによって決まります。中央のマウスボタンを離すか、もう一度クリックするとスクロールが停止し、標準のカーソルに戻ります。

既知の競合

この機能を有効にすると、中央のマウスボタンに結び付けられた他のアクションと競合する可能性があります。たとえば、列選択(editor.columnSelection)が有効になっている場合、中央のマウスボタンを長押しするとテキストが選択されます。同様に、Linuxでは、中央のマウスボタンをクリックすると、選択クリップボード(editor.selectionClipboard)によってクリップボードの内容が貼り付けられます。

これらの競合を避けるために、これらの設定のいずれか1つのみを有効にしてください。

コード補完をスヌーズする

新しいスヌーズ機能を使用すると、インライン候補と次回の編集候補(NES)を一時的に一時停止できるようになりました。これは、候補からの邪魔なしに集中したい場合に役立ちます。

候補をスヌーズするには、ステータスバーのCopilotダッシュボードを選択するか、コマンドパレットからインライン候補をスヌーズコマンドを実行し、ドロップダウンメニューから期間を選択します。スヌーズ期間中は、インライン候補もNESも表示されません。

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

コマンドに目的の期間を引数として渡すことで、特定の期間、候補をすばやくスヌーズするためのカスタムキーバインドを割り当てることもできます。たとえば、

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

エディター体験

Windowsのアクセントカラー

設定: window.border

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

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

新しいwindow.border設定を使用すると、ウィンドウの境界の色を制御できます。Windowsのアクセントカラーを使用する場合はdefault、境界を無効にする場合はoff、カスタムカラーを使用する場合は特定のカラー値を指定します。

注意: 境界は、関連するWindows設定が有効になっている場合にのみ表示されます。ワークスペースごとに設定することはまだできませんが、そのサポートに取り組んでいます。

設定検索候補(プレビュー)

設定: workbench.settings.showAISearchToggle

このマイルストーンでは、設定エディターのスパークル切り替えを変更し、AIと非AIの検索結果を切り替えるようにしました。AI設定検索結果は、文字列一致に基づく結果ではなく、意味的に類似した結果です。たとえば、「テキストサイズを大きくする」を検索すると、editor.fontSizeがAI設定検索結果として表示されます。

この切り替えは、AIの結果が利用可能な場合にのみ有効になります。AI設定検索が期待される設定を見つけられなかった場合のフィードバックを歓迎しており、次回のイテレーションでこの設定をデフォルトで有効にする予定です。

タスク

実行中のすべてのタスクを再実行する

新しいTasks: Rerun All Running Tasksコマンドを使用して、現在実行中のすべてのタスクをすばやく再実行できるようになりました。これは、複数の同時タスクを伴うワークフローに役立ち、個別に停止して再実行することなく、すべてを一度に再起動できます。

タスクの再起動により更新されたtasks.jsonが再ロードされる

タスクの再起動コマンドは、再起動する前にtasks.jsonを再ロードするようになり、最近の変更が確実に反映されます。以前は、タスクを再起動してもタスク構成の変更が認識されず、混乱や古いタスク動作につながる可能性がありました。

ターミナル

ターミナル候補(プレビュー)

ターミナル候補機能に大幅な改善が加えられました。

選択モード

新しい設定terminal.integrated.suggest.selectionModeは、デフォルトでTabEnterではない)が候補を受け入れることを理解するのに役立ちます。候補がどのように選択され、受け入れられるかを制御するために、partialalways、およびneverモードから選択できます。

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

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

詳しくはこちら

ターミナル候補コントロールのステータスバーにある詳しくはこちらアクション(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.

候補詳細コントロールにシンボリックリンクの実パスが表示されるようになり、シンボリックリンクファイルとフォルダーには固有のアイコンが表示され、他の候補と区別しやすくなりました。

Screenshot showing the terminal suggest shows the symlink's path -> real path.

ソートの改善

最も関連性の高い候補を最初に表示するために、ソートを多くの点で改善しました。たとえば、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プルリクエスト

プルリクエストやイシューの作業、作成、管理ができる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統合は、githubPullRequests.codingAgent.uiIntegration設定で有効にできます。有効にすると、エージェントが有効になっているリポジトリのチャットビューに新しいコーディングエージェントに委任ボタンが表示されます。

ステータストラッキング

「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拡張機能は、今回のリリースでいくつかの改善が行われました。

  • Poetryバージョン2.0.0以降のターミナルアクティベーションサポートを洗練しました。
  • クイック作成環境作成オプションを使用して、同じワークスペース内で一意の名前を持つ複数の仮想環境を設定できるようになりました。
  • 生成された.venvフォルダーは、デフォルトでgit-ignoredされるようになりました。
  • 環境削除プロセスを改善しました。

Python拡張機能の一部として含まれるPython Environments

Python Environments拡張機能をPython拡張機能のオプションの依存関係として展開し始めています。これは、Python DebuggerおよびPylance拡張機能と同様に、Python Environments拡張機能がPython拡張機能とともに自動的にインストールされ始める可能性があることを意味します。この段階的な展開により、一般提供開始前に早期フィードバックを収集し、信頼性を確保できます。

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拡張機能に、Pylanceのドキュメント、インポート分析、環境管理などへのアクセスを提供する、いくつかの実験的なMCPツールが追加されました。これらのツールは現在、Pylanceのプレリリース版で利用可能であり、開発の初期段階にあります。新しい機能を提供する一方で、現時点ではそれらを直接呼び出すのは難しい場合があることを認識しています。今後のアップデートでは、これらのツールをより使いやすく、より価値のあるものにするために積極的に取り組んでいます。エクスペリエンスを改善し続けるにあたり、pylance-releaseリポジトリでのフィードバックを歓迎します。

GitHub認証

GitHubサインインフローの刷新

今回のイテレーションでは、GitHubサインインフローを刷新し、vscode://プロトコルURLを使用するフローではなく、ループバックURLフローをデフォルトとしました。この変更は、サインインフローの信頼性を向上させ、カスタム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 bisectgitに対して行うこと)。新しいビルドをリリースする前に必須の健全性チェックを迅速に実行できる新しい--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.