コンテンツにスキップ

2025 年 3 月 (バージョン 1.99)


Visual Studio Code の 2025 年 3 月リリースへようこそ。このバージョンでは多くのアップデートがあり、きっと気に入っていただけると思います。主なハイライトは次のとおりです。

  • エージェント モード
    • エージェント モードが VS Code Stable で利用可能になりました。setting(chat.agent.enabled:true) を設定して有効にします (詳細...)。
    • Model Context Protocol (MCP) サーバー ツールでエージェント モードを拡張します (詳細...)。
    • Web コンテンツの取得、シンボル リファレンスの検索、および深い思考のためのエージェント モードの新しい組み込みツールをお試しください (詳細...)。
  • コード編集
    • Next Edit Suggestions が一般提供になりました (詳細...)。
    • エディターで AI 編集が適用されている間、診断イベントなどの気を散らすものを減らすことができます (詳細...)。
  • チャット
    • 独自の API キーを使用して、チャットでより多くの言語モデルにアクセスできます (プレビュー) (詳細...)。
    • 統合されたチャット エクスペリエンスから、ask、edit、およびエージェント モードを簡単に切り替えることができます (詳細...)。
    • インスタント リモート ワークスペース インデックス作成により、ワークスペースの検索速度と精度が向上しました (詳細...)。
  • ノートブック編集
    • 編集およびエージェント モードのサポートにより、コード ファイルと同じくらい簡単にノートブックを作成および編集できます (詳細...)。

これらのリリース ノートをオンラインで読むには、code.visualstudio.comUpdates にアクセスしてください。 Insiders: 新機能をいち早く試したいですか? nightly Insiders ビルドをダウンロードして、最新のアップデートをいち早くお試しください。

チャット

エージェント モードが VS Code Stable で利用可能になりました

設定: setting(chat.agent.enabled:true)

エージェント モードが VS Code Stable で利用可能になったことをお知らせします。setting(chat.agent.enabled:true) を設定して有効にします。デフォルトですべてのユーザーに有効にするロールアウトを行うため、数週間後には設定を有効にする必要はなくなります。

エージェント モードのドキュメントを確認するか、チャット ビューのチャット モード ピッカーからエージェント モードを選択してください。

チャット ビューを示すスクリーンショット。チャット モード ピッカーでエージェント モードが選択されていることが強調表示されています。

Model Context Protocol サーバーのサポート

このリリースでは、エージェント モードで Model Context Protocol (MCP) サーバーがサポートされています。MCP は、AI モデルが外部ツール、アプリケーション、およびデータ ソースを検出して対話するための標準化された方法を提供します。VS Code でエージェント モードを使用してチャット プロンプトを入力すると、モデルはさまざまなツールを呼び出して、ファイル操作、データベースへのアクセス、Web データの取得などのタスクを実行できます。この統合により、より動的でコンテキストを認識したコーディング支援が可能になります。

MCP サーバーは、ユーザー、リモート、または .code-workspace 設定の mcp セクション、またはワークスペースの .vscode/mcp.json で構成できます。この構成では、シークレットと定数をハードコーディングしないように入力変数がサポートされています。たとえば、${env:API_KEY} を使用して環境変数を参照したり、${input:ENDPOINT} を使用してサーバーの起動時に値を要求したりできます。

MCP: サーバーの追加 コマンドを使用すると、コマンド ライン呼び出しから MCP サーバーをすばやくセットアップしたり、Docker、npm、または PyPI に公開された MCP サーバーから AI 支援セットアップを使用したりできます。

新しい MCP サーバーが追加されると、チャット ビューに更新アクションが表示されます。これを使用してサーバーを起動し、ツールを検出できます。その後、リソースを節約するためにサーバーはオンデマンドで起動されます。

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

Claude Desktop などの他のアプリケーションで MCP サーバーを既に使用している場合、VS Code はそれらを検出し、実行するように提案します。この動作は、setting(chat.mcp.discovery.enabled) 設定で切り替えることができます。

MCP: サーバーの一覧表示 コマンドを使用して MCP サーバーの一覧とその現在のステータスを表示したり、エージェント モードの ツールの選択 ボタンを使用してチャットで使用できるツールを選択したりできます。

MCP サーバーのインストール方法と使用方法の詳細については、ドキュメントを参照してください。

エージェント モード ツール

このマイルストーンでは、いくつかの新しい組み込みツールをエージェント モードに追加しました。

思考ツール (試験的)

設定: setting(github.copilot.chat.agent.thinkingTool:true)

Anthropic の調査 に触発されて、ツール呼び出しの間にモデルに思考の機会を与えるために使用できるエージェント モードの思考ツールのサポートを追加しました。これにより、製品内および SWE-bench eval での複雑なタスクに対するエージェントのパフォーマンスが向上します。

Fetch ツール

プロンプトにパブリックにアクセス可能な Web ページからのコンテンツを含めるには、#fetch ツールを使用します。たとえば、MCP のようなトピックに関する最新のドキュメントを含める場合は、完全なドキュメント (LLM が使用できるように便利に準備されています) をフェッチして、プロンプトで使用するように要求できます。その様子を次のビデオで示します。

エージェント モードでは、このツールは自動的に選択されますが、フェッチする URL とともに #fetch を介して他のモードで明示的に参照することもできます。

このツールは、Web ページをヘッドレス ブラウザー ウィンドウでレンダリングすることによって機能します。このウィンドウでは、そのページのデータがローカルにキャッシュされるため、再レンダリングのオーバーヘッドなしに、モデルにコンテンツを何度もフェッチするように自由に要求できます。

#fetch ツールをどのように使用しているか、およびどのような機能が必要かをお知らせください。

Fetch ツールの制限事項:

  • 現在、このブラウザー ウィンドウでは JavaScript が無効になっています。Web サイトがコンテンツのレンダリングを完全に JavaScript に依存している場合、ツールは多くのコンテキストを取得できません。これは変更を検討している制限事項であり、JavaScript を許可するように変更される可能性があります。
  • ヘッドレスな性質のため、認証が必要なページをフェッチすることはできません。これは、このヘッドレス ブラウザーが使用するブラウザーとは異なるブラウザー コンテキストに存在するためです。代わりに、MCP を使用して、そのターゲット用に特別に構築された MCP サーバー、または Playwright MCP サーバー などの汎用ブラウザー MCP サーバーを導入することを検討してください。

Usages ツール

#usages ツールは、"すべての参照を検索"、"実装の検索"、および "定義へ移動" の組み合わせです。このツールは、チャットが関数、クラス、またはインターフェイスについて詳しく知るのに役立ちます。たとえば、チャットはこのツールを使用して、インターフェイスのサンプル実装を探したり、リファクタリングを行うときに変更する必要があるすべての場所を見つけたりできます。

エージェント モードでは、このツールは自動的に選択されますが、#usages を介して明示的に参照することもできます。

エージェント モードで新しいワークスペースを作成する (試験的)

設定: setting(github.copilot.chat.newWorkspaceCreation.enabled)

エージェント モード で新しい VS Code ワークスペースをスキャフォールドできるようになりました。VS Code 拡張機能、MCP サーバー、またはその他の開発環境をセットアップする場合でも、エージェント モードは、必要な依存関係と設定を使用してこれらのプロジェクトを初期化、構成、および起動するのに役立ちます。

エージェント モードの VS Code 拡張機能ツール

数か月前、VS Code 拡張機能によって提供される 言語モデル ツール の拡張機能 API を完成させました。これで、これらのツールをエージェント モードで使用できます。

構成で toolReferenceName および canBeReferencedInPrompt を設定するこの API に提供されるツールは、エージェント モードで自動的に使用できます。

拡張機能でツールを提供することにより、完全な VS Code 拡張機能 API にアクセスでき、拡張機能マーケットプレースから簡単にインストールできます。

MCP サーバーからのツールと同様に、エージェント モードの ツールの選択 ボタンを使用してこれらを有効または無効にできます。独自のツールを構築するには、言語モデル ツール拡張機能ガイド を参照してください。

エージェント モード ツールの承認

ユーザー プロンプトのタスクを完了する一環として、エージェント モードはツールとターミナル コマンドを実行できます。これは強力ですが、潜在的なリスクが伴う可能性があります。したがって、エージェント モードでのツールとターミナル コマンドの使用を承認する必要があります。

このエクスペリエンスを最適化するために、セッション、ワークスペース、またはアプリケーション レベルでその承認を記憶できるようになりました。これは現在ターミナル ツールでは有効になっていませんが、今後のリリースでターミナルの承認システムを開発する予定です。

承認を記憶するためのエージェント モード ツール [続行] ボタンのドロップダウン オプションを示すスクリーンショット。

すべての ツールを自動承認する場合は、試験的な setting(chat.tools.autoApprove:true) 設定を使用できるようになりました。これにより、すべてのツールが自動承認され、言語モデルがツールを実行したいときに VS Code は確認を求めません。この設定を有効にすると、モデルが実行しようとしている潜在的に破壊的なアクションをキャンセルする機会がなくなることに注意してください。

今後、この設定をより詳細な機能で拡張する予定です。

SWE-bench でのエージェントの評価

VS Code のエージェントは、Claude 3.7 Sonnet で swebench-verified で 56.0% の合格率を達成しています。これは、SWE-bench 環境でユーザー入力を必要とせずに実行するようにエージェントを構成することに関する Anthropic の 調査 に基づいています。私たちの実験は、Claude 3.5 および 3.7 Sonnet モデルの配信に含まれるファイル編集用の新しいツールを含む、エージェント モードの改善されたプロンプト、ツールの説明、およびツールの設計の出荷につながりました。

統合されたチャット ビュー

過去数か月間、言語モデルに質問するための "チャット" ビューと、AI を利用したコード編集セッション用の "Copilot Edits" ビューがありました。今月は、2 つのビューを 1 つのチャット ビューに統合して、チャットベースのエクスペリエンスを合理化することを目指しています。チャット ビューには、3 つのモードのドロップダウンが表示されます。

チャット ビューのチャット モード ピッカーを示すスクリーンショット。

  • Ask: これは以前のチャット ビューと同じです。ワークスペースまたは一般的なコーディングについて、任意のモデルを使用して質問します。@ を使用して、組み込みのチャット参加者またはインストールされている 拡張機能 から呼び出します。# を使用して、任意の種類のコンテキストを手動で添付します。
  • Agent: コンテキストを自律的に収集し、ターミナル コマンドを実行したり、タスクを完了するために他のアクションを実行したりできる一連のツールを使用して、エージェント コーディング フローを開始します。エージェント モードは、すべての VS Code Insiders ユーザーに対して有効になっており、VS Code Stable でますます多くのユーザーにロールアウトしています。
  • Edit: Edit モードでは、モデルは複数のファイルに対して指示された編集を行うことができます。編集するファイルを自動的に見つけるには、#codebase を添付します。ただし、ターミナル コマンドを実行したり、他のことを自動的に実行したりすることはありません。

: この一覧にエージェント モードが表示されない場合は、まだ有効になっていないか、組織のポリシーによって無効になっているため、組織の所有者 が有効にする必要があります。

チャット エクスペリエンスを簡素化することに加えて、この統合により、AI を利用したコード編集のいくつかの新機能が有効になります。

  • 会話の途中でモードを切り替える: たとえば、ask モードでアプリのアイデアをブレインストーミングしてから、エージェント モードに切り替えて計画を実行することができます。ヒント: kb(workbench.action.chat.toggleAgentMode) を押すと、モードをすばやく変更できます。
  • 履歴内の編集セッション: チャットの表示 コマンド (チャット ビューの上部にある時計アイコン) を使用して、過去の編集セッションを復元し、作業を続けることができます。
  • チャットをエディターまたはウィンドウに移動: 新しいエディター/新しいウィンドウでチャットを開く を選択して、サイド バーから新しいエディター タブまたは別の VS Code ウィンドウにチャットの会話をポップアウトします。チャットはこれを長い間サポートしてきましたが、エディター ペインまたは別のウィンドウから編集/エージェント セッションを実行することもできます。
  • 複数のエージェント セッション: 上記の点から、これは複数のエージェント セッションを同時に実行できることも意味します。1 つのチャットをエージェント モードで機能の実装に取り組み、別の独立したセッションを調査や他のツールの使用に使用することができます。2 つのエージェント セッションに同時にファイルの編集を指示することはお勧めしません。混乱を招く可能性があります。

Bring Your Own Key (BYOK) (プレビュー)

Copilot Pro および Copilot Free ユーザーは、Azure、Anthropic、Gemini、Open AI、Ollama、Open Router などの一般的なプロバイダーの独自の API キーを持ち込むことができるようになりました。これにより、Copilot でネイティブにサポートされていない新しいモデルをリリースされたその日に使用できます。

試すには、モデル ピッカーから モデルの管理... を選択します。Copilot Business および Enterprise 顧客のサポートを積極的に検討しており、今後のリリースで最新情報をお知らせします。この機能の詳細については、ドキュメントを参照してください。

ユーザー インターフェイスの "モデルの管理 - プレビュー" ドロップダウン メニューのスクリーンショット。"プロバイダーの選択" というラベルが上部にあり、その下にオプションの一覧があります。オプションには、"Anthropic" (青色で強調表示)、"Azure"、"Gemini"、"OpenAI"、"Ollama"、および "OpenRouter" が含まれています。歯車アイコンが "Anthropic" オプションの横に表示されています。

再利用可能なプロンプト ファイル

構成の改善

設定: setting(chat.promptFilesLocations)

setting(chat.promptFilesLocations) 設定で、ファイル パスに glob パターンがサポートされるようになりました。たとえば、現在開いているワークスペース内のすべての .prompt.md ファイルを含めるには、パスを { "**": true } に設定します。

さらに、構成は、ホスト オペレーティング システムの動作に合わせて、適用されるファイル システムで大文字と小文字を区別するようになりました。

プロンプト ファイルの編集の改善

  • .prompt.md ファイルで、ファイル システム パスの基本的なオートコンプリートが提供され、有効なファイル参照が強調表示されるようになりました。一方、壊れたリンクは警告またはエラーの波線として表示され、詳細な診断情報が提供されます。
  • チャット: プロンプトの使用 コマンド内のプロンプト ファイル リストで、編集および削除アクションを使用してプロンプトを管理できるようになりました。
  • プロンプト ファイル内のフォルダー参照は、無効としてフラグが立てられなくなりました。
  • Markdown コメントが適切に処理されるようになりました。たとえば、LLM モデルに送信される最終的なプロンプトを生成するときに、コメントアウトされたすべてのリンクは無視されます。

カスタム指示との整合性

.github/copilot-instructions.md ファイルは、ネストされたリンク解決と拡張された言語機能をサポートする、他の再利用可能な .prompt.md ファイルと同様に動作するようになりました。さらに、.prompt.md ファイルは参照できるようになり、適切に処理されます。

カスタム指示 の詳細をご覧ください。

ユーザー プロンプト

ユーザー プロンプトの作成 コマンドで、ユーザー プロンプト と呼ばれる新しい種類のプロンプトを作成できるようになりました。これらはユーザー データ フォルダーに保存され、コード スニペットやユーザー設定と同様に、マシン間で同期できます。同期は、同期リソース リストの プロンプト 項目を使用して、設定の同期 で構成できます。

改善されたビジョン サポート (プレビュー)

前回のイテレーションでは、Copilot Vision が GPT-4o で有効になりました。チャットで画像を添付して使用する方法の詳細については、リリース ノート を確認してください。

このリリースでは、ドラッグ アンド ドロップで任意のブラウザーから画像を添付できます。ブラウザーからドラッグ アンド ドロップされた画像には、.jpg.png.gif.webp、または .bmp の正しい URL 拡張子が必要です。

エディターの構成

統合されたチャット エクスペリエンス

VS Code のチャット エクスペリエンスを 1 つの統合されたチャット ビューに合理化しました。個別のビュー間を移動して会話のコンテキストを失う必要はなくなり、さまざまなチャット モードを簡単に切り替えることができるようになりました。

チャット ビューのチャット モード ピッカーを示すスクリーンショット。

シナリオに応じて、次のいずれかのモードを使用し、会話の途中で自由に移動します。

  • Ask モード: コードベースに関する質問やアイデアのブレインストーミングに最適化されています。
  • Edit モード: コードベース内の複数のファイルにわたって編集を行うのに最適化されています。
  • Agent モード: コード編集とツール呼び出しを組み合わせた自律的なコーディング フローに最適化されています。

統合されたチャット ビュー の詳細をご覧ください。

インスタント インデックス作成によるワークスペース検索の高速化

リモート ワークスペース インデックス は、AI が質問に答えたり編集を生成したりするときに使用する関連するコード スニペットについて、大規模なコードベースの検索を高速化します。これらのリモート インデックスは、数万または数十万ものファイルを含む大規模なコードベースに特に役立ちます。

以前は、リモート ワークスペース インデックスを構築して使用を開始するには、ボタンを押すか、コマンドを実行する必要がありました。新しいインスタント インデックス作成のサポートにより、#codebase/@workspace の質問を最初に試みるときに、リモート ワークスペース インデックスが自動的に構築されるようになりました。ほとんどの場合、このリモート インデックスは数秒で構築できます。構築されると、あなたまたは VS Code でそのリポジトリを操作する他のユーザーが行うコードベース検索は、自動的にリモート インデックスを使用します。

リモート ワークスペース インデックスは現在、GitHub に保存されているコードでのみ使用できることに注意してください。リモート ワークスペース インデックスを使用するには、ワークスペースに GitHub リモートを含む git プロジェクトが含まれていることを確認してください。Copilot ステータス メニュー を使用して、現在使用されているインデックスのタイプを確認できます。

Copilot ステータス バー メニューのワークスペース インデックスのステータスを示すスクリーンショット。

負荷を管理するために、今後数週間かけてインスタント インデックス作成を徐々に展開しているため、すぐに表示されない場合があります。インスタント インデックス作成がまだ有効になっていない場合は、GitHub Copilot: リモート インデックスの構築 コマンドを実行して、リモート インデックスの使用を開始できます。

Copilot ステータス メニュー

ステータス バーからアクセスできる Copilot ステータス メニューが、すべてのユーザーで有効になりました。このマイルストーンでは、いくつかの新機能が追加されました。

  • アクティブなエディターでコード補完が有効になっているかどうかを表示します。

    新しいアイコンはステータスを反映するため、コード補完が有効になっているかどうかをすばやく確認できます。

    補完が無効になっている場合の Copilot ステータス アイコンを示すスクリーンショット。

すぐに使える Copilot セットアップ (試験的)

設定: setting(chat.setupFromDialog)

すぐに使える機能的なチャット エクスペリエンスを表示するための試験的な機能を出荷しています。これには、チャット ビュー、エディター/ターミナルのインライン チャット、およびクイック チャットが含まれます。最初のチャット リクエストを送信すると、Copilot Free へのサインインとサインアップをご案内します。

このエクスペリエンスを自分で確認する場合は、setting(chat.setupFromDialog) 設定を有効にします。

チャット プレリリース チャネルの不一致

VS Code Stable に Copilot Chat 拡張機能のプレリリース バージョンがインストールされている場合、この構成はサポートされていないことを通知する新しいウェルカム画面が表示されます。チャット機能の急速な開発により、拡張機能は VS Code Stable でアクティブになりません。

ウェルカム画面には、拡張機能のリリース バージョンに切り替えるか、VS Code Insiders をダウンロードするオプションが表示されます。

チャットのウェルカム ビューを示すスクリーンショット。拡張機能のプレリリース バージョンが VS Code Stable でサポートされていないことを示しています。リリース バージョンに切り替えるためのボタンと、VS Code Insiders に切り替えるためのセカンダリ リンクが表示されています。

セマンティック テキスト検索の改善 (試験的)

設定: setting(github.copilot.chat.search.semanticTextResults:true)

AI を利用したセマンティック テキスト検索が、検索ビューでデフォルトで有効になりました。kb(search.action.searchWithAI) キーボード ショートカットを使用してセマンティック検索をトリガーすると、通常の検索結果に加えて、クエリに基づいて最も関連性の高い結果が表示されます。

#searchResults ツールを使用して、チャット プロンプトでセマンティック検索結果を参照することもできます。これにより、LLM に結果の要約または説明を求めたり、結果に基づいてコードを生成したりすることもできます。

設定エディターの検索の更新

デフォルトでは、設定エディターの検索で、前のリリースで導入されたキー一致アルゴリズムが使用されるようになりました。また、設定 ID が既知の設定と完全に一致する場合でも、追加の設定が表示されます。

テーマ: Light Pink (vscode.dev でプレビュー)

ウィンドウ コントロールの新しい設定 (Linux、Windows)

設定: setting(window.controlsStyle)

タイトル バーのスタイル (setting(window.titleBarStyle)) を custom に設定している場合は、ウィンドウ コントロールに 3 つの異なるスタイルから選択できるようになりました。

  • native: これはデフォルトであり、基になるプラットフォームに従ってウィンドウ コントロールをレンダリングします。
  • custom: ネイティブのものよりもカスタム スタイルの方が好みの場合は、カスタム スタイルでウィンドウ コントロールをレンダリングします。
  • hidden: タイトル バーのスペースを少しでも増やしたい場合や、キーボード中心のユーザーの場合は、ウィンドウ コントロールを完全に非表示にします。

Code Editing

Next Edit Suggestions の一般提供開始

設定: setting(github.copilot.nextEditSuggestions.enabled:true)

Next Edit Suggestions (NES) の一般提供開始をお知らせします! さらに、NES の全体的なユーザー エクスペリエンスを向上させるために、いくつかの改善も行いました。

  • 編集候補をよりコンパクトにし、周囲のコードへの干渉を減らし、一目で読みやすくしました。
  • すべての候補がより見やすくなるように、gutter インジケーターを更新しました。

AI 編集の改善

AI を使用して編集を生成する際に、いくつかの小さな調整を行いました。

  • AI 編集でファイルを書き換えている間、エディター外の診断イベントをミュートします。以前は、このシナリオではすでに波線を無効にしていました。これらの変更により、[問題] パネルのちらつきが軽減され、クイック修正コード アクションのリクエストが発行されないようになります。
  • AI 編集を保持することにした場合、ファイルを明示的に保存するようになりました。

ツールベースの編集モード

設定: setting(chat.edits2.enabled:true)

チャットの編集モード の動作方法を変更します。新しい編集モードでは、エージェント モードと同じアプローチを使用します。これにより、モデルはツールを呼び出してファイルを編集できます。この調整の利点は、3 つのモードすべてをシームレスに切り替えることができると同時に、これらのモードが内部でどのように機能するかを大幅に簡素化できることです。

欠点は、新しいモードがエージェント モードで動作するのと同じ、ツール呼び出しをサポートし、ツールが関与する場合に優れたエクスペリエンスが得られることを確認するためにテストされた、削減されたモデル セットでのみ動作することを意味します。o3-miniClaude 3.7 (Thinking) などのモデルが編集モードの一覧に表示されない場合があります。これらのモデルを編集に使用し続けたい場合は、setting(chat.edits2.enabled) 設定を無効にして、以前の編集モードに戻してください。モードを切り替えるときに、セッションをクリアするように求められます。

ツールを使用する場合、さまざまなモデルで一貫した結果を得るためのプロンプトは難しいことがわかりましたが、これらのモデルを編集 (およびエージェント) モードで利用できるように取り組んでいます。

この設定は、VS Code Stable のユーザーに対して徐々に有効になります。

インライン サジェストの構文の強調表示

設定: setting(editor.inlineSuggest.syntaxHighlightingEnabled)

今回の更新により、インライン サジェストの構文の強調表示がデフォルトで有効になりました。次のスクリーンショットでは、コード サジェストに構文の色付けが適用されていることに注意してください。

エディターのスクリーンショット。ゴースト テキストで構文の強調表示が有効になっていることを示しています。

構文の強調表示なしでインライン サジェストを使用する場合は、setting(editor.inlineSuggest.syntaxHighlightingEnabled:false) で無効にできます。

ゴースト テキストの強調表示が無効になっているエディターのスクリーンショット。

Tree-Sitter ベースの構文の強調表示 (プレビュー)

設定: setting(editor.experimental.preferTreeSitter.css:true) および setting(editor.experimental.preferTreeSitter.regex:true)

Tree-Sitter を構文の強調表示に使用するための以前の作業に基づいて、CSS ファイルと TypeScript 内の正規表現に対して、試験的な Tree-Sitter ベースの構文の強調表示をサポートするようになりました。

Notebooks

Jupyter Notebook ドキュメントの最小バージョンを 4.5 に変更

新しい Notebook の nbformat のデフォルト バージョンが 4.2 から 4.5 に引き上げられました。これにより、Notebook の各セルの id フィールドが設定され、差分の計算に役立ちます。Notebook の raw JSON で nbformat_minor5 に設定して、既存の Notebook を手動で更新することもできます。

AI Notebook 編集の改善

Notebook の AI を利用した編集サポート (エージェント モードを含む) が、Stable リリースで利用できるようになりました。これは、先月 VS Code Insiders でプレビュー機能として追加されました。

チャットを使用して、コード ファイルを編集するのと同じ直感的なエクスペリエンスで Notebook ファイルを編集できるようになりました。複数のセルにわたってコンテンツを変更したり、セルを挿入および削除したり、セルの種類を変更したりできます。この機能は、データ サイエンスまたはドキュメント Notebook を操作する際にシームレスなワークフローを提供します。

新しい Notebook ツール

VS Code には、チャットから直接新しい Jupyter Notebook を作成するための専用ツールが用意されています。このツールは、クエリに基づいて新しい Notebook を計画および作成します。

エージェント モードまたは編集モードで新しい Notebook ツールを使用します (setting(chat.edits2.enabled:true) で改善された編集モードを有効にしてください)。Ask モードを使用している場合は、チャット プロンプトに /newNotebook と入力して、新しい Notebook を作成します。

diff ツールバーを使用して、セル全体の各 AI 編集を反復処理して確認します。

AI 編集の取り消し

セル コンテナーにフォーカスがある場合、取り消し コマンドは Notebook レベルでの AI による変更の完全なセットを元に戻します。

チャットでのテキストおよび画像の出力サポート

テキスト、エラー、画像などの Notebook セルの出力を、コンテキストとしてチャットに直接追加できるようになりました。これにより、Ask、Edit、またはエージェント モードを使用するときに出力を参照できるため、言語モデルが Notebook コンテンツを理解して支援することが容易になります。

3 つのドット メニューを使用するか、出力を右クリックして、セル出力をチャットに追加 アクションを使用します。

セル エラー出力をチャット コンテキストとして添付するには:

セル出力画像をチャット コンテキストとして添付するには:

Accessibility

チャット エージェント モードの改善

「ターミナルでコマンドを実行」など、ツール呼び出し中に手動操作が必要な場合に通知されるようになりました。この情報は、関連するチャット応答の ARIA ラベルにも含まれており、スクリーン リーダー ユーザーのアクセシビリティが向上しています。

さらに、エージェント モード で新しいアクセシビリティ ヘルプ ダイアログが利用できるようになり、ユーザーがこの機能に期待できることと、効果的にナビゲートする方法について説明します。

チャット編集アクションのアクセシビリティ シグナル

VS Code は、AI によって生成された編集を保持または元に戻すときに、聴覚シグナルを提供するようになりました。これらのシグナルは、setting(accessibility.signals.editsKept) および setting(accessibility.signals.editsUndone) を介して構成できます。

サジェスト コントロールの ARIA ラベルの改善

サジェスト コントロール項目の ARIA ラベルに、サジェストの種類 (メソッドや変数など) などのより豊富で説明的な情報が含まれるようになりました。この情報は、以前はアイコンを介して視覚ユーザーのみが利用できました。

Source Control

参照ピッカーの改善

設定: setting(git.showReferenceDetails)

今回のマイルストーンでは、チェックアウト、マージ、リベース、またはブランチの削除などのさまざまなソース管理操作に使用される参照ピッカーを改善しました。更新された参照ピッカーには、最後のコミットの詳細 (作成者、コミット メッセージ、コミット日) と、ローカル ブランチの先行/遅延情報が含まれています。この追加のコンテキストは、さまざまな操作に適した参照を選択するのに役立ちます。

setting(git.showReferenceDetails:false) 設定を切り替えて、追加情報を非表示にします。

最後のコミットの詳細と先行/遅延情報を含む git ブランチの一覧を示すソース管理参照ピッカーのスクリーンショット。

リポジトリ ステータス バー項目

複数のリポジトリを含むワークスペースには、ブランチ ピッカーの左側にアクティブなリポジトリを表示するソース管理プロバイダー ステータス バー項目が表示されるようになりました。新しいステータス バー項目は追加のコンテキストを提供するため、エディター間を移動したり、ソース管理ビューを使用したりするときに、アクティブなリポジトリがわかります。

ソース管理プロバイダー ステータス バー項目を非表示にするには、ステータス バーを右クリックし、コンテキスト メニューから ソース管理プロバイダー を選択解除します。

複数のリポジトリを含むワークスペースのリポジトリ ステータス バー項目を示すスクリーンショット。

Git blame エディター装飾の改善

入力中に、"まだコミットされていません" エディター装飾はあまり価値を提供せず、むしろ気を散らすものであるというフィードバックがありました。今回のマイルストーン以降、"まだコミットされていません" エディター装飾は、キーボードまたはマウスを使用してコードベースをナビゲートしている場合にのみ表示されます。

コミット入力カーソルのカスタマイズ

今回のマイルストーンでは、コミュニティの貢献のおかげで、setting(editor.cursorStyle) および setting(editor.cursorWidth) 設定が、ソース管理入力ボックスで有効になっている設定の一覧に追加されました。

Terminal

エージェント モードの信頼性

エージェント モードがターミナルでコマンドを実行できるようにするツールには、多くの信頼性と互換性の改善が含まれています。ツールがスタックしたり、出力が存在せずにコマンドが完了したりするケースが少なくなるはずです。

より大きな変更の 1 つは、"基本" および "なし" とは対照的に、"リッチ" な品質の シェル統合 の概念の導入です。VS Code に付属するシェル統合スクリプトは、通常、ターミナル ツール (および一般的なターミナルの使用) での実行で最高のエクスペリエンスを提供するリッチ シェル統合をすべて有効にする必要があります。ターミナル タブにカーソルを合わせると、シェル統合の品質を表示できます。

ターミナル IntelliSense の改善 (プレビュー)

code CLI の拡張された IntelliSense

IntelliSense は、codecode-insiders、および code-tunnel CLI のサブコマンドをサポートするようになりました。たとえば、code tunnel と入力すると、helpkill、および prune などの利用可能なサブコマンドが、それぞれ説明的な情報とともに表示されます。

ターミナル ウィンドウのスクリーンショット。code tunnel が入力されていることを示しています。サジェスト ウィジェットには、help、kill、prune などのサブコマンドが、各コマンドの説明とともに表示されています。

次のオプションのサジェストも追加しました。

  • --uninstall-extension
  • --disable-extension
  • --install-extension

これらは、コマンドの完了を支援するために、インストールされている拡張機能の一覧を表示します。

VSCode ターミナルのスクリーンショット。code --uninstall-extension が表示されています。vscode-eslint や editorconfig などの利用可能な拡張機能の一覧が表示されています。

さらに、code --locate-shell-integration-path は、bashzshfish、および pwsh などのシェル固有のオプションを提供するようになりました。

コマンド入力 code --locate-shell-integration-path を示す VSCode ターミナルのスクリーンショット。ドロップダウン メニューには、シェル オプション bash、fish、pwsh、および zsh が一覧表示されています。

グローバル コマンドの自動更新

ターミナルは、システムの bin ディレクトリで変更が検出されると、グローバル コマンドの一覧を自動的に更新するようになりました。これは、新しくインストールされた CLI ツール (たとえば、npm install -g pnpm の実行後) が、ウィンドウをリロードしなくても、すぐに補完に表示されることを意味します。

以前は、新しいツールの補完は、ウィンドウを手動でリロードするまでキャッシュが原因で表示されませんでした。

オプション値のコンテキスト

ターミナルのサジェストは、予期されるオプション値に関するコンテキスト情報を表示するようになり、コマンドをより簡単に完了できるようになりました。

コマンドの進行状況を示すターミナルのスクリーンショット: npm install --omit。ターミナルのサジェスト ウィジェットには、それが予期されるオプションであることを示す <package type> が表示されています。

fish シェルのリッチな補完

前回のリリースでは、bash と zsh の詳細なコマンド補完を追加しました。今回のイテレーションでは、そのサポートを fish にも拡張しました。補完の詳細は、シェルのドキュメントまたは組み込みのヘルプ コマンドから取得されます。

たとえば、fish で jobs と入力すると、使用法情報とオプションが表示されます。

ユーザーが jobs と入力したことを示す fish ターミナルを備えた Visual Studio Code ターミナルのスクリーンショット。表示されているサジェスト ウィジェットは、詳細な使用例とオプションを含む jobs コマンドに関する情報を提供します。

サジェストのファイルの種類アイコン

ターミナルのサジェストに、さまざまなファイルの種類に固有のアイコンが含まれるようになり、スクリプトとバイナリを一目で区別しやすくなりました。

code.sh、code-cli.sh、および code-server.js などのさまざまなスクリプト ファイルのサジェストを示すターミナルのスクリーンショット。アイコンは特定のファイルの種類を示しています。

インライン サジェストの詳細

ターミナルにゴースト テキストとして表示されるインライン サジェストは、サジェストの一覧の一番上に引き続き表示されます。今回のリリースでは、これらのエントリにコマンドの詳細を追加して、受け入れる前により多くのコンテキストを提供するようにしました。

ターミナルにゴースト テキストとして Block コマンドを表示するターミナルのスクリーンショット。最初のサジェストは block であり、使用法情報が含まれています。

新しい簡略化された詳細なタブ ホバー

デフォルトでは、ターミナル タブに表示される詳細が大幅に少なくなりました。

ターミナル名、PID、コマンド ライン、シェル統合の品質、およびアクションを示す簡単なホバーのスクリーンショット

すべてを表示するには、ホバーの下部にある 詳細の表示 ボタンがあります。

環境に貢献する拡張機能と詳細なシェル統合診断を示す詳細なホバーのスクリーンショット

署名付き PowerShell シェル統合

シェル統合 PowerShell スクリプトが署名されるようになったため、デフォルトの PowerShell 実行ポリシー RemoteSigned を使用する場合、Windows でのシェル統合が自動的に開始されるようになりました。シェル統合の利点については、こちら を参照してください。

ターミナル シェル タイプ

今回のイテレーションでは、ターミナル シェル API を完成させ、拡張機能がターミナルでユーザーの現在のシェル タイプを確認できるようにしました。 イベント onDidChangeTerminalState をサブスクライブすると、ターミナルでのユーザーのシェル タイプの変更を確認できます。 たとえば、シェルは zsh から bash に変更される可能性があります。

識別可能なすべてのシェルの一覧は、現在 こちら に記載されています。

Remote Development

Linux レガシー サーバーのサポートが終了しました

リリース 1.99 以降、これらのサーバーに接続できなくなりました。1.97 リリース で説明したように、サポートされている Linux ディストリビューションへの移行を完了するために追加の時間が必要なユーザーは、glibc および libstdc++ のカスタム ビルドを回避策として提供できます。この回避策の詳細については、FAQ セクションを参照してください。

Enterprise

macOS デバイス管理

VS Code は、Windows に加えて macOS でのデバイス管理をサポートするようになりました。これにより、システム管理者は、Microsoft Intune などの集中管理システムからポリシーをプッシュできます。

詳細については、エンタープライズ サポート のドキュメントを参照してください。

Contributions to extensions

Python

Pylance での編集可能なインストールに対するより良いサポート

Pylance は、PEP 660 で定義されているように、編集可能なモード (pip install -e .) でインストールされたパッケージのインポート パスの解決をサポートするようになり、これらのシナリオで IntelliSense エクスペリエンスが向上します。

この機能は setting(python.analysis.enableEditableInstalls:true) を介して有効になり、今月中にデフォルトのエクスペリエンスとしてロールアウトを開始する予定です。問題が発生した場合は、Pylance GitHub リポジトリ で報告してください。

Pylance によるより高速で信頼性の高い診断エクスペリエンス (試験的)

拡張機能のリリース バージョンを使用する場合に、Pylance の診断の精度と応答性を向上させるための変更のロールアウトを開始しています。これは、複数のファイルが開いているか、最近閉じられたファイルがあるシナリオで特に役立ちます。

ロールアウトを待機したくない場合は、setting(python.analysis.usePullDiagnostics:true) を設定できます。問題が発生した場合は、Pylance GitHub リポジトリ で報告してください。

Pylance カスタム Node.js 引数

新しい setting(python.analysis.nodeArguments) 設定があります。これにより、setting(python.analysis.nodeExecutable) を使用する場合に、カスタム引数を Node.js に直接渡すことができます。デフォルトでは、"--max-old-space-size=8192" に設定されていますが、ニーズに合わせて変更できます (たとえば、大規模なワークスペースを操作する場合に、Node.js により多くのメモリを割り当てるなど)。

さらに、setting(python.analysis.nodeExecutable)auto に設定すると、Pylance は Node.js を自動的にダウンロードするようになりました。

Extension authoring

Terminal.shellIntegration の調整

Terminal.shellIntegration API は、コマンド検出が発生した場合にのみ有効になります。以前は、現在の作業ディレクトリが報告された 場合にのみ これが機能するはずでしたが、これにより TerminalShellIntegration.executeCommand がうまく機能しませんでした。

さらに、TerminalShellIntegration.executeCommand は、より一貫して動作し、複数のコマンドを実行することになった単一のコマンド ラインの複数の "サブ実行" を追跡するようになりました。これは、エージェント モードの信頼性セクション で説明されているように、リッチ シェル統合に依存します。

Proposed APIs

タスクの問題マッチャーのステータス

拡張機能がタスクの問題マッチャーが開始および終了するタイミングを監視できるように、提案された API を追加しました。taskProblemMatcherStatus で有効にします。

LLM に画像を送信

今回のイテレーションでは、拡張機能が画像を添付してビジョン リクエストを言語モデルに送信できるように、提案された API を追加しました。添付ファイルは、画像の raw で、base64 でエンコードされていないバイナリ データ (Uint8Array) である必要があります。最大画像サイズは 5MB です。

使用例を確認し、この API のステータスを最新の状態に保つには、この API 提案の問題 を確認してください。

Engineering

Marketplace から新しい /latest API を使用して拡張機能の更新を確認する

数マイルストーン前に、拡張機能の更新を確認するために、vscode-unpkg サービスに新しい API エンドポイントを導入しました。Marketplace は同じエンドポイントをサポートするようになり、VS Code はこのエンドポイントを使用して拡張機能の更新を確認するようになりました。これは実験の背後にあり、段階的にユーザーにロールアウトされます。

Thank you

最後になりましたが、VS Code の貢献者の皆様に 感謝 申し上げます。

Issue tracking

Issue tracking への貢献:

Pull requests

vscode への貢献:

vscode-css-languageservice への貢献:

vscode-custom-data への貢献:

vscode-extension-samples への貢献:

vscode-extension-telemetry への貢献:

vscode-js-debug への貢献:

vscode-mypy への貢献:

vscode-prompt-tsx への貢献:

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

vscode-python-debugger への貢献:

vscode-test への貢献:

language-server-protocol への貢献:

python-environment-tools への貢献: