まえがき
VSCode1.101のリリースノートをChatGPTで日本語に翻訳しました。
VSCode 1.101 Release Notes
最新のVSCode1.102のリリースノートの日本語訳は下記をお読みください。
VSCode1.102のリリースノート(日本語訳)
2025年5月 (バージョン 1.101)
リリース日: 2025年6月12日
セキュリティ更新: 以下の拡張機能にセキュリティ更新があります: ms-python.python
。
更新 1.101.1: この更新はこれらの問題
に対処しています。
更新 1.101.2: この更新はこれらの問題
に対処しています。
Visual Studio Codeの2025年5月リリースへようこそ。このバージョンには多くの更新があり、いくつかの主要なハイライトを以下に示します。
MCP
プロンプト、リソース、サンプリングのサポートでエージェントコーディングフローを拡張します(詳細…
)。
認証が必要なMCPサーバーにアクセスします(詳細…
)。
開発モードでMCPサーバーをデバッグします(詳細…
)。
拡張機能からMCPサーバーを公開します(詳細…
)。
Chat
関連するツールをツールセットにまとめてグループ化および管理します(詳細… )。
Source Control
ソースコントロールグラフビューでファイルを表示します(詳細…
)。
GitHub Copilot Coding Agentの作業をVS Code内から割り当てて追跡します(詳細…
)。
Chat
チャットツールセット
VS Codeでは、提案されたAPIまたはUIを通じてツールセットを定義できるようになりました。ツールセットは、個々のツールと同様に使用できる異なるツールのコレクションです。ツールセットを使用すると、関連するツールをグループ化し、エージェントモードで迅速に有効または無効にすることが容易になります。たとえば、以下のツールセットはGitHub通知を管理するためのものです(GitHub MCPサーバー を使用)。
|
|
ツールセットを作成するには、コマンドパレットからConfigure Tool Sets > Create new tool sets file
コマンドを実行します。その後、ツールセットに含めたいツールを選択し、説明とアイコンを提供します。
チャットクエリでツールセットを使用するには、その名前を#
で参照します。チャット入力ボックスのツールピッカーからも選択できます。
ツールセットについての詳細は、ドキュメント をご覧ください。
プロンプトのためのMCPサポート
VS CodeのModel Context Protocol
サポートには、プロンプトサポートが含まれるようになりました。プロンプトは、MCPサーバーによって定義され、言語モデルの再利用可能なスニペットやタスクを生成します。プロンプトは、チャット内でスラッシュ/
コマンドとしてアクセスでき、形式は/mcp.servername.promptname
です。プロンプト変数にはプレーンテキストを入力するか、コマンド出力を含めることができ、サーバーが提供する場合は補完もサポートしています。
以下の例は、AIを使用してプロンプトを生成し、Gistpad MCPサーバー
を使用して保存し、変更履歴エントリを生成する方法を示しています。
リソースのためのMCPサポート
VS CodeのModel Context Protocol
サポートには、リソーステンプレートのサポートを含むリソースサポートが含まれるようになりました。これはいくつかの場所で利用可能です。
MCPツール呼び出しから返されたリソースはモデルに利用可能で、保存ボタンを介して、またはリソースをエクスプローラービューにドラッグすることでチャットに保存できます。
リソースは、チャット内のAdd Context...
ボタンを介してコンテキストとして添付でき、その後MCP Resources...
を選択します。MCP: Browse Resources
コマンドを使用してサーバー全体のリソースを閲覧および表示するか、MCP: List Servers
コマンドのエントリでサーバーごとに表示できます。
サンプリングのためのMCPサポート(実験的)
VS CodeのModel Context Protocol
サポートには、サンプリングが含まれるようになりました。これにより、MCPサーバーがモデルにリクエストを戻すことができます。MCPサーバーがサンプリングリクエストを初めて行うときに確認を求められ、MCPサーバーがアクセスできるモデルを設定したり、MCP: List Servers
でサーバーを選択してリクエストログを表示したりできます。
サンプリングサポートはまだ初期段階であり、将来的な反復で拡張および改善する予定です。
認証のためのMCPサポート
VS Codeは、認証が必要なMCPサーバーをサポートするようになり、そのサービスのユーザーアカウントに代わって動作するMCPサーバーと対話できます。
この機能は、クライアント用のMCP認証仕様を実装し、以下の両方をサポートします。
2025-3-26 spec
、MCPサーバーが認証サーバーとして動作する場合。
Draft spec
、MCPサーバーがリソースサーバーとして動作する場合(これは近日中に最終化される予定です)。
MCPサーバーがドラフト仕様を実装し、GitHubまたはEntraを認証サーバーとして利用する場合、どのMCPサーバーがアカウントにアクセスできるかを管理できます。
また、どのアカウントをそのサーバーが使用するべきかを管理することもできます(前のクイックピックのギアボタンを介して)。
動的クライアント登録に依存する他のMCPサーバーの場合、認証状態を他のすべてと同じ場所に含めています。たとえば、Linearの場合です。
そこではサインアウトもできます。これらには、コード認証フローだけでなく、認証サーバーがサポートしている場合はデバイスコードフローもサポートしています。
また、Authentication: Remove Dynamic Authentication Providers
コマンドを導入し、これらの動的クライアント登録をクリーンアップできるようにしました。これにより、VS Codeに発行されたクライアントIDとこの認証プロバイダーに関連するすべてのデータが破棄されます。
MCPサーバーを追加するには、MCP: Add Server...
コマンドを使用できます。これは、認証が必要なサーバーのエントリポイントと同じです。
MCP開発モード
MCPサーバーの開発モードを有効にするには、サーバー構成にdev
キーを追加します。これは、2つのプロパティを持つオブジェクトです。
watch
: MCPサーバーを再起動するためにファイル変更を監視するファイルグロブパターン。debug
: MCPサーバーでデバッガーをセットアップできるようにします。現在、node
とpython
で起動されたNode.jsおよびPythonサーバーのデバッグのみをサポートしています。
|
|
チャットUXの改善
VS Codeでのチャットユーザーエクスペリエンスを改善するために、継続的に取り組んでいます。ユーザーからのフィードバックの1つは、チャット内でユーザーメッセージとAI応答を区別するのが難しいというものでした。これに対処するために、ユーザーメッセージの外観をより明確にしました。
以前のリクエストを元に戻すことも、より目立つようになりました。リクエストにカーソルを合わせてX
ボタンを選択すると、そのリクエストとそれに続くリクエストを元に戻すことができます。さらに迅速に行うには、Delete
キーボードショートカットを使用してください!
最後に、チャット入力ボックスからの添付ファイルがよりナビゲートしやすくなりました。
VS Codeでのチャットの使用 についての詳細は、ドキュメントをご覧ください。
編集をより効率的に適用する
ファイルを編集する際、VS Codeは2つの異なるアプローチを取ることができます: ファイル全体を上から下まで書き換えるか、複数の小さな編集を行うかです。両方のアプローチは異なります。たとえば、前者は大きなファイルに対して遅くなることがあり、中間状態が正常にコンパイルされないことがよくあります。そのため、UIは適応し、必要に応じて自動保存と波線を条件付きで無効にします。
また、Keep
とUndo
コマンドのキーバインディングを整列させました。個々の変更を保持および元に戻すことは、Ctrl+Y
とCtrl+N
で行われるようになりました。同様に、ファイル内のすべての変更を保持および元に戻すためのキーバインディングも整列させ、Ctrl+Shift+Y
とCtrl+Shift+N
になりました。これは単なる整列のためだけでなく、人気のある編集コマンド(Delete All Left
など)との以前の競合を解消するためでもあります。
暗黙のコンテキスト
チャットで現在のファイルをコンテキストとして追加する方法を簡素化しました。以前の「目玉トグル」は少し不格好だと感じる人が多かったです。現在、現在のファイルは提案されたコンテキストアイテムとして提供されます。アイテムを選択するだけで、チャットコンテキストに追加または削除できます。プロンプト入力フィールドから、Shift+Tab
、Enter
を押して、キーボードでこれを迅速に行うことができます。
さらに、エージェントモードでは、現在のエディタに関するヒントを含めています。これにはファイルの内容は含まれず、ファイル名とカーソル位置のみが含まれます。エージェントは、クエリに関連があると考えた場合に、ファイルの内容を自分で読み取るためのツールを使用できます。
チャットでのコンテキストの追加 についての詳細は、ドキュメントをご覧ください。
タスク構成エラーの修正
タスクと問題マッチャーの構成は難しいことがあります。タスク構成にエラーがある場合に提供されるFix with Github Copilot
アクションを使用して、それらを迅速かつ効率的に解決します。
カスタムチャットモード(プレビュー)
デフォルトでは、チャットビューは3つの組み込みチャットモードをサポートしています: Ask
、Edit
、Agent
。各チャットモードには、LLMがリクエストをどのように処理するかを説明する一連の基本指示と、そのために使用できるツールのリストが付属しています。
現在、チャットビューで使用できる独自のカスタムチャットモードを定義できます。カスタムチャットモードを使用すると、チャットの動作を調整し、そのモードで利用可能なツールを指定できます。これは、特定のワークフローに特に役立ちます。また、LLMに特定の指示を提供したい場合にも役立ちます。たとえば、新機能の計画を立てるためのカスタムチャットモードを作成し、コードベースへの読み取り専用アクセスのみを持たせることができます。
カスタムチャットモードを定義して使用するには、次の手順に従います。
コマンドパレットからChat: Configure Chat Modes
コマンドを使用してカスタムモードを定義します。
作成された*.chatprompt.md
ファイルにカスタムチャットモードの指示と利用可能なツールを提供します。
チャットビューで、チャットモードドロップダウンリストからチャットモードを選択します。
チャットプロンプトを送信します。
以下の例は、カスタム「Planning」チャットモードを示しています:
|
|
注意: この機能は進行中ですが、ぜひお試しください!VS Code Insidersで最新の進捗をフォローし、動作しない点や不足している点をお知らせください。
タスク診断の認識
チャットエージェントがタスクを実行する際、問題マッチャーによって特定されたエラーや警告を認識するようになりました。この診断コンテキストにより、チャットエージェントは発生する問題に対してよりインテリジェントに対応できます。
ターミナルのcwd
コンテキスト
エージェントモードでターミナルが開かれ、シェル統合がアクティブな場合、チャットエージェントは現在の作業ディレクトリ(cwd
)を認識します。これにより、より正確でコンテキストに基づいたコマンドサポートが可能になります。
浮動ウィンドウの改善
チャットセッションを浮動ウィンドウに移動すると、タイトルバーに2つの新しいアクションが利用可能になりました:
チャットを元のVS Codeウィンドウに戻す
浮動ウィンドウで新しいチャットセッションを開始する
フェッチツールの確認
フェッチツールを使用すると、ウェブページから情報を取得できます。確認に警告メッセージを追加し、プロンプトインジェクションの可能性について通知します。
より多くの組み込みツールのカスタマイズ
エージェントモードまたはカスタムモードで、すべての組み込みツールを有効または無効にすることが可能になりました。たとえば、editFiles
を無効にして、エージェントモードがファイルを直接編集することを禁止したり、ターミナルコマンドを実行するためのrunCommands
を無効にしたりできます。
エージェントモードでは、Configure Tools
ボタンを選択してツールピッカーを開き、希望するツールセットを選択します。
このメニューのいくつかのエントリは、複数のツールをグループ化するツールセットを表しています。たとえば、モデルにテキストファイルやノートブックを編集または作成するための複数のツールを提供し、モデルファミリーによっても異なる場合があります。editFiles
はこれらすべてをグループ化します。
チャットへの要素の送信(実験的)
前回のマイルストーンでは、新しい実験的機能
を追加し、埋め込みブラウザからチャットにウェブ要素を追加するためにSimple Browser
を開くことができました。
この機能を改善し続ける中で、Live Preview拡張機能 でもウェブ要素の選択をサポートするようになりました。この拡張機能をダウンロードし、任意のHTMLファイルからライブサーバーを起動して試してみてください。
アクセシビリティ
ユーザーアクションが必要な音
チャットがユーザーアクションを必要とする場合に示すアクセシビリティ信号を追加しました。音を微調整しているため、これはオプトインです。この動作は
accessibility.signals.chatUserActionRequired
で設定できます。
新しいコードアクションの音
以下のために異なる音を導入しました:
コードアクションがトリガーされたとき: accessibility.signals.codeActionTriggered
コードアクションが適用されたとき: accessibility.signals.codeActionApplied
エージェントモードのアクセシビリティ改善
確認ダイアログに関する豊富な情報をアクセシブルビューに含めるようになりました。これには、過去のツール実行、現在のツール実行、および保留中の確認が含まれます。使用される入力も含まれます。
確認ダイアログが応答に表示されると、アクションのタイトルが対応するコードブロックのARIAラベル、応答のARIAラベル、およびスクリーンリーダーユーザーにより良いコンテキストを提供するためのライブアラートに含まれるようになりました。
エディターエクスペリエンス
タイプしながら検索
設定: editor.find.findOnType
タイプしながら検索は、検索コントロールのデフォルトの動作でしたが、これを維持するか、Enterキーを押した後にのみ検索を実行するように無効にするかを制御できるようになりました。
ネイティブウィンドウタイトルバーを使用したカスタムメニュー
設定: window.menuStyle
WindowsおよびLinuxでのメニューバーとコンテキストメニュー、およびmacOSでのコンテキストメニューに使用されるメニュースタイルを
window.menuStyle
設定を使用して指定できるようになりました。
native
: OSによってレンダリングされるcustom
: VS Codeによってレンダリングされるinherit
: window.titleBarStyle
で設定されたタイトルバーのスタイルに一致する(ネイティブタイトルバーをカスタムメニューバーとコンテキストメニューで使用できるようにします)。
Linuxネイティブウィンドウコンテキストメニュー
カスタムタイトルバーでアプリケーションアイコンを右クリックしたときに、ネイティブウィンドウコンテキストメニューをサポートするようになりました。
プロセスエクスプローラーのウェブサポート
プロセスエクスプローラーは、エディタウィンドウのワークベンチで持っている浮動ウィンドウインフラストラクチャを使用するように変換されました。その結果、リモートに接続している場合(たとえば、Codespacesで)ウェブでのプロセスエクスプローラーもサポートするようになりました。
Windowsシェル環境の検出
Windows上でのPowerShellのシェル環境検出を実装しました。これにより、VS CodeはPowerShellプロファイルで設定された環境を継承し、Node.jsがさまざまなバージョンマネージャーを通じて構成するPATH
の更新などを含みます。
未公開の拡張機能の警告
インストールされた拡張機能は、マーケットプレイスで利用できなくなったときに警告インジケーターを表示し、未公開または削除された可能性のある問題のある拡張機能を特定するのに役立ちます。
設定検索の提案(プレビュー)
設定: workbench.settings.showAISearchToggle
このマイルストーンでは、設定エディターにトグルを追加し、文字列マッチングに基づく結果ではなく、意味的に類似した結果を見つけるためのAI検索を開始します。たとえば、AI検索は「テキストサイズを増やす」と検索したときにeditor.fontSize
設定を見つけます。
トグルを表示するには、設定を有効にしてVS Codeを再読み込みします。また、いくつかの正確でない設定検索結果を特定して修正するプロセスにあり、自然言語クエリが予想される設定を見つけられなかった場合のフィードバックを歓迎します。
次のマイルストーンでは、トグルを削除し、実験的な設定を、リストの最後に遅いAI検索結果を直接追加するタイミングを制御するものに変更することも検討しています。
検索キーワードの提案(プレビュー)
設定: search.searchView.keywordSuggestions
前回のマイルストーンでは、キーワードの提案
を検索ビューに導入し、関連する結果をより迅速に見つけるのに役立ちました。提案のパフォーマンスを大幅に改善し、結果を以前の約5倍の速さで表示できるようになりました。
また、設定をチャット拡張機能からVS Codeコアに移動し、名前をgithub.copilot.chat.search.keywordSuggestions
から
search.searchView.keywordSuggestions
に変更しました。
セマンティック検索の動作オプション(プレビュー)
設定: search.searchView.semanticSearchBehavior
検索ビューでのセマンティック検索を使用すると、単なるテキストの一致ではなく、クエリの意味に基づいた結果を得ることができます。これは、正確な検索用語がわからない場合に特に役立ちます。
デフォルトでは、セマンティック検索は明示的に要求された場合にのみ実行されます。セマンティック検索をトリガーするタイミングを制御する設定を追加しました。
manual
(デフォルト): UIから手動でトリガーされた場合にのみセマンティック検索を実行runOnEmpty
: テキスト検索が結果を返さない場合に自動的にセマンティック検索を実行auto
: すべての検索クエリに対してテキスト検索と並行して常にセマンティック検索を実行
編集コンテキスト
設定: editor.experimentalEditContextEnabled
※将来的には
editor.editContext
に変更予定
editor.experimentalEditContextEnabled
設定をStableでデフォルトで有効にしました。これにより、エディタの入力がEditContext API
によって強化されるようになりました。これにより、特にIMEエクスペリエンスに関連する多くのバグが修正され、今後、エディタ内でより多様で堅牢な入力エクスペリエンスへの道が開かれます。EditContext API
の詳細については、MDNドキュメント
をご覧ください。
コード編集
NESインポートの提案
設定: github.copilot.nextEditSuggestions.fixes
先月、次の編集提案のサポートを導入し、TypeScriptおよびJavaScriptの欠落しているインポート文を自動的に提案しました。このリリースでは、これらの提案の精度と信頼性を向上させ、Pythonファイルへのサポートを拡張しました。
NESはすべてのVS Code Insidersユーザーに対して有効になっており、6月中にStableユーザーに対して段階的にデフォルトで有効にされます。いつでも設定を通じてNESを有効にすることができます。
NES受け入れフロー
次の編集提案を受け入れることが、改善されたキーボードナビゲーションでよりシームレスになりました。提案を受け入れると、再度入力を開始しない限り、Tab
キーを1回押すだけで次の提案を受け入れ続けることができます。入力を開始すると、次の提案にカーソルを移動するためにまずTab
キーを押してから受け入れることができます。
ノートブック
エージェントセル実行のフォローモード
設定: github.copilot.chat.notebook.followCellExecution.enabled
フォローモードを使用すると、ノートブックビューがエージェントによって現在実行されているセルに自動的にスクロールします。
github.copilot.chat.notebook.followCellExecution.enabled
設定を使用して、Jupyterノートブックでのエージェントセル実行のフォローモードを有効または無効にします。
エージェントがセル実行ツールを使用すると、ノートブックツールバーがピンアイコンで更新され、フォローモードの状態を示します。基本設定値を変更せずに、エージェントの作業をリアルタイムでフォローし、エージェントが反復を続ける間に特定のコード部分を確認したいときにオフに切り替えることができます。再度フォローしたい場合は、モードを切り替えて次の実行に参加してください。
エージェントモードのノートブックツール
ノートブックの構成
Jupyter拡張機能
は、Jupyterノートブックのカーネルを構成するためのツールを提供します。このツールは、カーネルが選択され、ノートブックで使用する準備が整っていることを確認します。
必要に応じて仮想環境を作成するプロセスを案内する(推奨アプローチ)、または既存のPython環境を選択するように促します。
このツールは、LLMが最小限のユーザー操作でセルを実行するなどの操作をノートブックで実行できるようにし、エージェントモードでの全体的なユーザーエクスペリエンスを向上させます。
長時間実行エージェントワークフロー
エージェントは、正確なコンテキストで軌道を維持するために内部ノートブックサマリーツールにアクセスできます。そのサマリーは、コンテキストが大きすぎてエージェントが複雑な操作を続けることができない場合に、会話履歴を要約する際にも含まれます。
実行確認でのセルプレビュー
エージェントがそのセルを実行するための確認を要求するときに、ノートブックセルからのコードのスニペットが表示されます。チャットビューのセルリンクは、ノートブック内のセルに直接移動できるようになりました。
ソースコントロール
Copilotコーディングエージェントの統合
Copilotコーディングエージェントを使用すると、GitHub Copilotが独立してバックグラウンドでタスクを完了でき、人間の開発者のように動作します。VS Code内からエージェントのタスクを割り当てて追跡しやすくするために、GitHub Pull Requests拡張機能を拡張しました。
拡張機能に以下の機能を追加しました:
Copilotに割り当てる: VS Codeの問題またはPRビューからCopilotにプルリクエストまたは問題を割り当てます。
Copilot on My Behalf PRクエリ: Copilotがあなたのために作業しているすべてのプルリクエストをすばやく確認します。
PRビュー: Copilotコーディングエージェントのステータスを確認し、ブラウザでセッションの詳細を開きます。
ソースコントロール履歴アイテムの詳細
人気の要望に応じて、ソースコントロールグラフビューでアイテムを選択すると、その履歴アイテムのリソースが表示されるようになりました。…メニューからツリービューまたはリストビューの表現を選択できます。
履歴アイテムのすべてのリソースをマルチファイル差分エディタで開くには、ホバー時にOpen Changes
アクションを使用します。グラフビューから特定のリソースを選択すると、そのリソースの差分エディタのみが開きます。特定のバージョンのファイルを開くには、Open File
アクションを選択します。
チャットコンテキストへの履歴アイテムの追加
ソースコントロール履歴アイテムをチャットリクエストのコンテキストとして追加できるようになりました。特定のコミットまたはプルリクエストの内容をチャットプロンプトのコンテキストとして提供したい場合に便利です。
履歴アイテムをチャットに追加するには、チャットビューからAdd Context > Source Control
を使用し、特定の履歴アイテムを選択します。あるいは、ソースコントロールグラフで履歴アイテムを右クリックし、コンテキストメニューからCopilot > Add History Item to Chat
を選択します。
タスク
インスタンスポリシー
Task runOptions
にはinstancePolicy
プロパティが追加され、タスクがinstanceLimit
に達したときに何が起こるかを決定します。
オプションには、prompt
(デフォルト)、silent
、terminateNewest
、terminateOldest
、warn
があります。
ターミナル
言語サーバーベースのターミナル提案
言語サーバー補完がインタラクティブなPython REPLセッションのためにターミナルで利用可能になりました。
これにより、エディタで受け取るのと同じ言語補完がターミナル内で利用できるようになります。
PythonをPylance
を介してサポートすることから始め、将来的には他の言語にも拡張する予定です。
試してみるには、以下の設定が有効になっていることを確認してください:
terminal.integrated.shellIntegration.enabled
python.terminal.shellIntegration.enabled
terminal.integrated.suggest.enabled
python.analysis.supportAllPythonDocuments
リモート開発
リモート開発拡張機能
を使用すると、Dev Container
、SSH経由のリモートマシンまたはRemote Tunnels
、またはWindows Subsystem for Linux
(WSL)をフル機能の開発環境として使用できます。
ハイライトには以下が含まれます:
SSH事前接続スクリプト
リモートエクスプローラーの改善
これらの機能についての詳細は、リモート開発リリースノート をご覧ください。
拡張機能への貢献
Python
Pythonチャットツール
Python拡張機能
には、次のチャットツールが含まれるようになりました: 「Python環境の情報を取得」、「Python環境の実行可能情報を取得」、「Pythonパッケージをインストール」、「Python環境を構成」。プロンプトで#getPythonEnvironmentInfo
や#installPythonPackage
を追加して直接参照するか、エージェントモードが適用されるツールを自動的に呼び出します。これらのツールは、ファイルまたはワークスペースコンテキストに基づいて適切な環境情報をシームレスに検出し、正確な環境解決でパッケージのインストールを処理します。
「Python環境を構成」ツールは、ワークスペースのPython環境が正しく設定されていることを確認します。必要に応じて仮想環境を作成し、それをワークスペースのアクティブなPython環境として選択します。
以前にPython Environments
拡張機能(プレビュー)で導入されたツールはPython拡張機能に移行され、Python拡張機能をインストールしているすべてのユーザーがこれらのツールを利用できるようになりました。
テンプレートからプロジェクトを作成
Python Environments拡張機能
は、Pythonパッケージと基本的なスクリプトのプロジェクト作成をサポートし、スキャフォールディングをバイパスしてより迅速にコーディングを開始できるようになりました。Python Envs: Create Project from Template
コマンドを使用して、パッケージまたはスクリプトを作成するかどうかを選択します。
パッケージ作成の場合、パッケージに名前を付け、仮想環境を作成し、テストサブフォルダー、pyproject.toml
、dev-requirements.txt
、およびボイラープレート__main__.py
と__init__.py
ファイルを含むスキャフォールディングされたプロジェクトを受け取ります。
スクリプトの場合、選択した名前の新しいPythonファイルを作成し、ボイラープレートコードを含めます。
PyEnvとPoetryのサポート
Python Environments
拡張機能に、環境管理のためのpyenv
と、パッケージおよび環境管理のためのpoetry
のサポートを追加しました。
GitHub Pull Requests
GitHub Pull Requests 拡張機能の進展があり、プルリクエストや問題の作成、管理が可能になりました。新機能には以下が含まれます:
プライベートリポジトリからのコメント内の画像がプルリクエストファイルコメントに表示されるようになりました。
「通知」ビューがデフォルトで表示され、折りたたまれています。
タイムライン内の問題およびプルリクエストリンクがブラウザに移動するのではなく、VS Codeで開かれるようになりました。
「Pull Requests」ビューの「Assigned to Me」クエリが削除され、「Local Pull Request Branches」と「All Open」クエリはgithubPullRequests.queries
設定を使用して削除できます。Copilotを持つリポジトリでは、設定が未構成の場合に「Copilot on My Behalf」クエリが追加されます。
Copilotの「作業開始」、「作業停止」、および「セッション表示」がタイムラインに表示されるようになりました。
拡張機能の0.112.0リリースの変更ログ を確認して、他のハイライトを学んでください。
拡張機能の作成
MCP拡張API
拡張機能は、MCPサーバーのコレクションを公開できるようになりました。これにより、拡張機能とMCPサーバーをバンドルしたり、他のソースからMCPサーバーを動的に検出する拡張機能を構築したりできます。詳細は、MCP拡張開発ガイド またはMCP拡張サンプル をご覧ください。
拡張機能のパッケージング時の秘密のスキャン
VSCEは、拡張機能をパッケージングする際に秘密をスキャンするようになりました。ソースファイルに潜在的な秘密(たとえば、APIキー、トークン、資格情報、または.env
のような環境変数ファイル)が検出された場合、VSCEはパッケージングプロセス中にエラーを表示します。これにより、マーケットプレイスに機密情報を誤って公開するのを防ぐことができます。公開する前にエラーを確認し、対処してください。
特定のチェックをバイパスする必要がある場合は、VSCEを実行する際に--allow-package-secrets
または--allow-package-env-file
フラグを使用できます。これらのフラグを使用すると、パッケージング中にスキップする秘密または環境ファイルチェックを設定できます。
ウェブ環境の検出
⚠️ 破壊的変更 ⚠️
設定: extensions.supportNodeGlobalNavigator
Node.js拡張ホストは、Electron 35ランタイムの更新の一環として、v20からv22に更新されました。この更新により、デスクトップおよびリモート拡張ホストでのnavigatorグローバルオブジェクト
のサポートが追加されました。
この変更は、ウェブ環境を検出するためにnavigator
オブジェクトの存在に依存する拡張機能に破壊的変更をもたらす可能性があります。
拡張機能の作成者が移行するのを支援するために、globalThis.navigator
のポリフィルを作成し、未定義に初期化しました。これにより、拡張機能が正しく動作し続けます。ポリフィルは
extensions.supportNodeGlobalNavigator
VS Code設定の背後にあります。デフォルトでは、この設定は無効であり、ポリフィルが有効です。この方法でnavigator
にアクセスしようとしたときに、テレメトリをキャプチャし、エラーをログに記録します(拡張機能開発モードで)。
将来的には、この設定がデフォルトで有効になる可能性があるため、拡張機能の作成者は新しいnavigator
グローバルオブジェクトに互換性のあるコードに移行することをお勧めします。コードを移行するための手順は次のとおりです:
拡張ホストログで、拡張機能から発生するPendingMigrationError
を確認します。typeof navigator === 'object'
のようなチェックを、必要に応じてtypeof process === 'object' && process.versions.node
に移行します。extensions.supportNodeGlobalNavigator
を有効にします。
拡張機能の動作が変更されていないことを確認します。
提案されたAPI
認証プロバイダー: MCPのためのサポートされる認証サーバー
現在、MCP認証でのみ活用されているこのAPI提案により、AuthenticationProvider
がそれに関連付けられた認証サーバーを宣言できるようになります。
たとえば、GitHub認証プロバイダーを見てみると、認証プロバイダーの貢献
のauthorizationServerGlobs
プロパティに典型的なGitHub認証URLが含まれています:
|
|
このプロパティは、拡張機能のアクティベーションに使用されます。要求された認証サーバーが一致する場合、拡張機能がアクティブ化されます。
さらに、認証プロバイダーを登録する際には、最終化された認証サーバーURLグロブを含める必要があります。GitHub認証がここで行っているように:
|
|
より複雑な例として、Microsoft認証を見てみましょう。認証サーバーはパスに配置されたテナントに依存します。このため、貢献 でワイルドカードを使用します:
|
|
そして登録 で:
|
|
その後、認証を要求する際に認証サーバーURLが渡されると、それはすでに存在するAuthenticationProviderSessionOptions
を介してgetSessions
およびcreateSession
関数に渡されます。
前述のように、この機能は現在MCPサポートで使用されており、MCPサーバーから認証するための認証サーバーURLを受け取ります。そのURLは認証プロバイダーにマップされ、存在しない場合は、その認証サーバーのために動的に認証プロバイダーが作成されます。
完全なAPI提案はvscodeリポジトリ
にあり、GitHubの問題
でフィードバックをお待ちしています!
エンジニアリング
Electron 35の更新
このマイルストーンでは、Electron 35の更新をStableリリースのユーザーに提供しています。この更新には、Chromium 134.0.6998.205とNode.js 22.15.1が含まれています。Insidersビルドでセルフホストし、早期フィードバックを提供してくださった皆様に感謝します。
実際の拡張機能でのESMの採用
前回のマイルストーンでは、JavaScriptモジュール(ESM)のサポートを発表しました。これにより、拡張機能がimport
およびexport
ステートメントを使用できるようになりますが、現在はNodeJS拡張ホストをターゲットにしている場合にのみです。
今月、GitHub Issue Notebooks
で実際の採用を行いました。これは簡単ではありません。この拡張機能はNodeJS拡張ホスト(ESM拡張をサポート)とウェブワーカー拡張ホストの両方で実行でき、現在ESM拡張をサポートしていません。これにはより複雑なバンドラー構成が必要であり、そのesbuild-config
からインスピレーションを得ることができます。
注目すべき修正
250077 - Tree-Sitterベースの構文ハイライトがモデルサービスに依存している
貢献者の方への謝辞
最後に、VS Codeの貢献者の皆様に心から感謝します。
問題追跡への貢献
問題追跡への貢献:
@gjsjohnmurray (John Murray)
@albertosantini (Alberto Santini)
@RedCMD (RedCMD)
@IllusionMH (Andrii Dieiev)
プルリクエストへの貢献
vscodeへの貢献:
@alpalla (Alessio Palladino)
: タスクrunOptions
にタスクinstancePolicy
を追加 PR ##117129
@0xEbrahim (Ebrahim El-Sayed)
: タイポと文法の修正 PR #248814
@a-stewart (Anthony Stewart)
: エディタフォントの選択で、OSが検出されない場合はLinuxを仮定 PR #248133
@adnval (kevin)
: インストール済みフィルターを追加 PR #248055
@bhack
: 新しいソース形式と必須の署名を追加 PR #239390
@dylanchu
: TerminalTaskSystem
: nushell
のサポートを追加 PR #238440
@eronnen (Ely Ronnen)
デバッグコンソールの最大行数を設定可能にする PR #245915vscode-logfile-highlighter 3.4.1
からlog tmLanguage
を更新 PR #249046
逆アセンブリビュー: 無効なメモリ命令を表示しない PR #249779
逆アセンブリビュー: デバッグアダプターによって返される負の行の高さを処理する PR #250081
@gabritto (Gabriela Araujo Britto)
: [typescript-language-features]
最大ホバー長の設定を追加 PR #248181
@hickford (M Hickford)
: アクティブな行番号を正しくハイライトする(ワードラップに関係なく) PR #240029
@imfing (Xin)
: 修正: DynamicAuthProvider
の認証URLにスコープパラメータを条件付きで追加 PR #250084
@jeanp413 (Jean Pierre)
タイムラインのGitリクエストがエディタを切り替えるとキャンセルされない問題を修正 PR #244335vscode.env.onDidChangeShell
がウェブワーカー拡張ホストで発火しない問題を修正 PR #249824
リファクタ: チャットリストレンダラーでチャット添付ウィジェットを再利用 PR #248163
修正: チャット添付コンテンツ部分にウィジェットを登録 PR #249054
修正: 履歴チャット添付にコンテンツ参照説明を設定 PR #249112
修正: MCPツール確認にマークダウン文字列を使用 PR #249497
修正: 編集セッションIDプロバイダーが編集セッションペイロードを変更した場合にContinue On
を許可 PR #250057
@JoyceGu (Joyce Gu)
: Joycegu/add genai packages 05222025
PR #249589
@mawosoft (Matthias Wolf)
: 厳密モードが有効な場合のPowerShellシェル統合を修正 PR #248625
@mortalYoung (野迂迂)
: 修正(検索): すべて展開が機能しない問題を修正 PR #248207
@nojaf (Florian Verdonck)
: すべての未使用ポートを閉じるコマンド PR #244245
@nomike (nomike)
: リポジトリの名前変更を処理するためのGitHub公開ロジックを強化 PR #245024
@Parasaran-Python (Parasaran)
: 修正 #248222 | 相対パスで複数の先行ドットを許可するための正規表現の変更 PR #248340
@pelmers-db (Peter Elmers)
: ピッカーのonDidChangeValue
ハンドラーでのキャンセルロジックを修正(#247945を修正) PR #247946
@randy3k (Randy Lai)
: R構文の上流リポジトリを更新 PR #248880
@rbuckton (Ron Buckton)
: 更新されたDOMタイプによるブレークを静かにするためのキャストを追加 PR #248346
@RedCMD (RedCMD)
: @builtin @disabled
をサポート PR #235885
@xzakharov (Oleksandr Zakharov)
: 修正(devcontainer): コンテナビルドを修正するためにrust機能をバンプ PR #250430
@y0sh1ne (y0sh1ne)
: 複数選択でのメッセージのコピーを修正 (#_247927) PR #248172
vscode-copilot-releaseへの貢献:
@joyceerhl (Joyce Er)
: chore: update bug report template
PR #9702
vscode-css-languageserviceへの貢献:
@Legend-Master (Tony)
: 基本的なメディアクエリの自動補完サポートを追加 PR #443
@rgant (J Rob Gant)
機能:(#_305) oklab
およびoklch
カラー関数のサポートを追加 PR #436
余分な文字を削除 PR #437
リファクタ: ベースtsconfig.json
を拡張 PR #438
vscode-custom-dataへの貢献:
@Legend-Master (Tony) : メディアクエリサポートを追加 PR #118
vscode-eslintへの貢献:
@MariaSolOs (Maria José Solano)
eslint.codeActionsOnSave.options
を追加 PR #1999
すべての可能なフラット構成拡張を追加 PR #2017
vscode-generator-codeへの貢献:
@SamB (Samuel Bronson) : vscodeドキュメントのトップへのリンクを削除 PR #518
vscode-js-debugへの貢献:
@kdy1 (Donny/강동윤)
: chore: Fix default url for turbopack
PR #2223
@mikaelwaltersson (Mikael Waltersson)
: WasmWorker
インスタンスが破棄されるがページリロード時に再生成されないバグを修正 + SharedArrayBuffer
のwriteMemory
PR #2211
vscode-jupyterへの貢献:
@WillHirsch
: パッケージインストールにbang
の代わりにpercent
を使用することの診断の重大度をダウングレード PR #16601
vscode-languageserver-nodeへの貢献:
@martijnwalraven (Martijn Walraven)
: workspace/textDocumentContent/refresh
リクエストを修正 PR #1637
vscode-markdown-tm-grammarへの貢献:
@Barros1902 (Tomás Barros ) : マークダウン構文でのアンダースコアを使用した取り消し線を修正(microsoft#173を修正) PR #174
vscode-prompt-tsxへの貢献:
@joyceerhl (Joyce Er)
: chore: npm audit fix
PR #175
vscode-pull-request-githubへの貢献:
@kabel (Kevin Abel) : プライベートなものがない場合に検証済みのGitHubメールを許可 PR #6921
vscode-python-debuggerへの貢献:
@kycutler (Kyle Cutler)
: ディレクトリを読み取ろうとして発生するTypeError
を修正 PR #692
debug-adapter-protocolへの貢献:
@DrSergei
: いくつかのタイプミスを修正 PR #543
@robertoaloi (Roberto Aloi)
: Erlang EDB Debugger
を追加 PR #544
language-server-protocolへの貢献:
@asukaminato0721 (Asuka Minato)
caddy
を追加 PR #2131kdl
を追加 PR #2139
@brynne8 (Brynne Taylor)
: グロブパターン仕様のタイプミスを修正 PR #2132
@leon-bckl (Leon)
: c++20 lsp-framework
を追加 PR #2144
@nieomylnieja (Mateusz Hawrus)
: chore: Add Nobl9 VSCode extension to servers.md
PR #2136
@zonuexe (USAMI Kenta)
: Emacs用のLSPクライアントを追加 PR #2145
lsprotocolへの貢献:
最新のLSP仕様に更新 PR #420
リリースパイプラインをMicroBuildを使用するように書き換え、vscodeのテンプレートを使用しない PR #421pyproject.toml
のバージョンを2025.0.0rc1
に変更 PR #422
@myleshyson (Myles Hyson)
: プラグインテーブルにgolang
を追加 PR #418