コンテンツにスキップ

2025 年 10 月 (バージョン 1.106)

リリース日: 2025 年 11 月 12 日


Visual Studio Code の 2025 年 10 月リリースへようこそ。

2025 年 10 月リリースの主なハイライトを示すグラフィック: Agent HQ、セキュリティと信頼、そして優れたエディター体験。

このリリースでは、3 つの主要な分野で大幅なアップデートが行われました:

  • Agent HQ は、Copilot や OpenAI Codex からのローカルまたはリモートのエージェントセッションを開始、監視、レビューするための単一のビューです
  • セキュリティと信頼 は、AI により多くのタスクを自信を持って委任し、制御を維持するのに役立ちます
  • 優れたエディター体験 は、日々のコーディングをよりスムーズで楽しいものにします

Happy Coding!


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

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

エージェント

エージェントセッションビュー

設定: setting(chat.agentSessionsViewLocation)

さまざまなコーディングエージェントにタスクを渡す際には、すべてのアクティブなセッションの明確な概要を把握することが重要です。エージェントセッションビューは、アクティブなチャットセッションを管理するための一元的な場所を提供します。これには、VS Code のローカルセッションと、Copilot コーディングエージェントGitHub Copilot CLI、または OpenAI's Codex などの他の環境のバックグラウンドエージェントによって作成されたセッションが含まれます。エージェントセッションビューはデフォルトで有効になり、setting(chat.agentSessionsViewLocation) 設定で管理できます。

デフォルトでは、エージェントセッションビューには、ソースごとに整理されたすべてのアクティブなチャットセッションが一覧表示されます。ビューは、VS Code のローカルチャットセッションとバックグラウンドエージェントセッションのセクションに分かれています:

プライマリサイドバーのエージェントセッションビューのスクリーンショット。ローカルチャットセッションのビューと、Copilot コーディングエージェント、Copilot CLI、Codex などのコーディングエージェントが表示されています。

すべてのプロバイダーにわたるセッションを 1 つの統合ビューで表示したい場合は、setting(chat.agentSessionsViewLocation) 設定の single-view オプションを有効にできます。このオプションは、エージェントセッションビューをセカンダリサイドバーのチャットビューの隣に移動させ、チャットとセッション管理の切り替えを容易にします。

統合ビューではまだすべての機能が利用できるわけではないことに注意してください。近い将来、このビューをデフォルトにするために積極的に取り組んでいます。

エージェントセッションビューは、リスト内のセッションを簡単に見つけるのに役立つ検索 (kb(list.find)) もサポートするようになりました。

VS Code ドキュメントのエージェントセッションビューについて詳しく学んでください。

プランエージェント

新しいプランエージェントは、コードが書かれる前に、開発者が複雑なタスクを段階的に分解するのに役立ちます。チャットビューのエージェントドロップダウンから Plan を選択して開始します。複数ステップの実装に取り組む際、VS Code は明確化のための質問を促し、最初に承認する詳細な実装計画を生成し、すべての要件とコンテキストが事前に把握されるようにします。

実装の前に、計画の反復に時間を費やすことをお勧めします。要件を洗練させ、スコープを調整し、未解決の質問に複数回対処して、強固な基盤を構築できます。計画を承認すると、Copilot は VS Code でローカルに、またはクラウドエージェントを介してそれを実装し、開発プロセスに対するより大きな制御と可視性を提供します。これにより、ギャップや欠落している決定を早期に発見し、手戻りを減らし、コードの品質を向上させることができます。

また、チーム固有のワークフローやツールに合わせてカスタマイズされた独自のカスタムプランエージェントを作成することもできます。Configure Custom Agent メニューを使用して、組み込みのプランエージェントを開始点としてコピーし、計画スタイル、ツール、プロンプトを開発プロセスに合わせてカスタマイズします。VS Code チャットでの計画カスタムエージェントの作成について詳しく学んでください。

クラウドエージェント

このリリースでは、エディター内のクラウドエージェントセッションにかなりの数の更新を行いました。

GitHub Pull Request 拡張機能から Copilot Chat 拡張機能に Copilot コーディングエージェントの統合を移行し、VS Code でよりネイティブなクラウドエージェント体験を提供しました。この統合は、VS Code と GitHub Mission Control の間のよりスムーズな移行と相互作用への道を開きます。たとえば、ブラウザーのエージェントセッションビューから直接クラウドエージェントセッションを開いたり、その逆を行ったりすることができます。

CLI エージェント

このリリースでは、Copilot CLI との初期統合も出荷しました。チャットエディターまたは統合ターミナルで、新しい CLI エージェントセッションを作成したり、既存のセッションを再開したりできます。

新しい CLI エージェントセッションを作成するか、既存のセッションを再開するオプションを示す CLI ドロップダウンメニューのスクリーンショット。

CLI エージェントエディターでは、ターミナルで行うのと同じように Copilot CLI にメッセージを送信したり、モデルを切り替えたり、コンテキストを添付したりできます。

CLI エージェントエディターと Copilot CLI セッションを持つ統合ターミナルを示すスクリーンショット。

エージェントの委任

クラウドエージェントへの委任体験を引き続き改善しています。

チャットパネルからクラウドボタンを使用してエージェントに委任すると、委任可能な利用可能なエージェントのセットが提供されます。CLI から Copilot コーディングエージェントに委任することもできます。これは、CLI エディターまたはターミナルインスタンスで /delegate コマンドを介して行います。

CLI エージェントエディターからの委任を示すスクリーンショット。

CLI エージェントの編集追跡

チャット編集セッションは、Copilot CLI などのバックグラウンドエージェントによって行われた編集を追跡するようになりました。エージェントセッションビューからセッションを作成すると、インライン編集ピルとワーキングセットビューの両方を通じて追跡された編集を確認でき、エージェントがワークスペースにどのような変更を加えているかを理解しやすくなります。

チャットモードがカスタムエージェントに改名

他の環境で使用される用語とよりよく整合させるため、VS Code 全体でチャットモードはカスタムエージェントに改名されました。

エージェントピッカーコントロールのスクリーンショット。

カスタムエージェントを作成すると、定義ファイルはワークスペースの .github/agents に配置されるようになりました。これらのファイルは .agents.md サフィックスを使用でき、GitHub Copilot クラウドエージェントおよび CLI エージェントとしても使用できます。

新しいエージェントを作成するには Chat: New Custom Agent... を、それらを管理するには Chat: Configure Custom Agents... を使用します。

既存のカスタムチャットモード (.github/chatmodes 内の .chatmode.md ファイル) がある場合、それらは引き続き機能し、自動的にカスタムエージェントとして扱われます。エディターでチャットエージェントファイルを開くと、最初の行に情報マーカーが表示され、カスタムエージェントファイルに移行するためのクイックフィックスが表示されます。

カスタムエージェントのメタデータ

カスタムエージェントの .agent.md ファイルは、エージェントが環境間でどのように実行されるべきかを記述するための追加の target frontmatter プロパティを受け入れるようになりました:

  • target: vscode: エージェントをローカルチャット用に最適化し、namedescriptionargument-hintmodeltoolshandoffs プロパティをアンロックします。VS Code にインストールされている任意のツールを使用できます。
  • target: github-copilot: エージェントを Copilot クラウドエージェントまたは GitHub CLI 用に準備し、namedescriptiontoolsmcp-serverstarget をサポートします。ツールは editsearchshellcustom-agent、および MCP サーバーからのツールにすることができます。

すべてのエージェントはすべての環境で実行できます。各環境は不明な属性とツールを無視します。

  • name: ファイル名を変更せずにエージェントのラベルを上書きできます。
  • argument-hint: チャット入力にガイダンスを表示し、チームメイトがエージェントにどのようにプロンプトを出すかを知ることができます。
  • handoffs: 他のエージェントへのガイド付き移行を接続し、複数ステップのワークフローを連鎖させることができます。

エージェントファイルエディターは、検証、コード補完、ホバー、およびコードアクションを提供します。

カスタムエージェントファイルの編集中に検証が行われる GIF。

ドキュメントでカスタムエージェントとエージェントのハンドオフについて詳しく学んでください。

コード編集

差分エディターの削除されたコードが選択可能に

以前は、コードを削除して差分エディターで変更を表示したとき、それらの削除された行をコピーすることはできませんでした。このリリースでは、インライン差分ビューを使用している場合、差分エディターで削除された行からテキストを選択してコピーできるようになりました。

インラインサジェストがオープンソースに

このリリースは、VS Code をオープンソースの AI エディターにするための私たちの旅を続けます。GitHub Copilot Chat をオープンソース化するという最初のマイルストーンに続き、インラインサジェストを vscode-copilot-chat リポジトリにマージすることでオープンソース化しました。

このマイルストーンの一環として、GitHub Copilot 拡張機能と GitHub Copilot Chat 拡張機能を単一の拡張機能体験に統合しています。Chat 拡張機能はすべてのインラインサジェストを提供するようになり、すべてのチャットおよびエージェント機能を維持しながら、慣れ親しんだインテリジェントなコードサジェストを提供します。この変更は透過的であるべきで、入力中に同じコードサジェストを引き続き受け取ることができます。問題が発生した場合は、setting(chat.extensionUnification.enabled) 設定を使用して一時的に元に戻すことができます。

GitHub Copilot 拡張機能は 2026 年初頭までに非推奨となります。このマイルストーンの詳細については、ブログ投稿でオープンソースコードを探索してください。

ガターからインラインサジェストをスヌーズ

ガターアイコンから直接インラインサジェストをスヌーズできるようになりました。ガターアイコンにホバーすると、Snooze オプション付きのコントロールが表示されます。それを選択し、サジェストを一時停止する期間を選択します。

インラインサジェストのガターコンテキストメニューにあるスヌーズボタンのスクリーンショット。

Go to Line の改善

このイテレーションでは、Go to Line コマンド (kb(workbench.action.gotoLine)) にいくつかの機能強化を行い、ファイル内のナビゲーションを改善しました。

Go to Line コマンドは、:: 構文を使用してファイル内の特定の文字位置に移動することをサポートするようになりました。これは、ツールが「error at position 599」のように特定の文字オフセットでエラーを報告する場合に便利です。

文字オフセットに移動するには、Go to Line 入力ボックスに :: に続けて文字番号を入力します。例:

  • ::599 - ファイル内の文字 599 に移動
  • ::-100 - ファイルの末尾から 100 文字前に移動

入力ボックスのトグルを使用して、1 ベース (デフォルト) と 0 ベースのオフセット計算を切り替えます。

さらに、Go to Line コマンドは、範囲外の値をより適切に処理し、ファイルや行の先頭または末尾への移動を容易にします:

  • 行番号: ファイルの行数より大きい行番号を入力すると、最終行に移動します。
  • 列番号: 負の列番号を使用すると、行の末尾から移動します。たとえば、:12:-1 は 12 行目の最後の文字に移動します。行の長さより大きい列番号を入力すると、行の末尾に移動します。

エディター体験

刷新されたアイコン

このリリースでは、codicon アイコンセットが刷新されました。新しいアイコンは、曲線、新しい修飾子のデザイン、より正確なメタファーで洗練され、モダンで親しみやすく、より読みやすくなりました。

更新された製品アイコンのスクリーンショット。よりモダンな外観と向上した可読性を示しています。

Linux ポリシーのサポート

JSON ファイルを使用して Linux システム上の VS Code ポリシーを管理するためのサポートを導入しました。これにより、管理者は Linux マシン上のすべてのユーザーに対して特定の設定と構成を強制できます。

詳細については、Linux での JSON ポリシーを参照してください。

単一ファイルの差分エディターで次または前の変更にナビゲートできるように、複数ファイル差分エディターでもファイル間でナビゲートできるようになりました。キーバインディングまたはナビゲーションの上下矢印キーを使用して、ファイル間の変更を確認します。

診断ホバーテキストのコピー

診断ホバー (エラー、警告、情報、ヒント) にコピーボタンが表示されるようになり、エラーメッセージのコピーが容易になりました。診断マーカーにホバーし、マウスをホバーメッセージの上に移動すると、右上にコピーボタンが表示されます。

診断ホバーにホバーすると右上にコピーボタンが表示されるスクリーンショット。

アクセントを無視したコマンドフィルタリング

コマンドパレットは、コマンドを検索する際に文字のアクセントを無視するようになり、キーボードレイアウトや言語設定に関係なく必要なものを見つけやすくなりました。たとえば、Générer (フランス語で Generate) という単語を含むコマンドを検索する場合、アクセントなしで generer と入力すると、一致するコマンドが結果に表示されます。

これは、異なるキーボードレイアウトを使用している場合や、コマンドを探しているときにタイプミスをした場合に役立ちます。フィルタリングは Unicode 正規化形式 D に基づいており、すべての Unicode 言語をサポートしています。

高度な VS Code 設定

VS Code は、高度な設定の概念をサポートするようになりました。これらの設定は、特殊なシナリオを構成するためのものであり、環境を細かく制御する必要がある上級ユーザーを対象としています。デフォルトでは、高度な設定は設定エディターで非表示になっており、インターフェイスを合理化しながら、必要なときにこれらの強力なオプションを利用できるようにしています。

高度な設定を表示および構成するには、設定エディターのフィルタードロップダウンメニューから Advanced を選択するか、検索ボックスに @tag:advanced と入力します:

Advanced フィルターが適用された設定エディターのスクリーンショット。Advanced タグバッジ付きの高度な設定が表示されています。

特定の設定を正確な名前で検索したり、@id: フィルターを使用したりすると、Advanced フィルターを適用しなくても高度な設定が結果に表示されます。これにより、探している設定をいつでも見つけることができます。

高度な設定は、@modified@feature: などの他のフィルターと組み合わせて、必要なものを正確に見つけるのに役立ちます。たとえば、@tag:advanced @feature:terminal は、ターミナルに関連する高度な設定のみを表示します。

注: 拡張機能の作成者は、設定構成に advanced タグを追加することで、設定を高度なものとしてマークできます。

チャット

埋め込みベースのツール選択

このリリースでは、チャットで多数 (100 以上) のツールを有効にしているユーザー向けに、ツールのフィルタリングとグループ化の方法を大幅に改善しました。「Optimizing tool selection...」の読み込み状態が表示される頻度が減り、時間も短縮されるはずです。また、エージェントの混乱の可能性を低くして、適切なツールが選択されるようにツール選択を改善しました。

ツールの承認と信頼

外部データの事後承認

外部データを取得するエージェントツールが事後承認をサポートするようになりました。これにより、チャットセッションで使用される前にデータを確認できるため、潜在的なプロンプトインジェクション攻撃から保護するのに役立ちます。

事後承認は、#fetch ツールと openWorldHint を宣言する Model Context Protocol (MCP) ツールで有効になります。

サーバーまたは拡張機能のすべてのツールを信頼する

Allow ボタンドロップダウンを介して、ソースレベルで MCP サーバーと拡張機能ツールを信頼できるようになりました。これにより、各ツールを個別に承認する必要なく、特定の MCP サーバーまたは拡張機能のすべてのツールを一度に承認できます。

また、Chat: Manage Tool Approval コマンドエクスペリエンスを更新し、ツールの事前承認と事後承認の両方を管理できるようにしました。

ツール承認管理コマンドエクスペリエンスのスクリーンショット。ツールの承認をスキップし、コンテンツレビューをスキップできます。

ツールの自動承認ステータスが移動

自動承認ステータスは、チャットビュー内のインラインからツールコールステータス/チェックアイコンに移動しました:

ツールのチェックアイコンにホバーすると、なぜ自動承認されたかが表示されるスクリーンショット。

ターミナルツール

自動承認パーサーの改善

以前は、ターミナルツールでのサブコマンド検出は、|&& などの特定の文字列で分割するという単純なアプローチを使用していました。これはいくつかの点で失敗しましたが、大きなものは echo "a|b|c" のように文字列内でパイプが使用された場合で、サブコマンド echobc" を検出してしまいました。もう 1 つの重要な点は、サブコマンドを確実に抽出できなかったため、より安全を期して偶発的な実行を防ぐために、括弧のペア、中括弧のペア、バッククォートを完全に禁止していたことです。

このリリースでは、パーサーを機能に統合し、PowerShell 文法またはその他すべてにbash 文法を使用します*。したがって、非常に複雑なケースでも正しく抽出されるはずです:

echo コール内の "$()" を検出するスクリーンショット。

  • これは、zsh の ; のようにシェル構文が bash と異なる場合にサブコマンドをキャッチできない可能性があることを意味します

ファイル書き込み/リダイレクト検出 (実験的)

新しいパーサーのおかげで、リダイレクトを介して書き込まれるファイルをかなり確実に抽出できるようになりました。新しい実験的な設定 setting(chat.tools.terminal.blockDetectedFileWrites) があり、条件付きで自動承認を防ぎます。

デフォルトでワークスペース外に書き込むと自動承認がブロックされることを示すスクリーンショット。

デフォルトの自動承認ルールを無効にする (実験的)

新しい実験的な設定 setting(chat.tools.terminal.ignoreDefaultAutoApproveRules) を使用すると、デフォルトのルール (許可ルールと拒否ルールの両方) を無効にできます。これは、デフォルトを調べる必要なく、より多くの制御が必要な場合に便利です。

シェル固有のプロンプトとコマンドの書き換え

ターミナルツールは、PowerShell、bash、zsh、fish 用のシェル固有の説明を持つようになりました。これにより、エージェントによって提案されるコマンドがより信頼性が高く、失敗しにくくなるはずです。特に PowerShell の場合です。

これに加えて、PowerShell では &&; に書き換えます。これは、&& チェーン演算子が Windows PowerShell (v5) でサポートされていないためです。vscode#274548 が対応されるまで、これは一時的に PowerShell 7 でも発生します。

ターミナルコマンドをチャットに添付

コマンドデコレーションのコンテキストメニューから、ターミナルコマンドをコンテキストとしてチャットに添付できるようになりました。添付ファイルは、コマンドライン、キャプチャされた出力、および終了コードを共有するため、エージェントは何が起こったかを正確に理解します。これは、シェル統合によって追跡されるすべてのコマンドに適用され、テキストをコピーアンドペーストすることなく、トラブルシューティングを簡単にエスカレーションできます。

チャット内でターミナル出力を表示 (実験的)

新しい setting(chat.tools.terminal.outputLocation) 設定は、出力が表示される場所を制御します。デフォルトの none 値は、ターミナルがパネルを乱雑にすることを防ぎます。

すべてのチャットターミナル呼び出しは、進行状況要素に 2 つのアクションを表示するようになりました:

  • Show Terminal は、非表示のセッションを表示してフォーカスし、リッチシェル統合により、関連するコマンドに直接スクロールします。基本またはシェル統合なしの場合でも、アクションは正しいターミナルタブにフォーカスします。
  • Show Output は、チャットビュー内でターミナルの最終出力をインラインで開きます。コマンドがゼロ以外のコードで終了すると、出力ビューは自動的に展開されます。

npm i が失敗すると、出力は自動的に展開されます。ターミナルは Show Terminal インラインアクションで表示されます。

非表示のチャットターミナルを発見 (実験的)

setting(chat.tools.terminal.outputLocation):none の場合、非表示のチャットターミナルが少なくとも 1 つあると、ターミナルタブビューに新しい X hidden terminal(s) ボタンが表示されます。これをクリックすると、各チャットターミナルとそのチャットセッションを一覧表示するクイックピックが開き、すぐに適切なプロセスにフォーカスできます。同じピッカーは、ターミナルのオーバーフローメニューの View Hidden Chat Terminals からも利用でき、すべてのチャットターミナルが再び表示されると消えます。

エージェントは ls -la を実行し、成功するため、出力は折りたたまれます。hidden terminal アクションがタブビューから実行され、ターミナルが選択、表示され、コマンドをハイライトするためにスクロールされます。

会話をプロンプトとして保存

/savePrompt コマンドを使用して、チャットの会話を再利用可能なプロンプトとして保存できるようになりました。アクティブなチャットセッションで /savePrompt を呼び出すと、VS Code は会話に基づいて一般化されたプロンプトを含むプロンプトファイルを生成します。エディターには青いボタンが表示され、このプロンプトをユーザーレベルまたはワークスペースレベルの有効な場所に保存できます。

エディターのプロンプト保存ボタンのスクリーンショット。

この機能は、以前の /save コマンドを置き換え、役立つ会話パターンをキャプチャして共有するためのより合理化されたワークフローを提供します。生成されたプロンプトは、将来のチャットセッションで簡単に再利用したり、チームと共有したりできます。カスタムプロンプトファイルについて詳しく学んでください。

ウェルカムプロンプトの編集

チャットのウェルカムビューで提案されたプロンプトを右クリックして、追加のアクションにアクセスできるようになりました。プロンプトを右クリック (または kbstyle(Shift+F10)) すると、コンテキストメニューが表示され、Edit Prompt File オプションを選択して、対応するプロンプトファイルをエディターで直接開くことができます。

プロンプトファイルの編集は、ユーザー定義のプロンプトや setting(chat.promptFilesRecommendations) 設定を通じて構成されたプロジェクト固有のプロンプトなど、関連ファイルを持つプロンプトで機能します。

提案されたプロンプトのコンテキストメニューのスクリーンショット。

カスタムプロンプトファイルについて詳しく学んでください。

編集されたファイルを自動的に開く

設定: setting(chat.openEditedFilesAutomatically)

エージェントのデフォルトの動作を変更し、編集されたファイルをエディターで自動的に開かないようにしました。以前の動作を好む場合は、setting(accessibility.openChatEditedFiles) 設定を有効にできます。

推論 (実験的)

設定: setting(chat.agent.thinkingStyle)setting(chat.agent.thinking.collapsedTools)

前回のイテレーションで、チャットに思考トークンを表示する setting(chat.agent.thinkingStyle) 設定を追加しました。これがより多くのモデルで利用可能になりました!このリリース現在、GPT-5-Codex、GPT-5、GPT-5 mini、および Gemini 2.5 Pro がこれをサポートしています。

setting(chat.agent.thinkingStyle) は、より一般的な 3 つのスタイルに調整され、fixedScrolling がデフォルトで最新の思考の連鎖を表示するようになりました。

追加の設定 setting(chat.agent.thinking.collapsedTools) は、折りたたみ可能な思考 UI にツールコールを追加します。

チャットに表示される推論トークンと、織り交ぜられたツールコールと推論出力を示すスクリーンショット。これは、それぞれの思考設定に fixedScrolling と readOnly を使用した UI です。

インラインチャット v2 (プレビュー)

設定: setting(inlineChat.enableV2:true)

インラインチャットを近代化するための取り組みを強化しました。これは、

  • 単一プロンプト、
  • 単一ファイル、
  • そしてコード変更のみ

のために構築されています。これにより、全体的なエクスペリエンスがはるかに軽量になり、簡素化された UI が可能になります。処理できないタスクについては、自動的にチャットビューにアップグレードされます。

チャットビューの UX 改善

チャットビューの一部を調整して、より快適に使用できるようにしました:

  • 新しいチャットを作成するアクションが、エディターまたは新しいウィンドウでチャットセッションを作成するオプション付きのドロップダウンになりました
  • ツールと MCP サーバーのアクションがモデルピッカーのすぐ隣に移動しました
  • 構成ドロップダウンがクリーンアップされました

新しいチャットを作成するアクションのドロップダウンメニューのスクリーンショット。

チャットビューで数式を右クリックして、数式のソースをコピーすることも可能になりました。

MCP

組織の MCP サーバーアクセス

設定: setting(chat.mcp.gallery.serviceUrl)setting(chat.mcp.access)

VS Code は、GitHub 組織ポリシーを通じて構成された MCP レジストリをサポートするようになりました。これにより、組織はカスタム MCP レジストリを設定し、どの MCP サーバーをインストールおよび起動できるかを制御できます。

組織のポリシーで MCP レジストリエンドポイントが構成されている場合、VS Code は次のようになります:

  • 構成されたレジストリから MCP サーバーの参照とインストールを提供します
  • アクセス制限が有効になっている場合、MCP サーバーの起動をレジストリで利用可能なもののみに制限します

組織がこれらのポリシーを構成している場合、setting(chat.mcp.gallery.serviceUrl) 設定は MCP レジストリエンドポイント URL を指定し、setting(chat.mcp.access) 設定はアクセスがそのレジストリ内のサーバーのみに制限されるかどうかを制御します。これらの設定は、設定エディターで「(Managed by organization)」とマークされます:

組織ポリシーによって管理される MCP 設定のスクリーンショット。ギャラリーサービス URL とアクセス制御設定が含まれています。

組織またはエンタープライズの MCP サーバーアクセスを構成する方法の詳細については、MCP サーバーアクセスの構成を参照してください。

MCP サーバーをワークスペース構成にインストール

MCP サーバーをインストールする際に、グローバルにインストールするか、ワークスペース構成にインストールするかを選択できるようになりました。拡張機能ビューで MCP サーバーを右クリックし、コンテキストメニューから Install (Workspace) を選択するか、MCP サーバーエディターで直接 Install (Workspace) アクションを使用します。これにより、MCP サーバーが現在のワークスペースの .vscode/mcp.json ファイルに追加され、チームと MCP サーバーを簡単に共有できるようになります。

Install (Workspace) オプションがハイライトされた MCP サーバーのコンテキストメニューのスクリーンショット。

認証: クライアント ID メタデータドキュメント認証フロー

リモート MCP の認証サポートは、MCP の OAuth の将来の標準である クライアント ID メタデータドキュメント (CIMD) 認証フローをサポートするようになりました。このフローは、認証サーバーがクライアントごとにクライアント ID を発行することを心配する必要がなくなったため、動的クライアント登録 (DCR) よりも安全でスケーラブルな認証ソリューションを可能にします。

CIMD をサポートする認証サーバーを使用する MCP サーバーに接続すると、VS Code は自動的に DCR よりもそのフローを使用します。

CIMD の詳細については、oauth.net のリソースをご覧ください。

認証: WWW-Authenticate スコープステップアップ

リモート MCP の認証サポートは、リモート MCP サーバーの WWW-Authenticate ヘッダーを介した動的スコープエスカレーションをサポートするようになりました。これは OAuth 2.0 仕様で言及されています。これにより、MCP サーバーはすべてのスコープを事前に要求するのではなく、必要なときに追加の権限を要求できます。たとえば、サーバーへの接続には最小限のスコープセットが必要ですが、特定のツールコールは必要な場合にのみより広範な権限を要求できます。これにより、最小権限の原則に従うことで、より優れたセキュリティが提供されます。

これは現在、MCP 仕様の最新ドラフトで言及されており、まもなく最終決定される予定です。

アクセシビリティ

音声タイムアウトはデフォルトで無効

setting(accessibility.voice.speechTimeout) の構成は、デフォルトで 0 に変更されました。これは、音声セッションが一定の遅延後に自動的に終了しなくなったことを意味します (たとえば、一時停止した場合、チャットリクエストは自動的にトリガーされません)。これがより良いデフォルトのエクスペリエンスであると感じていますが、いつでも以前のデフォルト (2500) に戻すことができます。

チャット入力の改善

チャット入力は、アクティブなエージェントとモデルをより明確な順序でアナウンスするようになり、スクリーンリーダーユーザーが最も関連性の高いコンテキストを最初に聞くことができます。チャットのアクセシビリティヘルプでは、Delete を押して添付されたコンテキスト項目を削除できることも示しており、添付ファイルの管理が完全にキーボードでアクセス可能になります。

Notebooks

Notebooks は、セル間の検索をサポートするようになりました。キーバインディング (kb(notebook.findNext.fromWidget)kb(notebook.findPrevious.fromWidget)) を使用して、エディターで行うのと同じように、次と前の一致に移動します。

ソース管理

git コミットメッセージでの折りたたみサポート

設定: setting(git.verboseCommit)setting(git.useEditorAsCommitInput)

エディターで git コミットメッセージを記述する際に、コミットメッセージのセクションを折りたたんで整理できるようになりました。この機能を使用するには、setting(git.verboseCommit)setting(git.useEditorAsCommitInput) 設定を有効にします。

ガターに折りたたみノードと、エディターで部分的に折りたたまれたコミットメッセージを示すスクリーンショット。

グラフの受信/送信変更

設定: setting(scm.graph.showIncomingChanges)setting(scm.graph.showOutgoingChanges)

このマイルストーンでは、ソース管理グラフビューで受信および送信の変更を簡単に表示する機能を追加しています。受信または送信の変更があるアクティブなブランチの場合、グラフには「Incoming Changes」および「Outgoing Changes」ノードが表示されます。各ノードを選択すると、受信または送信ファイルのリストが表示されます。

ソース管理グラフビューで受信および送信の変更ノードを示すスクリーンショット。

setting(scm.graph.showIncomingChanges:false)setting(scm.graph.showOutgoingChanges:false) 設定を使用して、この情報をグラフビューから非表示にできます。

グラフ参照の比較

ソース管理グラフのコンテキストメニューに新しいコマンド Compare with... を追加しました。これにより、グラフ内の履歴項目を任意のブランチまたはタグと比較できます。この機能を使用すると、履歴項目にはあるがブランチまたはタグにはない変更を表示できます。

コンテキストメニューには、履歴項目をリモートブランチおよびマージベースとそれぞれ比較するためのショートカットコマンド Compare with Remote および Compare with Merge Base があります。

リポジトリ選択モード

設定: setting(scm.repositories.selectionMode)

ソース管理リポジトリビューには、ワークスペースで開かれているリポジトリのリストが表示され、ソース管理変更ビューに表示されるリポジトリを制御するために使用されます。

リポジトリビューの機能を拡張する準備として、リポジトリビューの選択モードを単一リポジトリまたは複数リポジトリに制御するための設定 setting(scm.repositories.selectionMode) を導入しています。

リポジトリビューの新しい機能とは別に、これによりグラフビューのタイトルのリポジトリピッカーを削除し、すべてのソース管理ビューでグローバルなリポジトリピッカーを持つことができます。設定またはリポジトリビューの「...」メニューから選択モードを切り替えることができます。

単一選択モードが有効になっているリポジトリビューと、選択モードを切り替えるコンテキストメニューを示すスクリーンショット。

リポジトリエクスプローラー (実験的)

設定: setting(scm.repositories.explorer:true)setting(scm.repositories.selectionMode:single)

リポジトリビューを強化し、各リポジトリの追加情報を表示することを検討しています。この実験的な機能を試すには、setting(scm.repositories.selectionMode:single)setting(scm.repositories.explorer:true) を設定します。

この最初のイテレーションでは、ブランチとタグに焦点を当てました。新しいブランチ、タグを作成したり、ブランチとタグのリストを表示したり、各ブランチ/タグに対してさまざまなアクション (例: チェックアウトなど) を実行したりできます。今後のマイルストーンでは、さらに多くの情報 (例: スタッシュ、リモートなど) を追加します。この実験的な機能を試して、ご意見をお聞かせください。

単一の選択されたリポジトリのブランチとタグを持つリポジトリエクスプローラーを示すスクリーンショット。

テスト

テストカバレッジを確認する際に、新しいナビゲーションコマンドを使用して、カバーされていない行間を簡単に移動できるようになりました。カバレッジ情報を表示しているとき、エディターのツールバーで 2 つのコマンドが利用できます:

  • Go to Next Uncovered Line - テストでカバーされていない次の行にジャンプします
  • Go to Previous Uncovered Line - テストでカバーされていない前の行にジャンプします

これらのコマンドは、カバレッジのギャップをすばやく特定し、追加のテストカバレッジが必要な領域に集中するのに役立ち、コードベース全体のテスト品質を向上させやすくします。

ターミナル

ターミナル IntelliSense

ターミナル IntelliSense は、実験的/プレビュー機能として製品に約 1.5 年間搭載されていました!このリリースでは、プレビュータグを削除し、安定版のすべてのユーザーにデフォルトとして段階的に展開します。

有効にすると、ターミナルで入力すると、PowerShell、bash、zsh、fish のエディターと同様の IntelliSense が表示されます:

PowerShell で "write" と入力すると、write で始まる補完が表示されるスクリーンショット。

補完にはさまざまなソースがあり、たとえばパスはすべてコアによって処理されます:

一部のコマンドには、ブランチ名を取り込む機能を持つ git のような高度な仕様があります:

この機能を構築する際に学んだことがあるとすれば、それは万能なものはないということです。そのため、目的の動作を得るために動作を調整するための多くのオプションがあります:

  • setting(terminal.integrated.suggest.quickSuggestions) - kbstyle(Ctrl+Space) を介して手動ではなく、コマンドラインの内容に応じて自動的に表示します。
  • setting(terminal.integrated.suggest.suggestOnTriggerCharacters) - -/ などの「トリガー文字」の後に自動的に表示します。
  • setting(terminal.integrated.suggest.runOnEnter) - オプションで、kbstyle(Enter) が使用されたときにコマンドを実行します (kbstyle(Tab) ではありません)。
  • setting(terminal.integrated.suggest.windowsExecutableExtensions) - Windows で実行可能ファイルとして扱われる拡張子のリスト。
  • setting(terminal.integrated.suggest.providers) - 特定のプロバイダーを無効にする機能を提供します。たとえば、拡張機能が不要な補完を提供する場合があります。
  • setting(terminal.integrated.suggest.showStatusBar) - IntelliSense ポップアップの下部にステータスバーを表示するかどうか。
  • setting(terminal.integrated.suggest.cdPath) - $CDPATH 統合を有効にするかどうか。
  • setting(terminal.integrated.suggest.inlineSuggestion) - シェルの「ゴーストテキスト」と統合するかどうか、およびそれをどのように表示するか。
  • setting(terminal.integrated.suggest.upArrowNavigatesHistory) - 上矢印が補完を閲覧する代わりにシェルに送信されるかどうか。これは、zsh でフィルターをかけてから上を押してそのプレフィックスで履歴検索を行う場合に特に便利です。
  • setting(terminal.integrated.suggest.selectionMode) - Intellisense ポップアップがどのようにフォーカスされるか。これにより、kbstyle(Enter)kbstyle(Tab) が何をするかが決まります。
  • (新規!) setting(terminal.integrated.suggest.insertTrailingSpace) - 受け入れた後に末尾のスペースを挿入し、補完を再トリガーします。

まだこの機能が表示されない場合は、シェル統合が有効になっていることを確認し、設定で setting(terminal.integrated.suggest.enabled) を介して IntelliSense を明示的に有効にしてください。

全体的な洗練とは別に、このリリースでこの機能に追加される内容は次のとおりです:

  • copilotazd CLI に補完が追加されました
  • 拡張機能 API は最終決定に近づいています
  • Git コミット補完はコミットメッセージを表示します

ターミナルサジェスト詳細ビューでブランチ名とそれに関連するコミットメッセージを表示する git コミット補完のスクリーンショット。

統合されたシェル統合タイムアウト設定

VS Code がシェル統合の準備が整うまで待機する時間を制御する、統一された構成可能な設定 setting(terminal.integrated.shellIntegration.timeout) ができました。これには、executeCommand API や Copilot ターミナルツールを介してトリガーされるコマンドも含まれます。

setting(chat.tools.terminal.shellIntegrationTimeout) は、この統合を優先して非推奨になりました。

認証

拡張機能アカウント設定の管理の発見可能性

Manage Extension Account Preferences コマンドがより見つけやすくなりました。コマンドパレットと拡張機能のコンテキストメニューで利用できるほか、アカウントメニューの Manage Language Model Access の横に表示されるようになりました。これにより、拡張機能がアクセスできるアカウントを見つけて構成するのが容易になります。

アカウントメニューの Manage Extension Account Preferences のスクリーンショット。

classic Microsoft 認証の最終バージョン - 問題が発生した場合は msal-no-broker を使用してください

setting(microsoft-authentication.implementation)classic オプションを削除します。これは、VS Code リリース 1.106 が classic オプションを持つ最後のバージョンであることを意味します。

setting(microsoft-authentication.implementation) 設定は、問題が発生した場合にユーザーが Microsoft アカウントのネイティブブローカー認証をオプトアウトできるようにするために存在していました。この設定の値は次のとおりです:

  • msal - 利用可能な場合はブローカー認証付きの MSAL を使用します (デフォルト)
  • msal-no-broker - ブローカー認証なしの MSAL を使用します (最近導入)
  • classic - MSAL なしのクラシックな Microsoft 認証フローを使用します

classic オプションの使用率は非常に低く、msal オプションの問題のほとんどはブローカリングによるものであり、これは msal-no-broker で解決されるため、classic オプションを削除します。

Microsoft 認証のデバイスコードフロー

Microsoft 認証は、特にリモート開発環境で役立つ、非ブローカーシナリオでのデバイスコードフローをサポートするようになりました。他の認証方法が失敗した場合、VS Code は自動的にデバイスコードフローにフォールバックし、別のデバイスで入力して認証を完了できるコードを表示します。

アカウント管理コマンド

コマンドパレットから Accounts: Manage Accounts コマンドを使用して、認証アカウントを直接管理します。このコマンドは、アカウントメニューが非表示または簡単にアクセスできない場合に、アカウント管理機能へのアクセスを提供します。

アカウント管理メニューのスクリーンショット。

Manage Accounts コマンドを実行すると、すべてのアクティブなアカウントを一覧表示するクイックピックメニューが表示されます。アカウントを選択して、利用可能なアクションを表示できます。これには以下が含まれます:

  • Manage Trusted Extensions - 選択したアカウントにアクセスできる拡張機能を制御します
  • Manage Trusted MCP Servers - この機能をサポートするアカウントの MCP サーバーアクセス許可を管理します
  • Sign Out - アカウントからサインアウトします

言語

Python

Python Environments Extension: python.poetryPath 設定のサポート

Python Environments Extension は、既存の python.poetryPath ユーザー設定を尊重するようになりました。これにより、使用する Poetry 実行可能ファイルを指定できます。提供されたパスは、Poetry 環境を管理する際に検索され、選択されます。

Python Environments Extension: 改善された venv 作成: dev-requirements.txt 検出

新しい仮想環境を作成する際、拡張機能は requirements.txt と dev-requirements.txt の両方のファイルを検出し、依存関係を自動的にインストールするようになりました。

Copilot ホバーサマリーを docstring として追加

Copilot ホバーサマリーの新しい Add as docstring コマンドを使用して、AI が生成したドキュメントをコードに直接 docstring として追加できるようになりました。関数またはクラスのサマリーを生成したら、シンボル定義に移動してホバーすると、Add as docstring コマンドにアクセスでき、カーソルの下にサマリーが適切な docstring としてフォーマットされて挿入されます。

これにより、コードのドキュメント化プロセスが合理化され、再入力することなく読みやすさと保守性をすばやく向上させることができます。

ローカライズされた Copilot ホバーサマリー

Pylance 内の GitHub Copilot ホバーサマリーは、VS Code 内の表示言語を尊重するようになりました。AI が生成したサマリーを呼び出すと、エディターに設定した言語で文字列が表示され、生成されたドキュメントを理解しやすくなります。

ポルトガル語で生成された Copilot ホバーサマリーのスクリーンショット。

ワイルドカードインポート変換コードアクション

ワイルドカードインポート (from module import *) は、名前空間を乱雑にし、名前の由来を不明確にし、コードの明瞭性と保守性を低下させる可能性があるため、Python ではしばしば推奨されません。 Pylance は、新しいコードアクションを介して、まだ from module import * に依存しているモジュールをクリーンアップするのに役立ちます。ワイルドカードを明示的なシンボルに置き換え、エイリアスを保持し、インポートを単一のステートメントに保ちます。試すには、ワイルドカードインポートのある行をクリックし、kbstyle(Ctrl+.) (macOS では kbstyle(Cmd+.)) を押して Convert to explicit imports コードアクションを選択します。

ワイルドカードインポート変換コードアクションのスクリーンショット。

dotenv

アプリケーションの環境変数を定義するために一般的に使用される dotenv ファイル (.env) の基本的なサポートが組み込まれています。

拡張機能への貢献

GitHub Pull Requests

プルリクエストと issue の作業、作成、管理を可能にする GitHub Pull Requests 拡張機能でさらに進展がありました。新機能は次のとおりです:

  • AI が生成した PR の説明 (setting(githubPullRequests.pullRequestDescription:copilot) 経由) は、リポジトリに PR テンプレートがある場合、それを尊重します。
  • プルリクエストビューのドラフトは、[DRAFT] プレフィックスを持つ代わりにイタリックでレンダリングされるようになりました。
  • プルリクエストは URL から開くことができます。例: vscode-insiders://github.vscode-pull-request-github/checkout-pull-request?uri=https://github.com/microsoft/vscode-css-languageservice/pull/460

拡張機能の 0.122.0 リリースの変更ログ を確認して、リリースのすべてについて学んでください。

プレビュー機能

言語モデルエディター

新しい Language Models エディターは、GitHub Copilot Chat で利用可能なすべての言語モデルを表示および管理するための一元的な場所を提供します。チャットモデルピッカーから、またはコマンド Chat: Manage Language Models を介して開くことができます。

注: この機能は VS Code Insiders でのみ利用可能です。

プロバイダーごとに整理されたモデルのリストを持つ言語モデルエディターのスクリーンショット。

エディターには以下が表示されます:

  • プロバイダーごとに整理されたすべての利用可能なモデル
  • モデルの機能 (ツール、ビジョン、エージェント)
  • コンテキストサイズと乗数情報
  • モデルの可視性ステータス

以下を使用してモデルを検索およびフィルタリングできます:

  • ハイライト付きのテキスト検索
  • プロバイダーフィルター: @provider:"OpenAI"
  • 機能フィルター: @capability:tools@capability:vision@capability:agent
  • 可視性フィルター: @visible:true/false

モデル名またはコンテキストサイズにホバーすると、モデル ID、バージョン、ステータス、トークンの内訳などの詳細情報が表示されます。

モデルの可視性を管理

各モデルの横にある目のアイコンで可視性を切り替えることで、チャットモデルピッカーに表示されるモデルを制御します。モデルが表示されている場合、GitHub Copilot Chat を使用しているときにモデルピッカーのドロップダウンに表示され、選択可能になります。非表示のモデルは言語モデルエディターに残りますが、モデルピッカーには表示されず、最も頻繁に使用するモデルにモデル選択を集中させるのに役立ちます。

"Show in the chat model picker" と表示されたツールチップ付きのモデル可視性を切り替える目のアイコンのスクリーンショット。

これは、多くのモデルにアクセスでき、ピッカーに好みのモデルのみを表示することでワークフローを合理化したい場合に特に便利です。

インストール済みのプロバイダーからモデルを追加

Add Models... ボタンを使用して、既にインストールした言語モデルプロバイダーからモデルを構成および追加します。このボタンを選択すると、Copilot、Anthropic、Azure、Google、Groq、Ollama、OpenAI などのインストール済みのモデルプロバイダーのドロップダウンリストが表示されます。リストからプロバイダーを選択して構成し、GitHub Copilot Chat でそのモデルの使用を開始します。

Copilot、Anthropic、Azure、Google などを含むインストール済みの言語モデルプロバイダーのリストを持つ Add Models ドロップダウンのスクリーンショット。

これにより、言語モデルエディターから移動することなく、インストールした追加のモデルプロバイダーを簡単にアクティブ化できます。プロバイダー行の歯車アイコンを選択して、プロバイダー管理にアクセスします。

拡張機能のオーサリング

認証セッションの ID トークン

AuthenticationSession インターフェイスに、オプションの idToken プロパティが含まれるようになりました。これにより、認証プロバイダーはアクセストークンに加えて ID トークンを返すことができ、ユーザー ID 情報を必要とするシナリオで特に役立ちます。Microsoft 認証プロバイダーはこのフィールドを返しますが、GitHub などの他のプロバイダーは返さない場合があります。

ID トークンには、認証されたユーザーに関するクレームが含まれ、ID プロバイダーによって署名されているため、ユーザー ID の検証に役立ちます。ID トークンとアクセストークンの違いの詳細については、https://oauth.net/id-tokens-vs-access-tokens/ を参照してください。

export interface AuthenticationSession {
  /**
   * ID トークン。
   */
  readonly idToken?: string;
}

Git 拡張機能 getRepositoryWorkspace API

組み込みの Git 拡張機能は、git リポジトリリモートに関連付けられていることがわかっているフォルダーを取得するための新しい API を提供します。これは、ユーザーが git リモートを持つフォルダーを開いたときに、リポジトリリモートとフォルダーのマッピングをキャッシュすることで機能します。

セカンダリサイドバーのビューコンテナー

拡張機能の作成者は、新しい secondarySidebar コントリビューションポイントを使用して、セカンダリサイドバーにビューコンテナーを登録できるようになりました。これにより、拡張機能はカスタムビューをセカンダリサイドバーのチャットなどの組み込みビューと並べて配置し、VS Code のデュアルサイドバーレイアウトとのより良い統合を提供できます。

{
  "contributes": {
    "viewsContainers": {
      "secondarySidebar": [
        {
          "id": "myExtensionViews",
          "title": "My Extension",
          "icon": "$(extensions)"
        }
      ]
    },
    "views": {
      "myExtensionViews": [
        {
          "id": "myCustomView",
          "name": "Custom View",
          "when": "true"
        }
      ]
    }
  }
}

提案中の API

Quick Pick と Quick Input の改善

Quick Pick と Quick Input API には、拡張機能開発者がインタラクティブなユーザーインターフェイスを作成する際の柔軟性を高めるいくつかの新機能が含まれています。

提案中の API: トグルボタンのサポート

拡張機能は、QuickInputtoggles プロパティを介して、Quick Pick および Quick Input インターフェイスにトグルボタンを追加できます。これにより、入力ボックス領域にパスワード表示トグルなどのシナリオが可能になり、ユーザーはクイックピックインターフェイスを離れることなくコントロールを操作できます。

この API 提案に関するご意見やフィードバックをお待ちしております (GitHub issue を参照してください)。

export enum QuickInputButtonLocation {
  ...

  /**
   * ボタンは入力ボックス内の最も遠い端にレンダリングされます。
   */
  Input = 3
}

export interface QuickInputButton {
  ...

  /**
   * 存在する場合、ボタンがチェックまたはアンチェックできるトグルボタンであることを示します。
   *
   * **注:** このプロパティは現在、{@link QuickInputButtonLocation.Input} の場所を持つボタンにのみ適用可能です。
   * このようなボタンには設定する必要があり、ボタンがトグルされると状態が更新されます。
   * 他の場所の値を持つボタンには設定できません。
   */
  readonly toggle?: { checked: boolean };
}

提案中の API: Quick Pick のプロンプトサポート

Quick Pick は、Input Box で利用可能なものと同様の prompt プロパティをサポートします。プロンプトは、入力ボックスの下に永続的なテキストを表示し、ユーザーが入力している間も表示され続け、ユーザーがテキストの入力を開始しても消えない役立つガイダンスや指示を提供します。

この API 提案に関するご意見やフィードバックをお待ちしております (GitHub issue を参照してください)。

export interface QuickPick<T extends QuickPickItem> extends QuickInput {
  /**
   * ユーザーに指示やコンテキストを提供するオプションのテキスト。
   *
   * プロンプトは入力ボックスの下、アイテムのリストの上に表示されます。
   */
  prompt: string | undefined;
}

export interface QuickPickOptions {
  /**
   * ユーザーに指示やコンテキストを提供するオプションのテキスト。
   *
   * プロンプトは入力ボックスの下、アイテムのリストの上に表示されます。
   */
  prompt?: string;
}

提案中の API: Quick Pick アイテムのファイルアイコン

Quick Pick アイテムは、QuickPickItemresourceUri プロパティを介して、ファイルタイプ固有のアイコンを表示できます。リソース URI を提供すると、VS Code はリソースタイプに基づいて適切なラベル、説明、アイコンを自動的に導き出し、現在のテーマのファイルアイコンセットに一致させます。これは、ユーザーが使い慣れたファイルタイプのアイコンでアイテムをすばやく識別できるため、ファイルまたはフォルダー選択インターフェイスを構築する際に特に便利です。

この API 提案に関するご意見やフィードバックをお待ちしております (GitHub issue を参照してください)。

export interface QuickPickItem {
  /**
   * このアイテムに関連付けられたリソースを表す {@link Uri}。
   *
   * 設定されている場合、このプロパティは、明示的に提供されていない場合にいくつかのアイテムプロパティを自動的に導き出すために使用されます:
   * - **Label**: {@link QuickPickItem.label label} が提供されていないか空の場合、リソースのファイル名から導き出されます。
   * - **Description**: {@link QuickPickItem.description description} が提供されていないか空の場合、リソースのパスから導き出されます。
   * - **Icon**: {@link QuickPickItem.iconPath iconPath} が {@link ThemeIcon.File} または {@link ThemeIcon.Folder} に設定されている場合、現在のファイルアイコンテーマから導き出されます。
   */
  resourceUri?: Uri;
}

MarkdownStrings での GitHub スタイルのアラート (#209652)

新しいプロパティ supportAlertSyntax を設定することで、MarkdownStringGitHub スタイルのアラート構文をレンダリングするためのサポートを追加しました。

const markdown = new vscode.MarkdownString();
markdown.supportAlertSyntax = true;
markdown.value = `
> [!NOTE]
> コンテンツをざっと見ているときでも、ユーザーが知っておくべき役立つ情報。

> [!TIP]
> 物事をより良く、またはより簡単に行うための役立つアドバイス。

> [!IMPORTANT]
> ユーザーが目標を達成するために知っておく必要がある重要な情報。

> [!WARNING]
> 問題を回避するためにユーザーの即時の注意が必要な緊急情報。

> [!CAUTION]
> 特定のアクションのリスクや否定的な結果についてのアドバイス。
`;

これにより、拡張機能はコメントなど、UI のさまざまな場所でアラートをレンダリングできます:

スクリーンショットのコメントスレッドに表示される GitHub スタイルのアラート。各アラートタイプがそれぞれのアイコンとスタイルで表示されています。

TreeItem ラベルでの MarkdownString サポート (#115365)

拡張機能の作成者は、ツリービューアイテムのラベルで MarkdownString を使用できるようになり、codicon やテキストフォーマットを含む Markdown 構文のサブセットを有効にできます。これにより、拡張機能はより視覚的にリッチなツリービューを作成できます。

// Codicons
const itemWithIcon = new vscode.TreeItem({ label: new vscode.MarkdownString('$(star) Starred item', true) });

// テキストフォーマット (文字列全体を囲む必要があります)
const italicItem = new vscode.TreeItem({ label: new vscode.MarkdownString('_Italic item_') });

// フォーマットと codicon は組み合わせることができます
const combined = new vscode.TreeItem({ label: new vscode.MarkdownString('_~~**$(check) Done $(star)**~~_', true) });

上記のアイテムは次のようにレンダリングされます: 3 つのアイテムを示すツリービューのスクリーンショット: アイコン付きのスター付きアイテム、イタリック体のアイテム、チェックとスターのアイコンに加えて太字、イタリック、取り消し線のフォーマットが施された結合アイテム。

エンジニアリング

自動化された UX PR テストの探求

手動でコードをチェックアウトして実行することなく、レビュー担当者がプルリクエストの UI 変更を理解するのに役立つ新しい自動化ワークフローを導入しました。UI 変更のあるプルリクエストに ~copilot-video-please ラベルを追加すると、自動化されたプロセスが開始されます:

  • PR ブランチから VS Code をビルドします
  • GitHub Copilot CLI を使用して変更と対話し、その過程でビデオを録画します - playwright-mcp を活用
  • 詳細な検査のために Playwright トレースを生成します
  • 結果を PR のコメントとして投稿します

まだ初期段階ですが、このワークフローは、特に小さな UI 変更の場合、コードレビューに必要な手動の労力を削減できます。ビデオとトレースは、レビュー担当者が変更が期待どおりに機能することをすばやく確認するのに役立ちます。現在、ビデオはチームメンバーのみがアクセスできます。

この自動化の詳細については、vscode#272529 を参照してください。

macOS 11.0 のサポートが終了しました

VS Code 1.106 は、macOS 11.0 (macOS Big Sur) をサポートする最後のリリースです。詳細については、FAQ を参照してください。

注目すべき修正

  • vscode#258236 - 拡張機能のインストール時に使用される拡張機能リクエストタイムアウトの設定を追加
  • vscode#272945 - タスクが onDidStartTerminalShellExecution をトリガーしない
  • vscode#273372 - .gitignore ファイルで /***/ で自動的に閉じられる
  • vscode#243584 - pwsh/conpty で最初の入力が無視される
  • vscode#271952 - Copilot の 'configure instructions' クイックピックがワークスペースレベルのエージェント指示ファイル (copilot-instructions.md, AGENTS.md) を表示しない
  • vscode#274631 - ネットワーク: Windows で中間認証局をロードする

謝辞

Issue トラッキング

Issue トラッキングへの貢献:

プルリクエスト

vscode への貢献:

vscode-copilot-chat への貢献:

vscode-html-languageservice への貢献:

vscode-json-languageservice への貢献:

vscode-languageserver-node への貢献:

vscode-pull-request-github への貢献:

vscode-test-cli への貢献:

debug-adapter-protocol への貢献:

language-server-protocol への貢献:

monaco-editor への貢献:

node-pty への貢献:

python-environment-tools への貢献:

新機能が準備でき次第、試してくださる皆様に心から感謝いたします。頻繁にこちらをチェックして、新機能について学んでください。

以前の VS Code バージョンのリリースノートを読みたい場合は、code.visualstudio.comUpdates にアクセスしてください。