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

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月リリースへようこそ。このバージョンには、皆さまに喜んでいただける多くの更新が含まれています。主なハイライトは以下の通りです。

  • エージェントモード

    • AgentモードがVS Code Stableで利用可能になりました。 chat.agent.enabled VS Codeで開く VS Code Insidersで開く This setting is managed at the organization level. Contact your administrator to change it.を設定して有効にしてください (詳細...)。
    • Model Context Protocol (MCP)サーバーツールでAgentモードを拡張 (詳細...)。
    • Agentモードの新しい組み込みツール(Webコンテンツの取得、シンボル参照の検索、ディープシンキングなど)を試す (詳細...)。
  • コード編集

    • Next Edit Suggestionsが一般提供開始となりました (詳細...)。
    • AIによる編集適用中に発生する診断イベントなどの煩わしさを軽減 (詳細...)。
  • チャット

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

    • EditモードとAgentモードのサポートにより、コードファイルと同じくらい簡単にノートブックを作成・編集可能 (詳細...)。

これらのリリースノートをオンラインで読みたい場合は、code.visualstudio.comUpdates を参照してください。Insiders: 新機能をいち早く試したいですか?ナイトリービルドのInsiders をダウンロードして、最新のアップデートをいち早く試すことができます。

チャット

AgentモードがVS Code Stableで利用可能に

設定: chat.agent.enabled VS Codeで開く VS Code Insidersで開く This setting is managed at the organization level. Contact your administrator to change it.

AgentモードがVS Code Stableで利用可能になったことをお知らせします! chat.agent.enabled VS Codeで開く VS Code Insidersで開く This setting is managed at the organization level. Contact your administrator to change it.を設定して有効にしてください。設定が表示されない場合は、VS Codeをリロードしてください。今後数週間かけて全ユーザーに対してデフォルトで有効化されるため、この設定を行う必要はなくなる予定です。

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

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

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

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

MCPサーバーは、ユーザー設定、リモート設定、.code-workspace設定、またはワークスペース内の.vscode/mcp.jsonにあるmcpセクションで設定できます。構成では入力変数がサポートされており、シークレットや定数のハードコーディングを回避できます。例えば、${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 VS Codeで開く VS Code Insidersで開く で切り替え可能です。

MCP: List ServersコマンドでMCPサーバーの一覧と現在の状態を確認し、AgentモードのSelect Toolsボタンからチャットで使用可能なツールを選択できます。

MCPサーバーのインストールと使用方法については、当社のドキュメントをご覧ください。

Agentモードツール

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

Thinkingツール (実験的)

設定: github.copilot.chat.agent.thinkingTool VS Codeで開く VS Code Insidersで開く

Anthropicの研究に着想を得て、AgentモードにThinking(思考)ツールを追加しました。これにより、あらゆるモデルがツール呼び出しの間に思考する機会を得られます。これは、製品内での複雑なタスクやSWE-bench評価におけるエージェントのパフォーマンスを向上させます。

Fetchツール

公開されているWebページの内容をプロンプトに含めるには、#fetchツールを使用します。例えば、MCPのようなトピックに関する最新のドキュメントを含めたい場合、完全なドキュメント(LLMが消費しやすい形式になっています)をフェッチするように依頼し、それをプロンプトで使用できます。動作のイメージ動画はこちらです。

Agentモードではこのツールは自動的に選択されますが、他のモードでも#fetchと取得したいURLを指定することで明示的に参照できます。

このツールはヘッドレスブラウザウィンドウでWebページをレンダリングし、そのページのデータをローカルにキャッシュします。そのため、再レンダリングのオーバーヘッドなしに、何度もモデルに内容の取得を依頼できます。

#fetchツールの使用感や、追加してほしい機能があればぜひお聞かせください!

Fetchツールの制限

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

Usagesツール

#usagesツールは、「Find All References(すべての参照の検索)」、「Find Implementation(実装の検索)」、「Go to Definition(定義へ移動)」を組み合わせたものです。このツールは、チャットが関数、クラス、インターフェイスについて詳細を学習するのを助けます。例えば、チャットはこのツールを使用して、インターフェイスのサンプル実装を探したり、リファクタリング時に変更が必要なすべての場所を見つけるために使用できます。

Agentモードではこのツールは自動的に選択されますが、#usagesを通じて明示的に参照することもできます。

Agentモードで新しいワークスペースを作成 (実験的)

設定: github.copilot.chat.newWorkspaceCreation.enabled VS Codeで開く VS Code Insidersで開く

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

AgentモードにおけるVS Code拡張機能ツール

数ヶ月前、私たちはVS Code拡張機能によって提供される言語モデルツール向けの拡張機能APIを完成させました。これで、Agentモードでこれらのツールを使用できます。

このAPIに提供され、構成でtoolReferenceNamecanBeReferencedInPromptを設定しているツールは、自動的にAgentモードで利用可能になります。

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

MCPサーバーからのツールと同様に、AgentモードのSelect Toolsボタンでこれらを有効/無効にできます。独自のツールを作成するには、言語モデルツール拡張機能ガイドをご覧ください!

Agentモードのツール承認

ユーザープロンプトのタスクを完了する一環として、Agentモードはツールやターミナルコマンドを実行できます。これは強力ですが、リスクも伴います。そのため、Agentモードではツールやターミナルコマンドの使用を承認する必要があります。

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

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

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

将来的には、この設定をより粒度の細かい機能へと拡張する予定です。

SWE-benchでのAgent評価

VS CodeのAgentは、Claude 3.7 Sonnetを使用し、SWE-bench環境でユーザー入力なしに実行するようにエージェントを構成したAnthropicの研究に従い、swebench-verifiedで56.0%の通過率を達成しました。私たちの実験は、プロンプト、ツール説明、Agentモードのツールデザインの改善につながり、Claude 3.5および3.7 Sonnetモデル向けに配布可能な新しいファイル編集ツールなどが含まれています。

統合チャットビュー

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

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

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

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

チャット体験をシンプルにするだけでなく、この統合により、AIを活用したコード編集にいくつかの新機能が加わります。

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

Bring Your Own Key (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 VS Codeで開く VS Code Insidersで開く

chat.promptFilesLocations VS Codeで開く VS Code Insidersで開く 設定で、ファイルパス内の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のチャット体験を、単一の統合Chatビューに合理化しました。別々のビューの間を移動して会話のコンテキストを失う代わりに、異なるチャットモード間を簡単に切り替えることができるようになりました。

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

シナリオに応じてこれらのモードのいずれかを使用し、会話の途中で自由に変更してください。

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

統合チャットビューの詳細を取得してください。

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

リモートワークスペースインデックスは、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 VS Codeで開く VS Code Insidersで開く

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

この体験を自分で確認したい場合は、 chat.setupFromDialog VS Codeで開く VS Code Insidersで開く 設定を有効にしてください。

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

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 VS Codeで開く VS Code Insidersで開く

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

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

設定エディタ検索の更新

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

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

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

設定: window.controlsStyle VS Codeで開く VS Code Insidersで開く

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

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

コード編集

Next Edit Suggestionsの一般提供開始

設定: github.copilot.nextEditSuggestions.enabled VS Codeで開く VS Code Insidersで開く

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

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

AI編集の改善

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

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

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

ツールベースのEditモード

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

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

欠点は、この新しいモードはAgentモードが動作するのと同じ縮小されたモデルセット(具体的にはツール呼び出しをサポートし、ツールが関与する場合に良いエクスペリエンスが得られることが確認されているモデル)でのみ動作することです。Editモードのリストからo3-miniClaude 3.7 (Thinking)のようなモデルが消えていることに気づくかもしれません。編集にそれらのモデルを使用し続けたい場合は、 chat.edits2.enabled VS Codeで開く VS Code Insidersで開く 設定を無効にして、以前のEditモードに戻してください。モードを切り替える際にセッションをクリアするように求められます。

ツールを使用する場合、異なるモデル間で一貫した結果を得るためのプロンプト作成がより困難であることを学習しましたが、Edit(およびAgent)モードでこれらのモデルが使用できるように取り組んでいます。

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

インライン提案の構文強調表示

設定: editor.inlineSuggest.syntaxHighlightingEnabled VS Codeで開く VS Code Insidersで開く

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

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

構文強調表示なしのインライン提案を好む場合は、 editor.inlineSuggest.syntaxHighlightingEnabled VS Codeで開く VS Code Insidersで開く で無効にできます。

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

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

設定: editor.experimental.preferTreeSitter.css VS Codeで開く VS Code Insidersで開く および editor.experimental.preferTreeSitter.regex VS Codeで開く VS Code Insidersで開く

構文強調表示にTree-Sitterを使用するための以前の取り組みを基に、CSSファイルおよびTypeScript内の正規表現に対する実験的なTree-Sitterベースの構文強調表示をサポートしました。

ノートブック

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

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

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

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

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

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

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

AgentモードまたはEditモードで新しいノートブックツールを使用してください( chat.edits2.enabled VS Codeで開く VS Code Insidersで開く で改善されたEditモードを有効にすることを忘れないでください)。Askモードを使用している場合は、チャットプロンプトで/newNotebookと入力して新しいノートブックを作成してください。

AI編集のナビゲート

差分ツールバーを使用して、セル全体のAI編集を反復処理し、レビューします。

AI編集の取り消し

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

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

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

三点リーダーメニュー、または出力を右クリックして利用できるAdd cell output to chatアクションを使用してください。

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

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

アクセシビリティ

チャットAgentモードの改善

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

さらに、Agentモードで新しいアクセシビリティヘルプダイアログが利用可能になり、機能から期待できることや、効果的なナビゲート方法が説明されています。

チャット編集アクションのアクセシビリティ信号

VS Codeは、AIが生成した編集を保持または元に戻す際に、聴覚信号を提供するようになりました。これらの信号は accessibility.signals.editsKept VS Codeで開く VS Code Insidersで開く および accessibility.signals.editsUndone VS Codeで開く VS Code Insidersで開く で構成可能です。

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

提案コントロール項目のARIAラベルには、提案の種類(例:メソッド、変数)などの、より豊かで説明的な情報が含まれるようになりました。この情報は以前はアイコンを介して視覚ユーザーにのみ提供されていました。

ソース管理

参照ピッカーの改善

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

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

git.showReferenceDetails VS Codeで開く VS Code Insidersで開く 設定を切り替えて、追加情報を非表示にします。

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 VS Codeで開く VS Code Insidersで開く および editor.cursorWidth VS Codeで開く VS Code Insidersで開く 設定が、ソース管理入力ボックスで有効になりました。

ターミナル

Agentモードにおける信頼性

Agentモードがターミナルでコマンドを実行できるようにするツールは、多くの信頼性と互換性の改善が行われました。ツールがスタックしたり、コマンドが完了しても出力が表示されないケースは減少するはずです。

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

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

code CLI向けの強化されたIntelliSense

IntelliSenseは、codecode-insiders、およびcode-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

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

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

署名済みPowerShellシェル統合

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

ターミナルシェルタイプ

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

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

リモート開発

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

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

エンタープライズ

macOSデバイス管理

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

詳細については、Enterprise Supportドキュメントを参照してください。

拡張機能への貢献

Python

Pylanceでの編集可能なインストールに対するサポートの向上

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

この機能は python.analysis.enableEditableInstalls VS Codeで開く VS Code Insidersで開く を介して有効になり、今月を通してデフォルトのエクスペリエンスとして展開を開始する予定です。問題が発生した場合は、Pylance GitHubリポジトリに報告してください。

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

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

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

PylanceカスタムNode.js引数

新しい python.analysis.nodeArguments VS Codeで開く VS Code Insidersで開く 設定があり、 python.analysis.nodeExecutable VS Codeで開く VS Code Insidersで開く を使用するときに、カスタム引数をNode.jsに直接渡すことができます。デフォルトでは"--max-old-space-size=8192"に設定されていますが、必要に応じて変更できます(例:大規模なワークスペースで作業する際に、Node.jsにより多くのメモリを割り当てるなど)。

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

拡張機能の作成

Terminal.shellIntegrationの調整

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

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

提案API

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

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

画像をLLMに送信

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

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

エンジニアリング

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

2つ前のマイルストーンで、拡張機能の更新を確認するためにvscode-unpkgサービスに新しいAPIエンドポイントを導入しました。マーケットプレイスも同じエンドポイントをサポートし、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.