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

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

アップデート 1.99.1: このアップデートでは、これらのセキュリティ問題に対処しています。

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

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

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


Visual Studio Code 2025年3月版へようこそ。このバージョンには多くのアップデートがあり、気に入っていただけることを願っています。主なハイライトの一部をご紹介します。

  • エージェントモード

    • エージェントモードがVS Code Stableで利用可能になりました。chat.agent.enabledを設定することで有効にできます (詳細...)。
    • Model Context Protocol (MCP) サーバツールでエージェントモードを拡張できます (詳細...)。
    • エージェントモードでWebコンテンツの取得、シンボル参照の検索、ディープシンキングのための新しい組み込みツールを試してみてください (詳細...)。
  • コード編集

    • 次期編集提案機能が一般提供開始されました (詳細...)。
    • AI編集がエディターに適用される際に、診断イベントなどの邪魔が少なくなる利点があります (詳細...)。
  • チャット

    • 独自のAPIキーを使用して、チャットでより多くの言語モデルにアクセスできます (プレビュー) (詳細...)。
    • 統一されたチャットエクスペリエンスから、質問、編集、エージェントモードを簡単に切り替えられます (詳細...)。
    • 即時リモートワークスペースインデックス作成により、ワークスペース検索の速度と精度が向上しました (詳細...)。
  • ノートブック編集

    • 編集モードとエージェントモードのサポートにより、コードファイルと同じくらい簡単にノートブックを作成および編集できます (詳細...)。

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

チャット

エージェントモードがVS Code Stableで利用可能

設定: chat.agent.enabled

エージェントモードがVS Code Stableで利用可能になったことをお知らせします!chat.agent.enabledを設定することで有効にできます。設定が表示されない場合は、VS Codeをリロードしてください。数週間以内には、すべてのユーザーにデフォルトで有効化されるため、この設定は不要になります。

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

Screenshot that shows the Chat view, highlighting agent mode selected in the chat mode picker.

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: Add Serverコマンドを使用して、コマンドライン呼び出しからMCPサーバを迅速に設定したり、Docker、npm、またはPyPIに公開されているMCPサーバからAI支援セットアップを使用したりできます。

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

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

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

MCP: List Serversコマンドを使用してMCPサーバのリストと現在のステータスを確認し、エージェントモードのSelect Toolsボタンを使用してチャットで使用可能なツールを選択できます。

MCPサーバのインストール方法と使用方法については、ドキュメントで詳しく読むことができます。

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

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

思考ツール (実験的)

設定: github.copilot.chat.agent.thinkingTool

Anthropicの研究に触発され、ツール呼び出しの間で任意のモデルに思考する機会を与えるために、エージェントモードに思考ツールをサポートしました。これにより、製品内の複雑なタスクやSWE-bench評価におけるエージェントのパフォーマンスが向上します。

フェッチツール

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

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

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

#fetchツールの使用方法や、どのような機能を見たいか教えてください!

フェッチツールの制限事項

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

使用状況ツール

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

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

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

設定: github.copilot.chat.newWorkspaceCreation.enabled

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

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

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

構成でtoolReferenceNamecanBeReferencedInPromptを設定するこのAPIに貢献されたツールはすべて、エージェントモードで自動的に利用可能になります。

拡張機能でツールを提供することで、VS Code拡張機能のすべてのAPIにアクセスでき、Extension Marketplaceから簡単にインストールできます。

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

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

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

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

Screenshot that shows the agent mode tool Continue button dropdown options for remembering approval.

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

将来的には、この設定をよりきめ細かな機能で拡張する予定です。

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

VS Codeのエージェントは、Anthropicの研究に従って、SWE-bench環境でユーザー入力なしでエージェントを実行するように構成されたClaude 3.7 Sonnetを使用し、swebench-verifiedで56.0%の合格率を達成しました。私たちの実験は、エージェントモードのプロンプト、ツール説明、ツール設計の改善に繋がっており、Claude 3.5および3.7 Sonnetモデルでイン・ディストリビューションのファイル編集のための新しいツールも含まれています。

統合チャットビュー

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

Screenshot that shows the chat mode picker in the Chat view.

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

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

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

  • 会話の途中でモードを切り替える: たとえば、質問モードでアプリのアイデアをブレインストーミングし始め、その後エージェントモードに切り替えて計画を実行することができます。ヒント: を押すと、モードを素早く変更できます。
  • 履歴内の編集セッション: Show Chatsコマンド (チャットビューの上部にある時計アイコン) を使用して、過去の編集セッションを復元し、作業を続行できます。
  • チャットをエディターまたはウィンドウに移動する: Open Chat in New Editor/New Windowを選択すると、サイドバーからチャット会話を新しいエディタータブまたは別のVS Codeウィンドウにポップアウトできます。チャットはこの機能を長い間サポートしてきましたが、これでエディターペインまたは別のウィンドウから編集/エージェントセッションを実行することもできます。
  • 複数のエージェントセッション: 上記の点に続き、これにより複数のエージェントセッションを同時に実行できるようになります。1つのチャットをエージェントモードで機能の実装に取り組ませ、別の独立したセッションで調査や他のツールの使用を行うことができます。2つのエージェントセッションに同時にファイルを編集させることは推奨されません。混乱を招く可能性があります。

独自のキーを持ち込む (BYOK) (プレビュー)

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

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

A screenshot of a "Manage Models - Preview" dropdown menu in a user interface. The dropdown has the label "Select a provider" at the top, with a list of options below it. The options include "Anthropic" (highlighted in blue), "Azure," "Gemini," "OpenAI," "Ollama," and "OpenRouter." A gear icon is displayed next to the "Anthropic" option.

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

設定の改善

設定: chat.promptFilesLocations

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

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

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

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

カスタム命令との整合性

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

カスタム指示について詳しくはこちら。

ユーザープロンプト

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

視覚サポートの改善 (プレビュー)

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

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

エディターの設定

統合されたチャット体験

VS Codeのチャット体験を、単一の統合されたチャットビューに合理化しました。個別のビュー間を行き来して会話のコンテキストを失うことなく、異なるチャットモード間を簡単に切り替えることができます。

Screenshot that shows the chat mode picker in the Chat view.

シナリオに応じて、これらのモードのいずれかを使用し、会話の途中でも自由に切り替えられます。

  • 質問モード: コードベースに関する質問をしたり、アイデアをブレインストーミングしたりするのに最適です。
  • 編集モード: コードベース内の複数のファイルを編集するのに最適です。
  • エージェントモード: コード編集とツール呼び出しを組み合わせた、自律的なコーディングフローに最適です。

統合されたチャットビューの詳細については、こちらをご覧ください。

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

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

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

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

Screenshot that shows the workspace index status in the Copilot Status Bar menu.

負荷を管理するため、今後数週間かけて順次インスタントインデックスをロールアウトしていくため、すぐには表示されない場合があります。インスタントインデックスがまだ有効になっていない場合でも、GitHub Copilot: Build remote index commandコマンドを実行してリモートインデックスの使用を開始できます。

Copilotステータスメニュー

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

  • ワークスペースインデックスのステータス情報をいつでも表示できます。

    Screenshot that shows the workspace index status of a workspace in the Copilot menu.

  • アクティブなエディターでコード補完が有効になっているか確認できます。

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

    Screenshot that shows the Copilot status icon when completions is disabled.

  • コード補完とNESを有効または無効にします。

Copilotの初期設定 (実験的)

設定: chat.setupFromDialog

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

このエクスペリエンスを自分で試したい場合は、chat.setupFromDialog設定を有効にしてください。

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

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

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

Screenshot that shows the welcome view of chat, indicating that the pre-release version of the extension is not supported in VS Code stable. A button is shown to switch to the release version, and a secondary link is shown to switch to VS Code Insiders.

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

設定: github.copilot.chat.search.semanticTextResults

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

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

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

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

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

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

設定: window.controlsStyle

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

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

コード編集

次の編集提案機能の一般提供

設定: github.copilot.nextEditSuggestions.enabled

次の編集提案 (NES) の一般提供を開始しました!さらに、NESの全体的なユーザーエクスペリエンスもいくつか改善しました。

  • 編集提案をよりコンパクトにし、周囲のコードへの干渉を減らし、一目で読みやすくしました。
  • すべての提案がより簡単に認識できるように、ガッターインジケーターを更新しました。

AI編集の改善

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

  • AI編集でファイルを書き換える際に、エディター外の診断イベントをミュートします。以前は、このシナリオではすでに波線が無効になっていました。これらの変更により、「問題」パネルのちらつきが減少し、クイック修正コードアクションの要求を発行しないようにします。

  • AI編集を保持することを決定した場合、ファイルを明示的に保存するようになりました。

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

設定: chat.edits2.enabled

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

欠点は、この新しいモードはエージェントモードが機能するのと同じ、ツール呼び出しをサポートし、ツールが関与した場合に良い体験ができるようにテストされたモデルという限られたモデルセットでのみ機能することを意味します。編集モードのリストからo3-miniClaude 3.7 (Thinking)のようなモデルが欠落していることに気づくかもしれません。これらのモデルを編集に使い続けたい場合は、chat.edits2.enabled設定を無効にして、以前の編集モードに戻してください。モードを切り替える際にセッションをクリアするよう求められます。

ツールを使用する場合、異なるモデル間で一貫した結果を得るためのプロンプトはより困難であることがわかりましたが、これらのモデルを編集 (およびエージェント) モードで有効にする作業を進めています。

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

インライン提案の構文ハイライト

設定: editor.inlineSuggest.syntaxHighlightingEnabled

このアップデートにより、インライン提案の構文ハイライトがデフォルトで有効になりました。以下のスクリーンショットで、コード提案に構文の色付けが適用されていることに注目してください。

Screenshot of the editor, showing that syntax highlighting is enabled for ghost text.

構文ハイライトなしのインライン提案を希望する場合は、editor.inlineSuggest.syntaxHighlightingEnabledで無効にできます。

Screenshot of the editor showing that highlighting for ghost text is turned off.

Tree-Sitterベースの構文ハイライト (プレビュー)

設定: editor.experimental.preferTreeSitter.csseditor.experimental.preferTreeSitter.regex

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

ノートブック

Jupyterノートブックドキュメントの最小バージョンを4.5に

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

AIノートブック編集の改善

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

チャットを使って、コードファイルを編集するのと同じ直感的な体験でノートブックファイルを編集できるようになりました。複数のセルにわたるコンテンツの変更、セルの挿入と削除、セルタイプの変更などが可能です。この機能は、データサイエンスやドキュメントノートブックを扱う際にシームレスなワークフローを提供します。

新しいノートブックツール

VS Codeは、チャットから直接新しいJupyterノートブックを作成するための専用ツールを提供するようになりました。このツールは、クエリに基づいて新しいノートブックを計画および作成します。

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

AI編集間をナビゲート

差分ツールバーを使用して、セル間の各AI編集を繰り返しレビューできます。

AI編集の取り消し

セルコンテナにフォーカスがある場合、元に戻すコマンドはノートブックレベルでAI変更の全セットを元に戻します。

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

テキスト、エラー、画像などのノートブックセルの出力を、コンテキストとしてチャットに直接追加できるようになりました。これにより、質問、編集、またはエージェントモードを使用する際にその出力を参照できるため、言語モデルがノートブックコンテンツを理解し、支援しやすくなります。

三点メニューまたは出力を右クリックして利用できるセル出力をチャットに追加アクションを使用します。

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

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

アクセシビリティ

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

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

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

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

VS Codeは、AI生成の編集を保持または元に戻した場合に聴覚信号を提供するようになりました。これらの信号は、accessibility.signals.editsKeptaccessibility.signals.editsUndoneで設定できます。

提案コントロールのARIAラベルの改善

提案コントロールアイテムのARIAラベルに、提案のタイプ (例: メソッド、変数) など、より豊富で記述的な情報が含まれるようになりました。この情報は以前はアイコンを介して視覚ユーザーのみが利用可能でした。

ソース管理

参照ピッカーの改善

設定: git.showReferenceDetails

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

git.showReferenceDetails設定を切り替えることで、追加情報を非表示にできます。

Screenshot of the source control references picker showing a list of git branches with details of the last commit, and ahead/behind information.

リポジトリステータスバーアイテム

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

ソースコントロールプロバイダステータスバーアイテムを非表示にするには、ステータスバーを右クリックし、コンテキストメニューからSource Control Providerの選択を解除します。

Screenshot showing the repository status bar item for workspaces that contain more than one repository.

Git blameエディターデコレーションの改善

入力中に「Not Yet Committed」エディターデコレーションがあまり価値がなく、むしろ気が散るというフィードバックがありました。今回のマイルストーンから、「Not Yet Committed」エディターデコレーションは、キーボードまたはマウスを使用してコードベースを移動しているときにのみ表示されるようになりました。

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

今回のマイルストーンでは、コミュニティからの貢献により、ソースコントロール入力ボックスで認識される設定のリストに、editor.cursorStyleおよびeditor.cursorWidth設定が追加されました。

ターミナル

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

エージェントモードがターミナルでコマンドを実行できるようにするツールには、いくつかの信頼性と互換性の改善が施されています。ツールがフリーズしたり、出力が表示されずにコマンドが終了したりするケースが減少すると予想されます。

大きな変更点の1つは、「basic」や「none」とは対照的に、「rich」品質のシェル統合という概念の導入です。VS Codeに同梱されているシェル統合スクリプトは、一般的にすべてリッチシェル統合を有効にするはずで、これによりターミナル実行ツール(および一般的なターミナル使用)で最高の体験を提供します。ターミナルタブにマウスカーソルを合わせると、シェル統合の品質を確認できます。

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

code CLIのIntelliSenseの強化

IntelliSenseがcodecode-insiderscode-tunnel CLIのサブコマンドをサポートするようになりました。たとえば、code tunnelと入力すると、helpkillpruneなどの利用可能なサブコマンドが、それぞれ説明付きで表示されます。

Screenshot of the terminal window, showing code tunnel has been typed. The suggest widget shows subcommands like help, kill, prune, and others, with descriptions for each command.

また、以下のオプションの提案も追加しました。

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

これらは、コマンドを補完するのに役立つインストール済みの拡張機能のリストを表示します。

Screenshot of the VSCode terminal with code --uninstall-extension. A list of available extensions is displayed, including vscode-eslint and editorconfig.

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

Screenshot of the VSCode terminal showing a command input: code --locate-shell-integration-path with a dropdown menu listing shell options bash, fish, pwsh, and zsh.

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

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

以前は、新しいツールの補完はキャッシュのために手動でウィンドウを再読み込みするまで表示されませんでした。

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

ターミナルの提案に、期待されるオプション値に関するコンテキスト情報が表示されるようになり、コマンドの補完がより簡単になりました。

Screenshot of the terminal showing a command in progress: npm install --omit. The terminal suggest widget displays  to indicate that's the option that's expected.

Fishシェルの豊富な補完

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

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

Screenshot of the Visual Studio Code Terminal with a fish terminal showing a user has typed jobs. The suggest widget shown provides information about the jobs command with detailed usage examples and options.

提案におけるファイルタイプアイコン

ターミナルでの提案に、異なるファイルタイプを示す特定のアイコンが含まれるようになり、スクリプトとバイナリを視覚的に区別しやすくなりました。

Screenshot of the terminal, showing suggestions for various script files, including code.sh, code-cli.sh, and code-server.js. Icons indicate the specific file type.

インライン提案の詳細

ターミナルにゴーストテキストとして表示されるインライン提案は、引き続き提案リストの最上部に表示されます。このリリースでは、これらのエントリにコマンド詳細を追加し、承諾する前により多くのコンテキストを提供します。

Screenshot of the terminal, showing the Block command as ghost text in the terminal. The first suggestion is block and it contains usage information.

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

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

Screenshot of the simple hover showing the terminal name, PID, command line, shell integration quality and actions

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

Screenshot of the detailed hover showing extensions that contribute to the environment and detailed shell integration diagnostics

署名付きPowerShellシェル統合

シェル統合のPowerShellスクリプトが署名されるようになり、デフォルトのPowerShell実行ポリシーRemoteSignedを使用しているWindowsでのシェル統合が自動的に機能するはずです。シェル統合の利点はこちらで詳しく読むことができます。

ターミナルシェルタイプ

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

識別可能なすべてのシェルは現在こちらにリストされています。

リモート開発

Linuxレガシーサーバーのサポート終了

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

Enterprise

macOSデバイス管理

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

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

拡張機能への貢献

Python

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

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

この機能はpython.analysis.enableEditableInstallsを介して有効になり、今月中にデフォルトの体験として展開を開始する予定です。何か問題が発生した場合は、Pylance GitHubリポジトリで報告してください。

Pylanceによるより高速で信頼性の高い診断体験 (実験的)

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

展開を待たずに使用したい場合は、python.analysis.usePullDiagnosticsを設定できます。何か問題が発生した場合は、Pylance GitHubリポジトリで報告してください。

PylanceカスタムNode.js引数

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

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

拡張機能作成

Terminal.shellIntegration の微調整

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

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

提案されたAPI

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

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

LLMに画像を送信

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

使用例を確認し、このAPIのステータスに関する最新情報を得るには、このAPI提案の課題をご覧ください。

エンジニアリング

Marketplaceからの新しい/latest APIを使用して拡張機能のアップデートを確認

数マイルストーン前、拡張機能のアップデートを確認するための新しいAPIエンドポイントをvscode-unpkgサービスで導入しました。Marketplaceは現在同じエンドポイントをサポートしており、VS Codeはこのエンドポイントを使用して拡張機能のアップデートを確認しています。これは実験的な機能であり、段階的にユーザーに展開されます。

ありがとうございます

最後に、VS Codeの貢献者の皆様に心からの感謝を申し上げます。

問題追跡

問題追跡への貢献者

プルリクエスト

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への貢献

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