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

2025年7月 (バージョン 1.103)

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

アップデート 1.103.1: このアップデートでは、GPT-5のプロンプト改善GPT-5 miniのサポートが追加され、これらの問題に対処しました。

アップデート 1.103.2: このアップデートでは、これらの問題に対処しました。

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


Visual Studio Codeの2025年7月リリースへようこそ。今回のバージョンには、皆さんに喜んでいただける多くのアップデートが含まれています。主なハイライトは以下の通りです。

  • MCP

    • ツールピッカーの操作性を刷新 (詳細)
    • 1回のエージェントリクエストにつき128個以上のツールを有効化 (詳細)
  • チャット

    • VS CodeでGPT-5を使用可能に (詳細)
    • チャットのチェックポイントを使用して以前の状態に復元 (詳細)
  • 生産性

    • Gitワークツリーで複数のブランチを同時にチェックアウト (詳細)
    • 専用ビューでのコーディングエージェントセッション管理 (詳細)

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

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

チャット

GPT-5の利用可能性

本日より、有料のGitHub CopilotプランすべてでGPT-5が順次利用可能になります。GPT-5はOpenAIの現時点で最も高性能なモデルであり、推論、コーディング、チャットにおいて新たな進歩をもたらします。GPT-5モデルの利用に関する詳細は、GitHub Changelogをご覧ください。

チャットビューを開き、モデルピッカーからGPT-5を選択すると、VS Code内のチャット会話で利用を開始できます。VS Codeでの言語モデルの使用について詳しく学びましょう。

アップデート 1.103.1: このアップデートでは、モデルの品質とパフォーマンスをさらに向上させるための重要なプロンプト改善が行われました。

GPT-5 miniの利用可能性

アップデート 1.103.1

このリリースから、GPT-5 miniがすべてのGitHub Copilotプランで利用可能になります。GPT-5 miniは、OpenAIのGPT-5モデルをより高速かつ経済的にしたバリエーションです。GPT-5 miniモデルの利用に関する詳細は、GitHub Changelogをご覧ください。

チャットのチェックポイント

設定: chat.checkpoints.enabled VS Codeで開く VS Code Insidersで開く

チャット会話の状態を保存して復元できるチェックポイント機能を導入しました。チャット中の編集を取り消したり、特定の時点に戻ったりすることが簡単にできます。これは、1回のチャットセッションで複数のファイルが変更された場合に特に便利です。

チェックポイントを選択すると、VS Codeはワークスペースの変更とチャット履歴をその時点の状態に元に戻します。復元後には、その操作をやり直すことも可能です!

チェックポイントはデフォルトで有効になっており、以下の設定で管理できます: chat.checkpoints.enabled VS Codeで開く VS Code Insidersで開く

ツールピッカーの改善

今回のイテレーションでツールピッカーを全面的に刷新し、すべてのツールを表示するために「Quick Tree」という新しいコンポーネントを採用しました。

Screenshot showing the new tool picker using a quick tree, enabling collapsing and expanding nodes.

主な機能

  • 展開/折りたたみ
  • 設定オプションをタイトルバーに移動
  • スティッキースクロール
  • アイコンのレンダリング

ご意見をお聞かせください!

ツールのグループ化 (実験的)

設定: github.copilot.chat.virtualTools.threshold VS Codeで開く VS Code Insidersで開く

1回のチャットリクエストで使用できる最大ツール数は現在128個です。以前は、MCPサーバーを多数インストールするとこの上限にすぐに達してしまい、続行するために一部のツールを選択解除する必要がありました。

今回のVS Codeリリースでは、ツール数が最大制限を超えた場合に備えて、実験的なツール呼び出しモードを有効にしました。ツールは自動的にグループ化され、モデルにはグループ単位でツールを有効化・呼び出しする機能が与えられます。

この動作(しきい値を含む)は、以下の設定から構成可能です: github.copilot.chat.virtualTools.threshold VS Codeで開く VS Code Insidersで開く

ターミナル自動承認機能の改善

設定: chat.tools.terminal.autoApprove VS Codeで開く VS Code Insidersで開く

ターミナルの自動承認設定は先月導入されました。今回のリリースでは、この機能に多くの改善が加えられました。ドキュメントでターミナル自動承認について詳しく確認してください。

  • allowListdenyList設定を chat.tools.terminal.autoApprove VS Codeで開く VS Code Insidersで開く 設定に統合しました。以前の設定を使用していた場合、新しい設定への移行を促す警告が表示されます。

  • 正規表現のマッチャーがフラグをサポートしました。これにより、PowerShellなどで一般的な大文字小文字を区別しないマッチングなどが可能になります。

    "chat.tools.terminal.autoApprove": {
      // Deny any `Remove-Item` command, regardless of case
      "/^Remove-Item\\b/i": false
    }
    
  • サブコマンドのマッチングの仕組みについて混乱が見られたため、設定の説明で詳細に解説しました。また、完全なコマンドラインに対するマッチングもサポートしています。

    "chat.tools.terminal.autoApprove": {
      // Deny any _command line_ containing a reference to what is likely a PowerShell script
      "/\\.ps1\\b/i": { "approve": false, "matchCommandLine": true }
    }
    
  • 自動承認の推論結果がターミナル出力チャネルにログ出力されるようになりました。近い将来、これをUI上に表示する予定です

ターミナルおよびタスクの入力要求検出

エージェントモードでタスクやターミナルコマンドを実行すると、プロセスがユーザー入力を要求した際にエージェントがそれを検知するようになりました。チャット内で応答を促され、デフォルトまたは最初のオプションが主要なアクションとして表示され、その他の選択肢はドロップダウンから選択できます。これは、複数回の確認を必要とするスクリプトやコマンドに対して、サポートされているすべてのシェル、およびフォアグラウンド/バックグラウンドターミナルで機能します。プロンプトが表示されている間にターミナルで入力を行うと、プロンプトは自動的に非表示になります。選択肢と説明([Y] Yes [N] Noなど)が提供されている場合、それらは確認プロンプトに表示されます。

以下の例では、エージェント経由でユーザー入力を複数回求めるスクリプトが実行されています。確認プロンプトが表示され、アクションを承認することでターミナルスクリプトの実行が完了し、エージェントが結果の概要を報告します。

Example of input being detected and responded to

問題マッチャーを使用したタスクのエラー検出向上

問題マッチャーを使用するタスクにおいて、エージェントは言語モデルによる出力評価に頼るのではなく、問題マッチャーの結果に基づいてエラーを収集・表示するようになりました。問題はチャットの進捗メッセージ内のドロップダウンに表示され、そこから問題箇所に直接移動できます。これにより、現在のタスク実行に関連するエラーのみが確実に報告されるようになります。

エージェントモードでの複合タスクのサポート

エージェントモードが複合タスク(Compound Task)の実行をサポートしました。複合タスクを実行すると、エージェントは各依存タスクの進捗と出力を表示し、ユーザー入力のプロンプトも処理します。これにより、より複雑なワークフローが可能になり、複数ステップにわたるタスク実行の可視性が向上します。

以下の例では「VS Code - Build」タスクが実行されています。各依存タスクの出力が評価され、問題がある場合は応答内および進捗メッセージのドロップダウン内に表示されます。

Example of agent running the VS Code - Build task

アクセシビリティ: チャットの確認アクションにフォーカス

チャットの確認にフォーカス」コマンド (kb(workbench.action.chat.focusConfirmation)) を追加しました。これにより、確認ダイアログが表示されている場合はそこにフォーカスし、ない場合は確認が不要であることをスクリーンリーダーユーザーに通知します。

タスクリストによる進捗追跡 (実験的)

設定: chat.todoListTool.enabled VS Codeで開く VS Code Insidersで開く

エージェントモードの優れた点は、高レベルのタスクを与えて実装を任せられることです。作業を計画し、小さなタスクに分解していく過程で、個々の進捗を追跡するのは困難になることがあります。

今回のマイルストーンでは、チャットにタスク/TODOリスト機能を導入しました。これにより、どのタスクが完了し、どれが保留中かをより把握しやすくなります。チャットビューの上部にタスクリストが表示されるため、進捗状況を常に確認できます。エージェントが作業を進めるにつれて、リストは自動的に更新されます。

エージェントに高レベルのタスクを与え、TODOリストで作業を追跡するよう指示して始めてみてください!

この機能はまだ実験的な段階です。以下の設定で有効にできます: chat.todoListTool.enabled VS Codeで開く VS Code Insidersで開く

モデル管理エクスペリエンスの向上

今回のイテレーションでは、言語モデルへのアクセスを担うチャットプロバイダーAPIを刷新しました。ユーザーはモデルピッカーに表示するモデルを選択できるようになり、よりパーソナライズされた集中可能なエクスペリエンスを提供します。

Screenshot of the model picker showing various models from providers such as Copilot and OpenRouter

今後数か月かけてこの新しいAPIを完成させる予定であり、フィードバックを歓迎します。このAPIが完成すれば、拡張機能エコシステムが独自のモデルプロバイダーを実装し、「Bring Your Own Key(独自キーの持ち込み)」提供をさらに拡大できるようになります。

Azure DevOpsリポジトリのリモートインデックスサポート

#codebase ツールが、Azure DevOpsリポジトリにリンクされたワークスペースのリモートインデックスをサポートしました。これにより、初期化を待たずに即座に関連するコードスニペットを検索できます。数万件のインデックス可能なファイルがある大規模リポジトリでも動作します。以前はこの機能はGitHubリンクのリポジトリのみで利用可能でした。

git経由でAzure DevOpsにリンクされたワークスペースで作業すると、リモートインデックスが自動的に使用されます。Azure DevOpsリポジトリへのアクセスに使用するMicrosoftアカウントでVS Codeにログインしていることを確認してください。

この機能はサービス側で段階的に展開されているため、最初は利用できない組織もあるかもしれません。展開の状況を見て、可能な限り多くの組織でAzure DevOpsのリモートインデックスを有効にしたいと考えています。

ターミナルおよびタスク実行ツールの信頼性とパフォーマンスの向上

タスクやコマンドをターミナルで実行するためのツールを、Copilot拡張機能からコアのmicrosoft/vscodeリポジトリに移行しました。これにより、ツールがより低レベルかつリッチなAPIにアクセス可能になり、ターミナルのフリーズ問題の多くを解決できました。また、今後は拡張機能APIの制限を受けず、特にチャットビュー内でのカスタムUI変更など、機能実装が容易になるという利点があります。

タスクとターミナルの出力ポーリング

エージェントは出力ポーリングを使用して、タスクやバックグラウンドターミナルの完了を待機してから続行するようになりました。プロセスが20秒以上かかる場合、待機し続けるか、先に進むかを尋ねられます。エージェントは最大2分間プロセスを監視し、現在の状態の要約や、プロセスが実行中であることの報告を行います。これにより、長時間かかるコマンドやエラーが発生しやすいコマンドをチャットで実行する際の信頼性が向上しました。

タスク認識の改善

以前は、エージェントはアクティブなタスクしか監視できませんでした。現在は、実行中および完了済み(失敗や終了したものを含む)の両方のタスクの出力を追跡・分析できるようになりました。この強化により、トラブルシューティングが改善され、タスク実行履歴に対する包括的な洞察が得られます。

ユーザーが作成したターミナルの認識

エージェントはワークスペース内のすべてのユーザー作成ターミナルを認識するようになりました。これにより、直前のコマンドを追跡したりターミナル出力にアクセスしたりすることが可能になり、ターミナル作業の支援やトラブルシューティングのためのより良いコンテキストが提供されます。

ターミナルインラインチャットの改善

ターミナルインラインチャットがアクティブなシェルをより正確に検出するようになりました(PowerShellやzshからPythonやNodeを起動する場合など)。この動的なシェル検出により、現在のシェルタイプに合わせた関連性の高いコマンド提案を提供できるようになり、チャット応答の精度が向上しました。

Screenshot of terminal inline chat showing node specific suggestions.

テストランナーツールの改善

テストランナーツールを全面的に見直しました。チャット内に進捗がインライン表示されるようになり、ツール内の多数のバグが修正されました。

以前のリクエストの編集

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

前回のイテレーションでは、リクエストの編集機能を有効にし、いくつかのアプローチを導入しました。今回は、インライン編集をデフォルトの動作としました。リクエストバブルをクリックして編集を開始してください。添付ファイルの修正、モードやモデルの変更を行い、テキストを編集した状態でリクエストを再送できます。

各リクエストの上にホバー表示されるツールバーからの編集を好む場合は、 chat.editRequests VS Codeで開く VS Code Insidersで開く 設定からチャット編集動作を制御できます。

チャットを最大化して開く

設定: workbench.secondarySideBar.defaultVisibility VS Codeで開く VS Code Insidersで開く

セカンダリサイドバーのデフォルトの可視性を設定し、最大化状態で開くためのオプションを2つ追加しました。

  • maximizedInWorkspace: 新しいワークスペースを開く際に、チャットビューを最大化して開く
  • maximized: 空のウィンドウを含むすべてのウィンドウで、チャットビューを常に最大化して開く

Screenshot that shows the Chat view maximized.

保留中のチャット確認

エージェントセッションがファイル変更中やリクエスト応答中に誤ってワークスペースを閉じてしまうことを防ぐため、チャット応答が進行中にVS Codeを終了したりウィンドウを閉じたりしようとするとダイアログを表示するようにしました。

Screenshot of confirmation to exit with running chat.

ユーザーアクションに関するOS通知

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

チャットセッション内でユーザーによる確認が必要な場合に、OSのネイティブ通知システムを使用してトースト通知を表示するようになりました。以下の設定でこの動作を有効にできます: chat.notifyWindowOnConfirmation VS Codeで開く VS Code Insidersで開く

Screenshot of toast for confirmation of a chat agent.

将来的には、より多くの情報を表示し、トーストから直接承認できるように改善する予定です。現在は、トーストを選択すると確認元のウィンドウにフォーカスが移動します。

チャットでの数式サポート (プレビュー)

設定: chat.math.enabled VS Codeで開く VS Code Insidersで開く

チャットの応答内で数学の方程式をレンダリングする初期サポートを追加しました。

Screenshot of the Chat view, showing inline and block equations in a chat response.

この機能はKaTeXを搭載しており、インラインおよびブロック形式の両方の数式をサポートしています。インライン数式は単一のドル記号($...$)で囲み、ブロック数式は二重のドル記号($$...$$)を使用します。

数式レンダリングは以下の設定で有効にできます: chat.math.enabled VS Codeで開く VS Code Insidersで開く 。現在はデフォルトでオフになっていますが、さらなるテストを経て、将来のリリースで有効にする予定です。

プロジェクトスキャフォールディングのContext7統合 (実験的)

設定: github.copilot.chat.newWorkspace.useContext7 VS Codeで開く VS Code Insidersで開く

チャットで #new を使用して新しいプロジェクトをスキャフォールディングする際、すでにContext7 MCPサーバーをインストール済みであれば、Context7の最新のドキュメントとAPIを確実に使用できるようになりました。

MCP

サーバーの自動起動と信頼

設定: chat.mcp.autostart VS Codeで開く VS Code Insidersで開く

以前は、MCPサーバー構成を追加または更新すると、チャットビューに青い「リフレッシュ」アイコンが表示され、手動でツールリストをリフレッシュする必要がありました。今回のマイルストーンでは、MCPサーバーの自動起動動作を構成できるようになったため、手動でサーバーを再起動する必要がなくなりました。

以下の設定を使用してこの動作を制御してください: chat.mcp.autostart VS Codeで開く VS Code Insidersで開く 。アイコンのツールチップ内から設定を変更したり、どのサーバーが開始されるかを確認したりすることも可能です。

Screenshot showing the hover of the refresh MCP server icon, enabling you to configure the auto-start behavior.

MCPサーバーが更新または変更された後、初回起動時にサーバーを信頼するかどうかを尋ねるダイアログが表示されるようになりました。自動起動がオンになっている場合は、意図しないコマンドが勝手に実行されるのを防ぐため、信頼を与えることが特に重要です。

ドキュメントでVS CodeでのMCPサーバーの使用について詳しく学びましょう。

リモートMCPサーバー向けのクライアント資格情報フロー

認証をサポートしたいリモートMCPサーバーにとっての理想的なフローは、動的クライアント登録 (DCR) をサポートする認証プロバイダーを使用することです。これにより、クライアント (VS Code) はそのプロバイダーに自己登録でき、認証フローがシームレスになります。

しかし、すべての認証プロバイダーがDCRをサポートしているわけではないため、独自のクライアントIDと(オプションで)クライアントシークレットを提供し、プロバイダーの認証フローを実行できるクライアント資格情報フローを導入しました。その手順は以下の通りです。

  • ステップ 1: VS CodeがDCRを使用できないと検知し、クライアント資格情報フローを実行するかどうかを確認します。

    Screenshot of a modal dialog saying that DCR is not supported but you can provide client credentials manually.

    重要: この時点で、認証プロバイダーのウェブサイトにアクセスし、手動でアプリケーション登録を作成します。そこで、モーダルダイアログに記載されているリダイレクトURIを入力します。

  • ステップ 2: 認証プロバイダーのポータルからクライアントIDと(場合によっては)クライアントシークレットを取得します。表示される入力ボックスにクライアントIDを入力し、Enterを押します。

    Screenshot of an input box to provide the client ID for the MCP server.

  • ステップ 3: クライアントシークレットがある場合は入力し、Enterを押します(ない場合は空白のままにします)。

    Screenshot of an input box to provide the optional client secret for the MCP server.

    その時点で、作業対象のMCPサーバーを認証するための一般的な認証フローが実行されます。

アカウントメニューから動的認証プロバイダーを削除

リモートMCP認証の追加に伴い、コマンドパレットに「Authentication: Remove Dynamic Authentication Providers」というコマンドが利用可能になりました。これにより、クライアント資格情報(クライアントIDおよび、あればクライアントシークレット)およびそのプロバイダーに関連付けられたすべてのアカウント情報を削除できます。

今回、このコマンドをアカウントメニューに公開しました。MCPサーバーアカウントの中に表示されます。

Screenshot of the Account menu showing the manage dynamic auth option in an account's submenu.

または、まだMCPサーバーアカウントがない場合はメニューのルートに表示されます。

Screenshot of the Account menu showing the manage dynamic auth option in the root of account menu.

VS Codeは、resource_linkとツール結果における構造化された出力を備えた、MCP仕様の最新バージョン2025-06-18を完全にサポートしました。

アクセシビリティ

アクセシブルなチャットのエリシテーション(誘発)

エージェントがプロセスの待機を継続するかどうかなど、ユーザー入力を求めてくる際、チャットのエリシテーションがスクリーンリーダーでアクセス可能になりました。プロンプトが表示されると通知され、キーボードで移動し、アクセス可能なビューでメッセージを確認できます。

チャット編集によるファイル開封の制御

新しい設定、 accessibility.openChatEditedFiles VS Codeで開く VS Code Insidersで開く を追加しました。エージェントがチャット内でファイルを編集する際に自動的にファイルを開くかどうかを選択できます。エディターに表示されるファイルをより細かく制御するためにこの設定を有効にしてください。

「すべての編集を表示」および「以前の編集を表示」コマンド

View All Edits(すべての編集を表示)」および「View Previous Edits(以前の編集を表示)」コマンドがエディター全体で利用可能になり、エージェントが行った変更を簡単に確認できるようになりました。これらのコマンドは、 accessibility.openChatEditedFiles VS Codeで開く VS Code Insidersで開く が無効になっている場合に、ファイルを開かずに編集内容を追跡できるため特に便利です。

サイドバーの可視性に関するアナウンス

プライマリまたはセカンダリサイドバーが表示/非表示になった際、ARIAアナウンスがこの変更を通知するようになりました。これにより、スクリーンリーダーユーザーがサイドバーの可視性更新を把握できるようになり、アクセシビリティが向上しました。

Playwrightによるアクセシビリティテスト

Playwrightを使用して、エディターの自動アクセシビリティテストを追加しました。これらのテストは、VS Codeがアクセシビリティ標準とベストプラクティスを確実に満たしているかを継続的に検証し、すべてのユーザーにより良いエクスペリエンスを提供するために役立ちます。

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

設定検索の提案

設定エディターの検索ボックスにある、キラキラアイコンで示された「AI検索結果」トグルが、すべてのユーザーに利用可能になりました。AI検索結果が読み込まれて利用可能な場合にトグルが有効になります。トグルを押すと、AI検索結果と非AI検索結果を切り替えられます。

AI設定検索結果は、文字列マッチングではなく、意味的な類似性に基づいています。例えば、「テキストサイズを大きくする」と検索すると、AI設定検索結果として editor.fontSize が表示されます。

Screenshot of AI results in the Settings editor for "increase text size" showing editor.fontSize setting.

エディタータブのコンテキストメニュー

エディタータブのコンテキストメニューを整理し、分割や移動に関連するオプションをサブメニューにグループ化しました。

Screenshot that shows the 'Split and Move' editor tab context menu.

AI統計 (プレビュー)

設定: editor.aiStats.enabled VS Codeで開く VS Code Insidersで開く

基本的なAI統計を表示する実験的機能を追加しました。この機能はデフォルトで無効になっており、 editor.aiStats.enabled VS Codeで開く VS Code Insidersで開く で有効にできます。

この機能は、プロジェクトごとに、AIによって挿入された文字数と、入力によって挿入された文字数の割合を表示します。また、当日に受け入れたインラインおよび次の編集提案の数も追跡します。

Screenshot showing the AI statistic hover information in the Status Bar.

ノートブック

エージェントツールを使用したNotebookインラインチャット

設定: inlineChat.notebookAgent VS Codeで開く VS Code Insidersで開く

Notebookのインラインチャットコントロールで、Notebookエージェントツールの全機能を使用できるようになりました。これにより、セルの実行やカーネルへのパッケージインストールといった追加機能が有効になります。

Notebookでエージェントツールを有効にするには、新しい実験的設定 inlineChat.notebookAgent VS Codeで開く VS Code Insidersで開く を有効にしてください。現在、これにはインラインチャットv2の設定 inlineChat.enableV2 VS Codeで開く VS Code Insidersで開く も有効にする必要があります。

uvで作成された仮想環境への依存関係のインストール

uvを使用して作成された仮想環境に対してJupyter Notebookを実行する際、必要な依存関係をインストールできるようになりました。

ソース管理

Gitワークツリーのサポート

設定: git.detectWorktrees VS Codeで開く VS Code Insidersで開く

長年多くのユーザーからご要望いただいていた機能リクエストに応え、今回のマイルストーンでGitワークツリーのサポートを追加しました。ワークツリーを使用すると、複数のブランチを一度にチェックアウトでき、コンテキストを切り替えずに変更をテストしたり、並行して作業したりすることが容易になります。

gitリポジトリを含むフォルダまたはワークスペースを開くと、ワークツリーが自動的に検出され、「ソース管理リポジトリ」ビューに表示されます。コマンドパレットやソース管理リポジトリビューから、ワークツリーの表示、作成、削除、新規または現在のウィンドウでのオープンが可能です。この機能は、 git.detectWorktrees VS Codeで開く VS Code Insidersで開く 設定を切り替えることで無効にできます。

Screenshot of create worktree command in Source Control view.

Screenshot of open and delete worktree commands in the Source Control view.

リポジトリビュー

ソース管理リポジトリビューは、現在のフォルダ/ワークスペースで検出されたすべてのソース管理プロバイダーを表示します。今回のマイルストーンでは、リポジトリ、サブモジュール、ワークツリーを視覚的に区別できるようにビューのレンダリングを更新しました。また、これら間の親子関係も表示されるようになりました。

Screenshot of the Source Control Repositories view showing two repositories and a worktree associated with one of the repos.

ターミナル

ターミナル提案のドキュメントサポート

言語サーバー(LSP)によって提供されるターミナルの提案に、エディターと同じようなインラインドキュメントが含まれるようになりました。Python REPLから始まり、入力するたびにコマンドの役立つ説明と使用方法の詳細が表示されるようになります。

現在、ターミナルでLSPの提案を有効にするには、以下の設定が必要です。

  • python.terminal.shellIntegration.enabled Open in VS Code Open in VS Code Insiders
  • python.analysis.supportAllPythonDocuments Open in VS Code Open in VS Code Insiders

音声入力 (ディクテーション)

GeminiおよびClaude拡張機能などで有効なものを含め、ターミナルで自然言語入力がサポートされたため、ターミナルでの音声入力を再導入しました。「Terminal: Start Dictation in Terminal」および「Terminal: Stop Dictation in Terminal」コマンドを使用して、音声入力を開始または停止できます。

シェル統合診断の改善

シェル統合は、スティッキースクロールクイック修正、ターミナル内で何が起きているかを理解するエージェントモードなど、統合ターミナルの多くの機能の基盤です。

今回のリリースでは、ターミナルにホバーして「Show Details(詳細を表示)」を選択した際の診断機能が向上しました。検出されたシェルタイプと現在の作業ディレクトリが確認できるようになっています。

Screenshot of the detailed terminal tab hover showing the shell type like pwsh and the current working directory.

これらのリッチな機能が期待通りに動作しない場合に、最初に確認すべき場所の一つです。

言語

Python

Python 3.13以降のシェル統合サポート

バージョン3.13以降を使用する場合のPython用シェル統合をサポートしました。有効にすると、互換性を確保するためにPyREPLは自動的に無効になります。引き続きPyREPLを使用したい場合は、シェル統合を無効にできます。

Screenshot showing the Python shell integration setting in the Settings editor.

Python Environments 拡張機能の改善

Python Environments拡張機能は、安定版ユーザーへの段階的な展開の一環として、バグ修正と改善を続けています。この展開期間中にPython Environments拡張機能を使用するには、拡張機能がインストールされていることを確認し、VS Codeの settings.json ファイルに "python.useEnvironmentsExtension": true を追加してください。

TypeScript 5.9

VS CodeはTypeScript 5.9.2を同梱するようになりました。このメジャーアップデートでは、import deferのサポートや、多くのDOM APIに対するドキュメント改善といったツール面の向上など、いくつかの言語機能の改善がもたらされます。

このアップデートの詳細については、TypeScript 5.9リリースブログをご覧ください。

JavaScriptとTypeScriptの展開可能なホバー

JavaScriptやTypeScriptのシンボルにホバーすると、VS Codeはそのシンボルに関する最も有用なIntelliSense型情報を表示しようとします。型は非常に複雑になる可能性があるため、私たちにとっての課題は、役立つ詳細を表示することと、情報が多すぎて圧倒されないようにすることのバランスを見つけることでした。「万能」なアプローチを見つけるのは難しく、必要な詳細レベルは作業内容によって変わることもあります。

そのため、今回のイテレーションでは、ホバー内での型の表示方法をより細かく制御できる新しいUIを追加しました。シンボルにホバーした際、ホバーコントロールの左側にある小さな + アイコンを選択すると、ホバー内のインターフェースや複雑な型をコンポーネントに展開できます。例えば、インターフェースのプロパティをホバー内で直接確認できます。

ホバーは複数回展開でき、以前の展開から再帰的に型を展開します。展開しすぎた場合は - アイコンを選択して前のレベルに戻れます。すべての型が展開可能ではないこと、またサポートできる展開量には依然として制限があることに注意してください。展開可能なホバーが期待通りに動作しないケースがあれば、お知らせください

拡張機能への貢献

GitHub Pull Requests

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

拡張機能の0.116.0リリース用の変更履歴を確認して、リリースに含まれるすべての内容を学びましょう。

プルリクエストヘッダーの整理

プルリクエスト説明ヘッダーのボタンバーを簡素化しました。コピー操作は、PRリンクの右クリックコンテキストメニューから実行できます。

Screenshot of the simplified PR header when opening the PR details.

チャットにコーディングエージェントのPRを表示

設定: githubPullRequests.codingAgent.uiIntegration VS Codeで開く VS Code Insidersで開く

コーディングエージェントセッション(#copilotCodingAgent経由、または「Delegate to coding agent(コーディングエージェントに委任)」アクション経由)を開始すると、プルリクエストがチャットビューにカードとしてレンダリングされます。

Screenshot of a coding agent PR card in the Chat view.

エージェントが有効なリポジトリにおいて、チャットビューに新しい「Delegate to coding agent」ボタンを表示するには、 githubPullRequests.codingAgent.uiIntegration VS Codeで開く VS Code Insidersで開く 設定を有効にしてください。

チャットセッション (実験的)

コーディングエージェントチャット

前回のイテレーションのCopilotコーディングエージェント統合に基づき、専用のチャットエディターからコーディングエージェントセッションを管理できるようになりました。これにより、コーディングエージェントの進捗を追跡し、フォローアップの指示を出し、専用チャットエディターでエージェントの応答を確認できます。

  • #copilotCodingAgentツールまたはUIコントロールを使用して、VS Codeからコーディングエージェントセッションを開始します。

  • 付属のチャットエディターでコーディングエージェントの進捗を追跡します。

    Screenshot showing Coding Agent progress.

  • チャットから直接フォローアップ指示を出します。

    Screenshot showing providing a followup in chat to coding agent.

チャットセッションビュー

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

この実験的機能を試すには、 chat.agentSessionsViewLocation VS Codeで開く VS Code Insidersで開く 設定を有効にします。

  • viewに設定すると、VS Codeサイドバーに新しい「Chat Sessions(チャットセッション)」ビューが表示されます。このビューで、ローカルチャットセッションやコーディングエージェントセッションを管理・操作できます。

    Screenshot showing the Coding Agent Sessions view.

  • showChatsMenuに設定すると、コーディングエージェントのチャットセッションがローカルのチャット履歴と一緒に表示されます。

    Screenshot showing the Coding Agent Sessions Quick Pick.

この統合には、最新のGitHub Pull Request拡張機能と、Copilotコーディングエージェントをサポートする開かれたリポジトリが必要です。詳細については、VS Codeでコーディングエージェントを使用する方法に関する新しいドキュメントをご覧ください。

テーマ: Sharp Solarized (vscode.devでプレビュー)

拡張機能の作成

ターミナル活性化イベント

拡張機能向けに2つの新しい活性化イベントが利用可能になりました。

  • onTerminal: いずれかのターミナルが開かれたときにトリガーされます。
  • onTerminalShellIntegration: ターミナルでリッチなシェル統合が有効になったときにトリガーされます。

shellTypeを指定して特定のシェルをターゲットにできます。例えば、onTerminalShellIntegration:bashは、Bashターミナルでシェル統合が有効になったときにアクティブになります。

提案API

チャット応答でのカスタムWebviewのレンダリング

Chat Output Renderer APIにより、拡張機能はテキストや画像以外のチャット応答を提供できるようになりました。これを使用して、拡張機能はWebviewを使用し、チャット出力に任意のHTMLコンテンツをレンダリングできます。使用例には、カスタム視覚化、インラインプレビュー、対話型コントロールなどがあります。

Chat Output Renderer拡張機能サンプルは、このAPIを使用してチャット応答にMermaidダイアグラムをレンダリングする方法を示しています。以下がこの拡張機能サンプルの動作例です。

Screenshot showing a mermaid diagram in a chat response.

素晴らしい点は、VS Code自体がMermaidダイアグラムをレンダリングできることではなく、このレンダリングを拡張機能が完全に提供できることです。これにより、チャットでのカスタム出力を反復的に開発できます。

Screenshot asking chat to generate a modified version of the first diagram.

APIの仕組みを簡単に説明します。

  1. 応答の一部としてカスタムデータを返せる言語モデルツールを登録します。このデータを識別するためにMIMEタイプを使用します。
  2. このMIMEタイプ用のチャット出力レンダラーを登録します。
  3. 言語モデルがそのツールを呼び出すと、チャット出力レンダラーを起動し、応答内のWebviewにレンダリングします。

このAPIの完全なエンドツーエンドの例については、拡張機能サンプルを確認してください。

このAPIは非常に強力であり、素晴らしい新しいチャット体験を実現できる可能性があるため、ぜひ試してフィードバックをお聞かせください!

Chat Session Provider API

新しいChat Session Provider API案により、拡張機能は独自のチャットバックエンドをVS CodeのネイティブなチャットUIに統合できるようになります。これを使用すると、拡張機能は新しいチャットセッションを開き、そのセッションの履歴を生成し、新しいユーザープロンプトに応答できます。

このAPIはまだ初期段階であり、変更される可能性があります。しかし、すでに新しいGitHubコーディングエージェントセッションフローを駆動するために使用されており、GitHubからチャットを読み込み、GitHubによって完全に制御されるエージェントとチャットできるようになっています。

タスク実行ターミナル

拡張機能作成者は、新しい taskExecution.terminal プロパティを使用して、実行中のタスクに関連付けられたターミナルにアクセスできるようになりました。これにより、どのターミナルが特定のタスクにリンクされているかを特定し、プログラムからやり取りすることが容易になります。

SecretStorage keys() API

拡張機能が SecretStorage に保存したキーのリストを取得したい場合、提案されている新しい keys() APIを使用して取得できるようになりました。

export async function activate(context: ExtensionContext) {
  await context.secrets.store('mySecret', 'superSecretValue');
  await context.secrets.store('mySecret2', 'superSecretValue2');
  const keys = await context.secrets.keys();
  console.log('All secret keys:', keys); // returns ['mySecret', 'mySecret2']
}

: この変更は、Secret Storageの代替実装を提供するもの(特に新しいAPIを採用した https://vscode.dev や、今後新しいAPIを採用予定の https://github.dev)への変更に依存しています。サポートされていない環境では、このAPIは例外をスローします。

エンジニアリング

packages.microsoft.comのキー更新

packages.microsoft.com が署名キーを更新しました。その結果、新しいLinuxディストリビューションを使用しているユーザーは、VS Codeのインストール中にキー関連の警告やエラーを見なくなるはずです。Debianベースのディストリビューションは自動的に新しいキーを受信しますが、他のディストリビューションのユーザーは新しいキーをインポートする前に、古いキーを手動で削除する必要がある場合があります。

Electron 37の更新

今回のマイルストーンで、Electron 37の更新を安定版リリースに昇格させました。このアップデートにはChromium 138.0.7204.100とNode.js 22.17.0が含まれます。Insidersビルドを自身でホストし、早期にフィードバックを提供してくださった皆様に感謝いたします。

注目すべき修正

  • vscode#252384 - VS Codeがフォーカスを失うとエージェントモードが一時停止する

ありがとうございます

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

イシュートラッキング

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

プルリクエスト

vscodeへの貢献

vscode-codicons への貢献

vscode-copilot-chat への貢献

vscode-eslint への貢献

vscode-js-debug への貢献

  • @pilaoda (pilaoda)
    • ウォッチパネルのカスタム文字列表現を修正。#2252 PR #2253
    • スコープ内で定義されたすべての変数が揃うまで、ローカル変数パネルで toString が動作しない問題を修正 #2254 PR #2255

vscode-json-languageservice への貢献

vscode-vsceへの貢献

debug-adapter-protocolへの貢献

language-server-protocolへの貢献

python-environment-tools への貢献

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