2025 年 7 月 (バージョン 1.103)¶
リリース日: 2025 年 8 月 7 日
Visual Studio Code の 2025 年 7 月リリースへようこそ。今月も多くの改善をお届けします。主なハイライトは次のとおりです。
MCP | チャット | 生産性 |
---|---|---|
刷新したツールピッカー体験 さらに表示 |
VS Code で GPT‑5 を利用 さらに表示 |
Git worktree で複数ブランチを同時チェックアウト さらに表示 |
1 回のエージェント要求で 128 個超のツールを可能に さらに表示 |
チャットのチェックポイントで良好な状態へ戻す さらに表示 |
専用ビューでコーディングエージェントセッションを管理 さらに表示 |
これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.com の Updates をご覧ください。
Insiders: 新機能をいち早く試したいですか?
Nightly Insiders ビルドをダウンロードして、利用可能になり次第最新の更新をお試しください。
Download Insiders
チャット¶
GPT 5 の提供状況¶
本日より、GPT‑5 はすべての有料 GitHub Copilot プランに順次ロールアウトされます。GPT‑5 は OpenAI のこれまでで最も高性能なモデルで、推論・コーディング・チャットの各分野で新たな進歩をもたらします。GPT‑5 の提供状況の詳細は GitHub Changelog を参照してください。
Chat ビューを開き、モデルピッカーから GPT‑5 を選択すると、VS Code でチャット会話に利用できます。
VS Code での言語モデルの使い方 もご覧ください。
チャットのチェックポイント¶
設定: setting(chat.checkpoints.enabled)
チャット会話の異なる状態を復元できるチェックポイントを導入しました。編集を簡単に元に戻し、会話の特定の時点に戻れます。チャットセッションで複数ファイルが変更された場合に特に有用です。
チェックポイントを選択すると、その時点までのワークスペースの変更とチャット履歴を VS Code が復元します。チェックポイント復元後にやり直すこともできます。
チェックポイントは既定で有効で、setting(chat.checkpoints.enabled)
で制御できます。
ツールピッカーの改善¶
今イテレーションではツールピッカーを全面刷新し、すべてのツールを表示する新コンポーネント Quick Tree を採用しました。
主な機能:
- 展開 / 折りたたみ
- 設定オプションをタイトルバーへ移動
- スティッキースクロール
- アイコン表示
ぜひご意見をお寄せください。
ツールのグループ化 (実験的)¶
設定: setting(github.copilot.chat.virtualTools.threshold)
1 回のチャット要求で利用できるツールの最大数は現在 128 です。以前は、ツール数の多い MCP サーバーを導入するとすぐにこの上限に達し、続行するにはいくつかのツールの選択を解除する必要がありました。
このリリースでは、ツール数が上限を超えた際に有効になる実験的なツール呼び出しモードを追加しました。ツールは自動的にグループ化され、モデルはツールグループを有効化して呼び出せるようになります。
この挙動 (しきい値を含む) は setting(github.copilot.chat.virtualTools.threshold)
で設定できます。
ターミナル自動承認の改善¶
設定: setting(chat.tools.terminal.autoApprove)
先月導入したターミナル自動承認の設定を、今月は大幅に改善しました。詳細はドキュメントの ターミナル自動承認 を参照してください。
allowList
とdenyList
の 2 つの設定をsetting(chat.tools.terminal.autoApprove)
に統合しました。旧設定を使用している場合は新設定への移行を促す警告が表示されます。- 正規表現マッチャーがフラグに対応しました。たとえば PowerShell では大文字/小文字を区別しないことが多いため、
i
フラグが有用です:"chat.tools.terminal.autoApprove": { // 大文字/小文字に関係なく、あらゆる `Remove-Item` コマンドを拒否 "/^Remove-Item\\b/i": false }
- サブコマンドのマッチング方法に関する混乱がありましたが、設定の説明に詳細を追加し、コマンドライン全体に対するマッチングもサポートしました。
"chat.tools.terminal.autoApprove": { // PowerShell スクリプトらしき参照を含むあらゆる「コマンドライン」を拒否 "/\\.ps1\\b/i": { "approve": false, "matchCommandLine": true } }
- 自動承認の判断根拠を Terminal の出力チャネルに記録するようになりました。将来的に UI での表示も予定 しています。
- 当面は、ユーザー設定またはリモート設定でのみ自動承認を許可します。今後のリリースでワークスペース設定でも利用可能にする予定です。
タスクリストで進捗を追跡 (実験的)¶
設定: setting(chat.todoListTool.enabled)
エージェントモードの利点は、高レベルのタスクを与えるだけで実装まで行えることです。しかし、作業計画を立てて細かなタスクへと分割していくと、個々のタスクの進捗を追うのが大変になることがあります。
そこで今月は、チャットにタスク/ToDo リスト機能を導入しました。完了済みと保留中のタスクが一目で分かります。タスクリストは常に Chat ビュー上部に表示され、進捗を把握できます。エージェントの進行に合わせてタスクリストは更新されます。
高レベルのタスクをエージェントに与え、ToDo リストで進捗を追跡するよう依頼してみてください。
この機能はまだ実験段階で、setting(chat.todoListTool.enabled)
を有効にすると利用できます。
モデル管理体験の改善¶
今イテレーションでは、言語モデルへのアクセスを担うチャットプロバイダー API を刷新しました。ユーザーはモデルピッカーに表示するモデルを選択できるようになり、よりパーソナライズされた集中しやすい体験になります。
今後数か月でこの新 API を安定化する予定です。フィードバックをお待ちしています。API の安定化により、拡張機能が独自のモデルプロバイダーを実装でき、BYOK (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 の制約 (特に Chat ビュー内のカスタム UI が必要な変更) から解放され、将来の機能実装もしやすくなります。
チャット使用時のシェル統合未有効の警告¶
エージェントモードがシェル統合なしでもターミナルでコマンドを実行できるよう努めていますが、その場合ターミナルは事実上ブラックボックスになるため体験は劣化します。発生しうる問題としては、終了コードの取得不可や、コマンド待ちとプロンプト待ちの区別が付かないために出力がエージェントへ正しく報告されない、などが挙げられます。
run in terminal
ツール使用時に シェル統合 が検出されない場合は、これを示しドキュメントへのリンクを提示するメッセージを表示します。
タスクとターミナルの出力ポーリング¶
エージェントは、出力ポーリングを使ってタスクやバックグラウンドターミナルの完了を待つようになりました。プロセスが 20 秒を超える場合、引き続き待機するか、先へ進むかを確認します。最大 2 分間監視し、進行状況の要約や、まだ実行中である旨を報告します。これにより、チャットで長時間実行やエラーが起きやすいコマンドを扱う際の信頼性が向上します。
タスク認識の改善¶
これまではエージェントはアクティブなタスクのみ監視できましたが、失敗または完了したタスクを含む、アクティブ・完了の両方のタスク出力を追跡・分析できるようになりました。これにより、トラブルシューティングが容易になり、タスク実行履歴の把握がより包括的になります。
ユーザー作成ターミナルの認識¶
エージェントはワークスペース内のユーザー作成ターミナルをすべて把握するようになりました。これにより、最近のコマンドやターミナル出力を追跡でき、ターミナル支援やトラブルシューティングの文脈が向上します。
ターミナルのインラインチャットの改善¶
ターミナルのインラインチャットが、サブシェル (例: PowerShell や zsh から Python / Node を起動) 内で作業している場合でも、アクティブなシェルをより適切に検出するようになりました。この動的なシェル検出により、現在のシェルに合った、より関連性の高いコマンド提案が可能になります。
テストランナーツールの改善¶
テストランナーツールを作り直しました。チャット内に進捗をインライン表示できるようになり、多数のバグを修正しました。
過去の要求を編集¶
設定: setting(chat.editRequests)
前イテレーションで、過去の要求を編集できる機能を有効化し、複数の導線を展開しました。今イテレーションでは、インライン編集を既定の動作にしました。要求のバブルをクリックすると編集を開始できます。添付の変更、モードやモデルの切り替え、テキストを修正して再送信が可能です。
ツールバーのホバーからの編集を好む場合は、setting(chat.editRequests)
で編集方法を制御できます。
最大化でチャットを開く¶
設定: setting(workbench.secondarySideBar.defaultVisibility)
セカンダリサイドバーの既定の表示状態に、最大化して開く 2 つのオプションを追加しました。
maximizedInWorkspace
: 新しいワークスペースを開くときに Chat ビューを最大化で開くmaximized
: 空ウィンドウも含め、常に Chat ビューを最大化で開く
チャット実行中の終了確認¶
エージェントセッションがファイルを変更中または要求に応答中のワークスペースを誤って閉じてしまうのを防ぐため、チャットの応答が実行中に VS Code を終了またはウィンドウを閉じようとするとダイアログを表示します。
ユーザー操作の OS 通知¶
設定: setting(chat.notifyWindowOnConfirmation)
チャットセッション内でユーザーの確認が必要な場合、OS のネイティブ通知でトーストを表示するようになりました。setting(chat.notifyWindowOnConfirmation)
で有効化できます。
将来的には、より多くの情報表示やトーストから直接承認できるよう改善する予定です。現時点では、トーストを選択すると確認が発生したウィンドウにフォーカスします。
チャットの数式サポート (プレビュー)¶
設定: setting(chat.math.enabled)
チャットの応答で数式のレンダリングを初期対応しました。
この機能は KaTeX で動作し、インライン/ブロックの両方の数式をサポートします。インライン数式は $...$
、ブロック数式は $$...$$
で囲みます。
数式レンダリングは setting(chat.math.enabled)
で有効化できます。現在は既定で無効ですが、今後のテストを経て有効化する予定です。
プロジェクトのスキャフォールディングへの Context7 統合 (実験的)¶
設定: setting(github.copilot.chat.newWorkspace.useContext7)
チャットで #new
によるプロジェクトのスキャフォールディングを行う際、Context7 MCP サーバーをインストール済みであれば、最新のドキュメントと API を Context7 から利用できるようになりました。
MCP¶
サーバーの自動起動と信頼¶
設定: setting(chat.mcp.autostart:newAndOutdated)
これまでは MCP サーバー設定の追加や更新後、Chat ビューに青い「更新」アイコンが表示され、手動でツール一覧の更新が必要でした。今月は MCP サーバーの自動起動を設定できるようになり、手動再起動が不要になりました。
setting(chat.mcp.autostart:newAndOutdated)
で挙動を制御できます。アイコンのツールチップからも設定変更でき、起動対象のサーバーを確認できます。
サーバーの更新や変更後、最初の起動時にサーバーの信頼を求めるダイアログを表示します。特に自動起動を有効にしている場合、望ましくないコマンドの実行を避けるためにも信頼の付与は重要です。
VS Code での MCP サーバーの使い方は ドキュメント を参照してください。
リモート MCP サーバー向けクライアント資格情報フロー¶
リモート MCP サーバーが認証をサポートする理想的な方法は、Dynamic Client Registration (DCR) に対応した認証プロバイダーを使うことです。これによりクライアント (VS Code) がプロバイダーに自身を登録し、シームレスな認証フローが可能になります。
ただし、すべての認証プロバイダーが DCR に対応しているわけではありません。そこで、クライアント ID と (任意で) クライアントシークレットを指定して認証フローを進められるクライアント資格情報フローを導入しました。流れは次のとおりです。
- 手順 1: VS Code が DCR を使用できないことを検出し、クライアント資格情報フローを実行するかを確認します。
重要: この時点で、認証プロバイダーのサイトにアクセスし、アプリケーション登録を手動で作成します。モーダルに記載のリダイレクト URI を登録します。
- 手順 2: 認証プロバイダーのポータルからクライアント ID (と必要に応じてクライアントシークレット) を取得します。入力ボックスにクライアント ID を入力して
kbstyle(Enter)
を押下します。
- 手順 3: クライアントシークレットがある場合は続けて入力し、
kbstyle(Enter)
を押下します (ない場合は空のまま)。その後、通常の認証フローに遷移し、使用中の MCP サーバーを認証します。
アカウントメニューの動的認証プロバイダー削除¶
リモート MCP 認証の追加以降、コマンドパレットには Authentication: Remove Dynamic Authentication Providers コマンドがあり、クライアント資格情報 (クライアント ID と必要に応じてクライアントシークレット) と、そのプロバイダーに関連付けられたアカウント情報を削除できます。
このコマンドをアカウントメニューにも表示しました。MCP サーバーアカウント内にあります。
MCP サーバーアカウントがまだない場合は、メニューのルートに表示されます。
resource_link
と構造化出力のサポート¶
VS Code は最新の MCP 仕様 2025-06-18
を完全サポートし、ツール結果の resource_link
と構造化出力に対応しました。
アクセシビリティ¶
チャットの促しをアクセシブルに¶
エージェントがユーザー入力を促す (プロセスの待機継続など) 際、プロンプトがスクリーンリーダーで利用できるようになりました。プロンプトの出現を通知し、キーボードで移動でき、アクセシブルビューでメッセージを確認できます。
チャット編集時にファイルを開く挙動を制御¶
新しい設定 setting(accessibility.openChatEditedFiles)
により、エージェントがチャットでファイルを編集する際に自動でエディターへ開くかを選択できるようになりました。どのファイルをエディターに表示するかをより細かく制御できます。
全編集/前回編集の表示コマンド¶
エディター全体で View All Edits と View Previous Edits コマンドが利用可能になりました。エージェントによる変更を簡単に確認できます。setting(accessibility.openChatEditedFiles)
を無効にしている場合にも、各ファイルを開かずに編集を追跡するのに役立ちます。
サイドバーの可視性アナウンス¶
プライマリ/セカンダリサイドバーの表示/非表示が変更された際、ARIA のアナウンスで通知するようになりました。これにより、スクリーンリーダー利用者もサイドバーの可視性の変化を把握できます。
Playwright によるアクセシビリティテスト¶
エディターの自動アクセシビリティテストを Playwright で追加しました。Visual Studio Code がアクセシビリティ標準とベストプラクティスに継続的に準拠していることを検証し、すべてのユーザーにより良い体験を提供します。
エディター体験¶
設定検索のサジェスト¶
設定エディターの検索ボックスのスパークルで示される AI 検索結果のトグルを、すべてのユーザーに展開しました。AI 検索の結果が読み込まれ利用可能になるとトグルが有効になります。トグルを押すと AI / 非 AI の検索結果を切り替えます。
AI 設定検索結果は文字列の一致ではなく、意味的な類似性に基づきます。たとえば「文字サイズを大きくする」と検索すると、editor.fontSize
が AI 設定検索結果に表示されます。
エディタータブのコンテキストメニュー¶
エディタータブのコンテキストメニューを整理し、分割と移動に関連するオプションをサブメニューにまとめました。
AI 統計 (プレビュー)¶
設定: setting(editor.aiStats.enabled:true)
基本的な AI 統計を表示する実験的機能を追加しました。既定では無効で、setting(editor.aiStats.enabled:true)
で有効化できます。
プロジェクトごとに、AI によって挿入された文字の割合と手入力の割合を表示します。加えて、その日の間に受け入れたインライン/次の編集候補の数も追跡します。
ノートブック¶
ノートブックのインラインチャットにエージェントツール¶
設定: setting(inlineChat.notebookAgent:true)
ノートブックのインラインチャットコントロールが、セルの実行やカーネルへのパッケージインストールなどの追加機能を可能にする、ノートブックエージェントツール一式を利用できるようになりました。
ノートブックでエージェントツールを有効にするには、新しい実験的設定 setting(inlineChat.notebookAgent:true)
を有効にします。現在はインラインチャット v2 の設定 setting(inlineChat.enableV2:true)
も有効にする必要があります。
uv で作成した仮想環境に依存関係をインストール¶
uv で作成した仮想環境で Jupyter Notebook を実行する際に、必要な依存関係のインストールをサポートしました。
ソース管理¶
Git worktree サポート¶
設定: setting(git.detectWorktrees)
長年の 要望 に応え、Git worktree をサポートしました。Worktree により、複数のブランチを同時にチェックアウトでき、コンテキストを切り替えずに変更のテストや並行作業が容易になります。
Git リポジトリを含むフォルダーやワークスペースを開くと、worktree を自動検出し、ソース管理のリポジトリビューに表示します。コマンドパレットやリポジトリビューから、worktree の表示・作成・削除・新規/現在のウィンドウでのオープンが可能です。setting(git.detectWorktrees)
の切り替えで無効化できます。
リポジトリビュー¶
ソース管理のリポジトリビューには、現在のフォルダー/ワークスペースで検出されたすべてのソース管理プロバイダーが表示されます。今月は、リポジトリ・サブモジュール・worktree を視覚的に区別できるようレンダリングを更新し、親子関係も表示するようにしました。
ターミナル¶
ターミナルのサジェストでドキュメントを表示¶
言語サーバー (LSP) によるターミナルのサジェストに、エディター同様のインラインドキュメントが表示されるようになりました。まずは Python REPL から、入力中のコマンドに関する説明や使用例が得られます。
ターミナルで LSP のサジェストを有効にするには、次の設定が必要です。
setting(python.terminal.shellIntegration.enabled:true)
setting(python.analysis.supportAllPythonDocuments:true)
音声ディクテーション¶
ターミナルで自然言語入力がサポートされたこと (Gemini や Claude の拡張を含む) を受け、ターミナルでの音声ディクテーションを再導入しました。Terminal: Start Dictation in Terminal / Terminal: Stop Dictation in Terminal コマンドで開始/停止できます。
シェル統合の診断を改善¶
シェル統合 は、統合ターミナルの多くの機能 (例: スティッキースクロール、クイック修正、エージェントモード によるターミナル内部の把握) の基盤です。
今リリースでは、ターミナルをホバーして Show Details を選択したときの診断が改善されました。検出したシェルの種類と現在の作業ディレクトリが表示されます。
これらのリッチ機能が期待通りに動作しない場合、最初に確認する場所の 1 つです。
言語¶
Python¶
Python 3.13 以降のシェル統合サポート¶
Python 3.13 以降でシェル統合をサポートしました。有効化すると互換性のため PyREPL は自動的に無効化されます。PyREPL を使い続けたい場合はシェル統合を無効にできます。
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 を追加しました。ホバー時に左側の小さな +
アイコンを選ぶと、インターフェイスや複合型を構成要素へ展開できます。例えばインターフェイスのプロパティをホバー内で直接確認できます。
ホバーは複数回展開でき、前回の展開から再帰的に型を展開します。展開しすぎた場合は -
アイコンで 1 段階戻せます。すべての型が展開可能というわけではなく、展開の上限もあります。期待通りに動作しないケースがあれば お知らせください。
拡張機能への貢献¶
GitHub Pull Requests¶
GitHub Pull Requests 拡張の進捗がさらにありました。プルリクエストや課題の作成・管理・作業が可能です。
拡張のリリースに含まれる変更点は、0.116.0 の変更ログ を参照してください。
プルリクエストヘッダーの整理¶
プルリクエスト詳細のヘッダーにあるボタンバーを簡素化しました。コピー系の操作は、PR リンクの右クリックコンテキストメニューに移しました。
チャットにコーディングエージェントの PR を表示¶
設定: setting(githubPullRequests.codingAgent.uiIntegration)
#copilotCodingAgent
や Delegate to coding agent アクションでコーディングエージェントセッションを開始すると、プルリクエストが Chat ビュー内のカードとして表示されます。
リポジトリがエージェントに対応している場合、Chat ビューに新しい Delegate to coding agent ボタンを表示するには、setting(githubPullRequests.codingAgent.uiIntegration)
を有効にします。
チャットセッション (実験的)¶
コーディングエージェントのチャット¶
前イテレーションの Copilot コーディングエージェント統合 を基に、専用のチャットエディターからコーディングエージェントセッションを管理できるようになりました。進捗の確認、追加入力の提供、応答の確認を 1 つのエディターで行えます。
- VS Code から
#copilotCodingAgent
ツールまたは UI 操作 でコーディングエージェントセッションを開始。
- 連携したチャットエディターでコーディングエージェントの進捗を追跡。
- チャットから直接フォローアップを指示。
チャットセッションビュー¶
設定: setting(chat.agentSessionsViewLocation)
実験的機能を試すには setting(chat.agentSessionsViewLocation)
を設定します。
view
に設定すると、VS Code のサイドバーに新しい Chat Sessions ビューが表示されます。ローカルのチャットセッションやコーディングエージェントセッションを管理・操作できます。
showChatsMenu
に設定すると、ローカルのチャット履歴と並んでコーディングエージェントのチャットセッションが表示されます。
この統合には最新の 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 図 を描画する方法を示しています。以下はサンプルの実行例です。
重要なのは VS Code が Mermaid 図をレンダリングできることではなく、このレンダリングが拡張機能だけで提供できる点です。これにより、チャット内のカスタム出力を反復的に改善できます。
API の仕組みは次のとおりです。
- レスポンスの一部としてカスタムデータを返せる言語モデルツールを登録します。データの識別には MIME タイプを使います。
- その MIME タイプ用のチャット出力レンダラーを登録します。
- 言語モデルがツールを呼び出したら、チャット出力レンダラーで WebView に描画します。
API の一連の流れは、拡張サンプル を参照してください。
この API は非常に強力で、新しいチャット体験を実現できる可能性があります。ぜひ試してフィードバックをお寄せください。
チャットセッションプロバイダー API¶
新しい Chat Session Provider API の提案により、拡張機能は VS Code のネイティブチャット UI に自身のチャットバックエンドを統合できます。これを使うと、新しいチャットセッションを開き、その履歴を投入し、新しいユーザー入力に応答できます。
この API はまだ初期段階で変更の可能性があります。ただし、すでに新しい GitHub コーディングエージェントセッションフロー を駆動しており、GitHub からチャットを読み込み、GitHub が完全に制御するエージェントと会話できます。
タスク実行ターミナル¶
拡張機能の作者は、実行中のタスクに関連付けられたターミナルへ taskExecution.terminal
プロパティでアクセスできるようになりました。これにより、特定のタスクに紐づくターミナルの特定や、プログラムからの操作が容易になります。
SecretStorage keys()
API¶
SecretStorage
に拡張機能が保存したキーの一覧を取得したい場合、新しい提案 API keys()
で取得できます。
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 の代替実装を提供するプラットフォームの変更に依存します。特に https://vscode.dev は新 API を採用済みで、https://github.dev も間もなく採用予定です。未対応の環境では、この API は例外をスローします。
エンジニアリング¶
packages.microsoft.com のキー更新¶
packages.microsoft.com
の署名キーを更新しました。これにより、新しいディストリビューションの Linux ユーザーは VS Code のインストール時にキー関連の警告やエラーが表示されなくなるはずです。Debian 系ディストリビューションは自動で新しいキーを受け取りますが、その他のディストリビューションでは旧キーの削除と 新キーの取り込み が必要な場合があります。
Electron 37 への更新¶
今月は Electron 37 の更新を Stable リリースのユーザーへ昇格展開します。この更新には Chromium 138.0.7204.100 と Node.js 22.17.0 が含まれます。Insiders ビルドでセルフホストし、早期のフィードバックを提供してくださった皆さまに感謝します。
注目すべき修正¶
- vscode#252384 - VS Code のフォーカスが外れると Agent Mode が一時停止する
謝辞¶
最後になりましたが、VS Code のコントリビューターの皆さまに心より 感謝 いたします。
課題トラッキング¶
課題トラッキングへの貢献:
- @gjsjohnmurray (John Murray)
- @RedCMD (RedCMD)
- @albertosantini (Alberto Santini)
- @IllusionMH (Andrii Dieiev)
プルリクエスト¶
vscode
への貢献:
- @adityavc (Aditya Chittari): #134898 - 改行削除時の空白トリミング PR #210870
- @adrianstephens: 有効なメニュー拡張ポイントに debug/watch/context を追加 PR #237751
- @andy0130tw (Andy Pan): Web 版の TypeScript Language Server の locale 引数をサポート (#256252) PR #256256
- @Benimautner: スクロール可能要素に慣性スクロールを追加 PR #244034
- @BlackHole1 (Kevin Cui): 修正: ミニマップで MAKR Underlined を表示できない PR #226116
- @bytemain (Jiacheng): リファクタ(terminal): ITerminalLaunchResult インターフェイスの導入 PR #256284
- @c-claeys (Cristopher Claeys): エディターコマンドの ServicesAccessor の型付けをより一貫化 PR #218369
- @CookieeQuinn (Quinn): 修正 #212484: user-select: none のテキスト上で caretRangeFromPoint が動作しない PR #219819
- @CrazySteve0605 (Wang Chong): 修正(gettingStarted): ホバー説明の重複する "can be" を削除 PR #254412
- @dbreen (Dan Breen): エクスプローラーのより妥当なデフォルトスクロールバー幅 PR #199784
- @devlinjunker: モデル API に undo/redo と canUndo/canRedo を公開 PR #213954
- @dibarbet (David Barbet): C# の山括弧の色分けを有効化 PR #247665
- @duncpro (Duncan): URL を区切るための縦棒 (|) のサポート PR #232460
- @dylanchu: TerminalTaskSystem: 文字列コマンドの追加引数の修正 PR #251201
- @estrizhok (Eugene Strizhok): 設定 UI で ‘JetBrains’ と ‘ReSharper’ の大文字表記を修正 PR #254472
- @firelizzard18 (Ethan Reesor): Diff エディター向けのコンテキストキー
availableEditorIds
PR #250198 - @futurist (James Yang): 修正(terminal): スクロールバック制限到達後の getBufferReverseIterator のバグ PR #257311
- @g0t4 (Wes Higbee): 複数行選択のハイライト許可と最大長制御のオプション追加 PR #228982
- @gabrielcsapo (Gabriel Csapo): 機能: tsserver オプションに合わせて (requestTime) ログレベルを追加 PR #250778
- @gjsjohnmurray (John Murray)
- 提案 API として
SecretStorage.keys()
を追加 PR #252804 @param
タイポを修正 PR #257219
- 提案 API として
- @hickford (M Hickford): エディター操作 ‘reverse lines’ を追加 PR #242926
- @HolgerJeromin (Holger Jeromin): vscode API: WebView コンテンツへの互換性を引き上げ PR #253635
- @iann0036 (Ian Mckay): 修正: lm invokeTool の説明のタイポ PR #257975
- @jiahaoxiang2000 (isomo): キーボードショートカットで機能するよう
git.diff.stageHunk
コマンドを修正 PR #254145 - @Jiogo18 (Jérôme Lécuyer): Git - l10n 変更破棄ダイアログ PR #254366
- @joelverhagen (Joel Verhagen)
- [WIP] NuGet を MCP パッケージソースとしてサポート (VS Code) PR #254678
- NuGet MCP 支援設定の実験フラグを追加 PR #257463
- @Jose-AE:
window.zoomLevel = 1
設定時のエディターのホイール拡大がガタつく問題を修正 PR #227916 - @joyceerhl (Joyce Er): 修正: チャット入力のプレースホルダーを分かりやすく PR #255601
- @justin39 (Justin Wang)
- 特定クライアントバージョン向けに ServeWebArgs へ commit_id オプションを追加 PR #255494
code serve-web
の--commit-id
フラグを修正 PR #258904
- @jwangxx (James Wang): 理由付きで ChatResponseStream をクリアし警告表示する機能を追加 PR #257271
- @Kaidesuyoo (Kaidesuyo): 修正: デスクトップ版での webWorkerExtensionHost 起動処理の不備 PR #234505
- @madskristensen (Mads Kristensen): schemastore.org への参照を更新 PR #254690
- @martijnwalraven (Martijn Walraven): 言語プロバイダー使用時のノートブックインライン値を修正 PR #254264
- @mortalYoung (野迂迂): 機能: スクロール対応の editor.minimap.autohide を追加 PR #253868
- @neorth (Joakim Berglund): 頭字語でない場合の CamelCase の最初の単語を大文字化 PR #229797
- @Ninglo (Ninglo):
editor.wordSegmenterLocales
がシンプルウィジェットエディター (chat / SCM 入力など) で有効化されない問題を修正 PR #223921 - @OfekShilon (Ofek): 修正 #4775: 正規表現に組み込む前にユーザーコードをエスケープ PR #236809
- @omar-cs (Omar Carrizales): Issue #168531: カーソルの高さ PR #211473
- @Q1CHENL (Qichen Liu 刘启辰): 修正: スクロールバーの右クリックでミニマップ有効化時のビューのずれを防止 PR #210510
- @qirong77: monaco-editor の Shadow DOM 選択更新時に発生する予期しないコンソールエラーを修正 PR #215780
- @raffaeu (Raffaele Garofalo): 機能/エディターメニューの移動 PR #247818
- @RedCMD (RedCMD): 空の閉じ括弧エラーを修正 PR #240609
- @remcohaszing (Remco Haszing)
.tsbuildinfo
を .gitignore に追加 PR #254225- デコレーションに基づく RTL サポートを追加 PR #255455
- @rfon6ngy (Griffon Langyer):
\n
でソフトラップをトリガー可能に PR #231120 - @Rishi-infy47 (Saptarshi Chakraborty): 修正: devcontainer の Node.js バージョンを更新 PR #257400
- @sahin52 (Sahin Kasap): 修正: クイック検索が検索語を保持しない PR #234368
- @Schpoone (Jason Kuo)
- スタックフレームにフォーカスする際に preserveFocus を使用 PR #251964
- 命令ブレークポイントにホバーしたときのポップアップメッセージを修正 PR #254925
- @SimonSiefke (Simon Siefke)
- 修正: 拡張機能の機能タブのメモリリーク PR #256887
- 修正: editor edit context のメモリリーク PR #256957
- 修正: dispose で edit context を undefined に設定 PR #256965
- 修正: ChatInputPart のメモリリーク PR #257082
- 修正: コンテキストキーのメモリリーク PR #258206
- @Skn0tt (Simon Knott): testFailure の stringify を修正 PR #258463
- @timheuer (Tim Heuer): RFC 6761 に基づく適切な localhost ループバックのサポートを追加 PR #256617
- @tmm1 (Aman Karmani)
- [engineering] ユニットテストランナーに testSplit オプションを追加 PR #253049
- [dev] exthost に接続した DevTools を開くショートカット PR #253139
- [engineering] TypeScript 統合テストが JUnit レポートを出力するように PR #253528
- [engineering] packageTask にラベルを追加 PR #253779
- [engineering] product-build-darwin-universal.yml で unzip を並列化 PR #257775
- @ttttotem (ttttotem): 水平ドラッグの自動スクロール PR #235174
- @turansky (Victor Turansky): 修正:
EvaluatableExpression
プロパティの JSDoc PR #257930 - @yamachu (Yusuke Yamada)
- 無効な設定キーを修正 PR #254609
- Revert "refactor: remove redundant actionRunner override in ChatEditorOverlayWidget" PR #255456
- @yutotnh (yutotnh): 設定の
editor.wordSegmenterLocales
の説明を修正 PR #210305
vscode-codicons
への貢献:
- @desean1625 (Sean Sullivan): アイコンを簡単にプレビュー・検索できる場所へのリンクを README に追加 PR #295
vscode-copilot-chat
への貢献:
- @24anisha
- @danilofalcao (Danilo Falcão): カテゴリなしでもツール対応の OpenRouter モデルをすべて一覧 PR #208
- @devm33 (Devraj Mehta): Completion レスポンスインターフェイスから未使用フィールドを削除 PR #123
- @johnmog (John Mogensen): CONTRIBUTING.md に Git LFS の手順を追加 PR #156
- @jwangxx (James Wang): プロンプト描画時に、プロンプトフィルタで失敗した履歴のターンを除外 PR #399
- @shsuman (Shantnu Suman): ログ解析性向上のため、すべてのエラーメッセージの先頭に “Error” を付与 PR #260
- @srilovesflutter (Sri): タイポ修正 PR #129
- @trycatchkamal (Kamal Raj Sekar): テストから未使用のコードを削除 PR #207
- @vritant24 (Vritant Bhardwaj)
vscode-eslint
への貢献:
- @noritaka1166 (Noritaka Kobayashi): chore: コメントのタイポ修正 PR #2031
vscode-js-debug
への貢献:
vscode-json-languageservice
への貢献:
- @fengzilong (MO): 機能: format の範囲を undefined にできるように PR #272
vscode-vsce
への貢献:
- @Adjective-Object (Max): package.json に
commonjs
注釈を追加 PR #1179
debug-adapter-protocol
への貢献:
- @osiewicz (Piotr Osiewicz): chore: DAP をサポートするツールの一覧に Zed を追加 PR #548
language-server-protocol
への貢献:
- @Leonidas-from-XIV (Marek Kubica): ocaml-language-server は存続していないため削除 PR #2165
- @osiewicz (Piotr Osiewicz): chore: 実装者の一覧に Zed を追加 PR #2164
python-environment-tools
への貢献:
- @renan-r-santos (Renan Santos): Conda ロケーターから Pixi 環境を除外 PR #234