まえがき
VSCode1.99のリリースノートをChatGPTで日本語に翻訳しました。
VSCode 1.99 Release Notes
2025年3月 (バージョン 1.99)
Visual Studio Codeの2025年3月リリースへようこそ。このバージョンには多くの更新があり、皆様に気に入っていただけることを願っています。主なハイライトは以下の通りです。
- エージェントモード
がVS Code Stableで利用可能になりました。
chat.agent.enabled
を設定して有効にしてください。 - エージェントモードをModel Context Protocol (MCP)サーバーツール で拡張できます。
- ウェブコンテンツの取得、シンボル参照の検索、深い思考のための新しい組み込みツール をエージェントモードで試してみてください。
- 次の編集候補(NES) が正式にリリースされました。
- AI編集 がエディタで適用される際の診断イベントなどの妨げが少なくなります。
- 独自のAPIキーを使用 して、チャットでより多くの言語モデルにアクセスできます(プレビュー)。
- 統一されたチャット体験 から、質問、編集、エージェントモードを簡単に切り替えられます。
- インスタントリモートワークスペースインデックス作成 により、ワークスペース検索の速度と精度が向上します。
- 編集モードとエージェントモードのサポートにより、コードファイルと同じようにノートブックを作成および編集 できます。
チャット
エージェントモードがVS Code Stableで利用可能
設定:
chat.agent.enabled
エージェントモードがVS Code Stableで利用可能になったことをお知らせします!
chat.agent.enabled
を設定して有効にしてください。今後数週間で、すべてのユーザーにデフォルトで有効化されるため、設定を有効にする必要はなくなります。
エージェントモードのドキュメント
を確認するか、チャットビューのチャットモードピッカーからエージェントモードを選択してください。
モデルコンテキストプロトコルサーバーサポート
このリリースでは、エージェントモードでモデルコンテキストプロトコル
(MCP)サーバーをサポートしています。MCPは、AIモデルが外部ツール、アプリケーション、データソースを発見し、相互作用するための標準化された方法を提供します。VS Codeでエージェントモードを使用してチャットプロンプトを入力すると、モデルはファイル操作、データベースアクセス、ウェブデータの取得などのタスクを実行するためにさまざまなツールを呼び出すことができます。この統合により、より動的でコンテキストに応じたコーディング支援が可能になります。
MCPサーバーは、ユーザー、リモート、または.code-workspace設定のmcpセクション、またはワークスペース内の.vscode/mcp.jsonで構成できます。この構成は、秘密や定数をハードコーディングしないように入力変数をサポートしています。たとえば、環境変数を参照するために${env:API_KEY}
を使用したり、サーバーが起動されたときに値を入力するために${input:ENDPOINT}
を使用したりできます。
MCP: Add Serverコマンドを使用して、コマンドライン呼び出しからMCPサーバーを迅速に設定するか、Docker、npm、またはPyPIに公開されたMCPサーバーからAI支援のセットアップを使用できます。
新しいMCPサーバーが追加されると、チャットビューにリフレッシュアクションが表示され、サーバーを起動してツールを発見するために使用できます。その後、サーバーはリソースを節約するためにオンデマンドで起動されます。
すでに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に関する最新のドキュメントを含めたい場合、完全なドキュメント をフェッチするように依頼し、それをプロンプトで使用できます。
エージェントモードでは、このツールは自動的に取得されますが、他のモードでも#fetchと取得したいURLを指定して明示的に参照することができます。
このツールは、ページのデータがローカルにキャッシュされるヘッドレスブラウザウィンドウでウェブページをレンダリングすることで機能します。そのため、再レンダリングのオーバーヘッドなしに、モデルにコンテンツを何度もフェッチするように依頼できます。
#fetchツールの使用方法や、どのような機能を期待するかをお知らせください!
フェッチツールの制限
- 現在、このブラウザウィンドウではJavaScriptが無効になっています。ウェブサイトがコンテンツをレンダリングするために完全にJavaScriptに依存している場合、このツールは多くのコンテキストを取得できません。この制限を変更することを検討しており、JavaScriptを許可する方向で変更する可能性があります。
- ヘッドレスの性質上、認証が必要なページをフェッチすることはできません。このヘッドレスブラウザは、使用しているブラウザとは異なるブラウザコンテキストに存在するためです。代わりに、MCPを使用して、そのターゲットに特化したMCPサーバーや、Playwright MCPサーバー のような汎用ブラウザMCPサーバーを導入することを検討してください。
使用ツール
#usagesツールは、「すべての参照を検索」、「実装を検索」、「定義に移動」の組み合わせです。このツールは、関数、クラス、インターフェースについてチャットがより多くを学ぶのに役立ちます。たとえば、チャットはこのツールを使用してインターフェースのサンプル実装を探したり、リファクタリングを行う際に変更が必要なすべての場所を見つけたりできます。
エージェントモードでは、このツールは自動的に取得されますが、#usagesを使用して明示的に参照することもできます。
エージェントモードで新しいワークスペースを作成 (実験的)
設定:
github.copilot.chat.newWorkspaceCreation.enabled
エージェントモード
で新しいVS Codeワークスペースをスキャフォールドできるようになりました。VS Code拡張機能、MCPサーバー、その他の開発環境を設定する際に、エージェントモードは必要な依存関係と設定でこれらのプロジェクトを初期化、構成、起動するのに役立ちます。
エージェントモードでのVS Code拡張ツール
数ヶ月前に、VS Code拡張機能によって提供される言語モデルツール
の拡張APIを最終化しました。これで、エージェントモードでこれらのツールを使用できます。
このAPIに貢献するツールは、構成でtoolReferenceNameとcanBeReferencedInPromptを設定することで、エージェントモードで自動的に利用可能になります。
拡張機能でツールを提供することで、VS Code拡張APIに完全にアクセスでき、拡張マーケットプレイスを通じて簡単にインストールできます。
MCPサーバーのツールと同様に、エージェントモードでSelect Toolsボタンを使用してこれらを有効または無効にできます。独自のツールを構築するには、言語モデルツール拡張ガイド
をご覧ください!
エージェントモードツールの承認
ユーザープロンプトのタスクを完了する一環として、エージェントモードはツールやターミナルコマンドを実行できます。これは強力ですが、潜在的にリスクを伴う可能性があります。そのため、エージェントモードでツールやターミナルコマンドを使用するには承認が必要です。
この体験を最適化するために、セッション、ワークスペース、またはアプリケーションレベルでその承認を記憶できるようになりました。現在、ターミナルツールには有効化されていませんが、将来のリリースでターミナルの承認システムを開発する予定です。
すべてのツールを自動承認したい場合は、実験的な
chat.tools.autoApprove
設定を使用できます。これにより、すべてのツールが自動承認され、言語モデルがツールを実行しようとする際にVS Codeが確認を求めなくなります。この設定を有効にすると、モデルが行おうとする潜在的に破壊的なアクションをキャンセルする機会がなくなることに注意してください。
将来的には、この設定をより細かい機能で拡張する予定です。
SWE-benchでのエージェント評価
VS Codeのエージェントは、AnthropicのSWE-bench Sonnet に関する研究に従い、Claude 3.7 Sonnetでswebench-verifiedで56.0%の合格率を達成しました。私たちの実験は、エージェントモードのための改善されたプロンプト、ツールの説明、ツール設計を出荷することに繋がり、Claude 3.5および3.7 Sonnetモデルのためのファイル編集のための新しいツールを含んでいます。
統一されたチャットビュー
過去数ヶ月間、言語モデルに質問するための「チャット」ビューと、AIによるコード編集セッションのための「Copilot Edits」ビューがありました。今月、チャットベースの体験を簡素化するために、2つのビューを1つのチャットビューに統合することを目指しています。チャットビューでは、3つのモードを持つドロップダウンが表示されます。
Ask
: これは以前のチャットビューと同じです。ワークスペースや一般的なコーディングについて質問します。@を使用して組み込みのチャット参加者やインストールされた拡張機能
から呼び出します。#を使用して任意のコンテキストを手動で添付します。
Agent
: タスクを完了するためにコンテキストを自律的に収集し、ターミナルコマンドを実行するなどのアクションを行うためのツールセットを持つエージェント的なコーディングフローを開始します。エージェントモードはすべてのVS Code Insiders
ユーザーに対して有効化されており、VS Code Stableのより多くのユーザーに展開しています。
Edit
: 編集モードでは、モデルが複数のファイルに対して指示された編集を行うことができます。#codebaseを添付して、編集するファイルを自動的に見つけることができます。ただし、ターミナルコマンドを実行したり、他のアクションを自動的に行ったりすることはありません。
注: このリストにエージェントモードが表示されない場合、それはまだ有効化されていないか、組織のポリシーで無効化されており、組織の所有者
によって有効化される必要があります。
チャット体験を簡素化するだけでなく、この統一によりAIによるコード編集のためのいくつかの新機能が可能になります。
会話の途中でモードを切り替える: たとえば、askモードでアプリのアイデアをブレインストーミングし、次にエージェントモードに切り替えて計画を実行することができます。ヒント: Ctrl+.を押してモードをすばやく変更します。
履歴の編集セッション: Show Chatsコマンド(チャットビューの上部にある時計アイコン)を使用して過去の編集セッションを復元し、それらを続行します。
チャットをエディタまたはウィンドウに移動: Open Chat in New Editor/New Windowを選択して、サイドバーからチャット会話を新しいエディタタブまたは別のVS Codeウィンドウにポップアウトします。チャットは長い間これをサポートしていましたが、今ではエディタペインまたは別のウィンドウから編集/エージェントセッションを実行することもできます。
複数のエージェントセッション: 上記のポイントに続いて、これにより複数のエージェントセッションを同時に実行することもできます。たとえば、エージェントモードで機能を実装するチャットと、研究や他のツールを使用するための独立したセッションを持つことができます。2つのエージェントセッションを同時にファイル編集に指示することは推奨されません。混乱を招く可能性があります。
独自のキーを持ち込む (BYOK) (プレビュー)
Copilot ProおよびCopilot Freeユーザーは、Azure、Anthropic、Gemini、Open AI、Ollama、Open Routerなどの人気プロバイダーの独自のAPIキーを持ち込むことができるようになりました。これにより、Copilotでネイティブにサポートされていない新しいモデルをリリース初日に使用することができます。
試してみるには、モデルピッカーからManage Models…を選択してください。Copilot BusinessおよびEnterpriseのお客様向けのサポートを積極的に検討しており、今後のリリースで更新情報を共有します。この機能の詳細については、ドキュメント
をご覧ください。
再利用可能なプロンプトファイル
改善された構成
設定:
chat.promptFilesLocations
chat.promptFilesLocations
設定は、ファイルパスでグロブパターンをサポートするようになりました。たとえば、現在開いているワークスペース内のすべての.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のチャット体験を単一の統一されたチャットビューに簡素化しました。別々のビュー間を移動して会話のコンテキストを失うことなく、異なるチャットモード間を簡単に切り替えることができます。
シナリオに応じて、これらのモードのいずれかを使用し、会話の途中で自由に移動してください。
Askモード: コードベースに関する質問やアイデアのブレインストーミングに最適化されています。
Editモード: コードベース内の複数のファイルに対する編集に最適化されています。
Agentモード: コード編集とツール呼び出しを組み合わせた自律的なコーディングフローに最適化されています。
統一されたチャットビューの詳細を確認してください。
インスタントインデックス作成による高速なワークスペース検索
リモートワークスペースインデックス
は、AIが質問に答えたり編集を生成したりする際に使用する関連コードスニペットを検索する際に、大規模なコードベースの検索を加速します。これらのリモートインデックスは、数万または数十万のファイルを持つ大規模なコードベースに特に役立ちます。
以前は、リモートワークスペースインデックスを構築して使用を開始するためにボタンを押すかコマンドを実行する必要がありました。新しいインスタントインデックス作成サポートにより、#codebase/@workspaceの質問を最初に試みるときにリモートワークスペースインデックスを自動的に構築するようになりました。ほとんどの場合、このリモートインデックスは数秒で構築できます。一度構築されると、VS Codeでそのリポジトリを使用している他の人が行うコードベース検索は自動的にリモートインデックスを使用します。
リモートワークスペースインデックスは現在、GitHubに保存されているコードにのみ利用可能であることに注意してください。リモートワークスペースインデックスを使用するには、ワークスペースにGitHubリモートを持つgitプロジェクトが含まれていることを確認してください。Copilotステータスメニューを使用して、現在使用されているインデックスの種類を確認できます。
負荷を管理するために、インスタントインデックス作成を数週間かけて徐々に展開しているため、すぐには表示されない場合があります。インスタントインデックス作成がまだ有効になっていない場合でも、GitHub Copilot: Build remote indexコマンドを実行してリモートインデックスの使用を開始できます。
Copilotステータスメニュー
ステータスバーからアクセスできるCopilotステータスメニューは、すべてのユーザーに対して有効になっています。このマイルストーンでは、いくつかの新機能を追加しました。
ワークスペースインデックス のステータス情報をいつでも表示します。
アクティブなエディタに対してコード補完が有効かどうかを表示します。
新しいアイコンがステータスを反映し、コード補完が有効かどうかをすばやく確認できます。
コード補完とNES を有効または無効にします。
すぐに使えるCopilotセットアップ (実験的)
設定:
chat.setupFromDialog
すぐに使える機能的なチャット体験を提供する実験的な機能を出荷しています。これには、チャットビュー、エディタ/ターミナルインラインチャット、クイックチャットが含まれます。最初にチャットリクエストを送信すると、Copilot Freeへのサインインとサインアップを案内します。
この体験を自分で確認したい場合は、
chat.setupFromDialog
設定を有効にしてください。
チャットプレリリースチャネルの不一致
VS Code StableにCopilot Chat拡張機能のプレリリースバージョンがインストールされている場合、この構成はサポートされていないことを知らせる新しいウェルカムスクリーンが表示されます。チャット機能の急速な開発のため、拡張機能はVS Code Stableでアクティブ化されません。
ウェルカムスクリーンには、拡張機能のリリースバージョンに切り替えるか、VS Code Insiders
をダウンロードするオプションが提供されます。
セマンティックテキスト検索の改善 (実験的)
設定:
github.copilot.chat.search.semanticTextResults
AIによるセマンティックテキスト検索がデフォルトで検索ビューで有効になりました。Ctrl+Iキーボードショートカットを使用してセマンティック検索をトリガーし、クエリに基づいて最も関連性の高い結果を通常の検索結果の上に表示します。
また、#searchResultsツールを使用してチャットプロンプトでセマンティック検索結果を参照することもできます。これにより、LLMに結果を要約または説明させたり、結果に基づいてコードを生成させたりすることができます。
設定エディタ検索の更新
デフォルトで、設定エディタ検索は前回のリリースで導入したキー一致アルゴリズムを使用するようになりました。また、設定IDが既知の設定と完全に一致する場合でも追加の設定を表示します。
ウィンドウコントロールの新しい設定 (Linux、Windows)
設定:
window.controlsStyle
タイトルバースタイル(
window.titleBarStyle
)をカスタムに設定している場合、ウィンドウコントロールのスタイルを3つの異なるスタイルから選択できるようになりました。
native: これはデフォルトで、基盤となるプラットフォームに従ってウィンドウコントロールをレンダリングします
custom: ネイティブよりもカスタムスタイリングを好む場合にウィンドウコントロールをカスタムスタイリングでレンダリングします
hidden: タイトルバーのスペースを確保したい場合や、キーボード中心のユーザーである場合にウィンドウコントロールを完全に非表示にします
コード編集
次の編集候補(NES)が正式リリース
設定:
github.copilot.nextEditSuggestions.enabled
次の編集候補(NES)の正式リリースをお知らせいたします!また、NESのユーザー体験向上のため、以下の改善を行いました:
- 編集候補がよりコンパクトになり、周囲のコードの邪魔にならず、一目で確認しやすくなりました。
- ガター(行番号横)インジケーターを改善し、すべての編集候補がより気づきやすくなりました。
AI編集の改善
AIで編集を生成する際にいくつかの小さな調整を行いました。
AI編集でファイルをリライトする際に、エディタ外の診断イベントをミュートします。以前は、このシナリオで波線を無効にしていました。これらの変更により、問題パネルのちらつきが減少し、クイックフィックスコードアクションのリクエストが発行されないようにします。
AI編集を保持することを決定した場合、ファイルを明示的に保存するようになりました。
ツールベースの編集モード
設定:
chat.edits2.enabled
チャットの編集モード
の動作を変更しています。新しい編集モードは、エージェントモードと同じアプローチを使用し、モデルがツールを呼び出してファイルを編集できるようにします。この整合性の利点は、3つのモード間をシームレスに切り替えることができるようになり、これらのモードの内部動作が大幅に簡素化されることです。
欠点は、新しいモードがエージェントモードと同じ制限されたモデルセットでのみ動作することです。つまり、ツール呼び出しをサポートし、ツールが関与する際に良好な体験ができることが確認されたモデルです。編集モードのリストからo3-miniやClaude 3.7 (Thinking)のようなモデルが欠落していることに気付くかもしれません。これらのモデルを編集に使用し続けたい場合は、
chat.edits2.enabled
設定を無効にして以前の編集モードに戻してください。モードを切り替える際にセッションをクリアするように求められます。
異なるモデル間で一貫した結果を得るためのプロンプトは、ツールを使用する際に難しいことがわかりましたが、これらのモデルを編集(およびエージェント)モードで点灯させるために取り組んでいます。
この設定は、VS Code Stableのユーザーに段階的に有効化されます。
インライン提案の構文ハイライト
設定:
editor.inlineSuggest.syntaxHighlightingEnabled
この更新により、インライン提案の構文ハイライトがデフォルトで有効になりました。以下のスクリーンショットでは、コード提案に構文の色付けが適用されていることに注意してください。
構文ハイライトなしのインライン提案を好む場合は、
editor.inlineSuggest.syntaxHighlightingEnabled
を無効にすることができます。
Tree-Sitterベースの構文ハイライト (プレビュー)
設定:
editor.experimental.preferTreeSitter.css
および
editor.experimental.preferTreeSitter.regex
構文ハイライトにTree-Sitterを使用するための以前の作業に基づいて、CSSファイルおよびTypeScript内の正規表現に対する実験的なTree-Sitterベースの構文ハイライトをサポートするようになりました。
ノートブック
Jupyterノートブックドキュメントの最小バージョンを4.5に
新しいノートブックのデフォルトのnbformatバージョンが4.2から4.5に引き上げられ、各セルのidフィールドが設定され、差分の計算に役立ちます。ノートブックの生のJSONでnbformat_minorを5に設定することで、既存のノートブックを手動で更新することもできます。
AIノートブック編集の改善
ノートブック(エージェントモードを含む)のAIによる編集サポートがStableリリースで利用可能になりました。これは先月、VS Code Insiders
でプレビュー機能として追加されました。
コードファイルを編集するのと同じ直感的な体験でノートブックファイルを編集できるようになりました。複数のセルにわたってコンテンツを変更したり、セルを挿入および削除したり、セルの種類を変更したりできます。この機能は、データサイエンスやドキュメントノートブックを扱う際にシームレスなワークフローを提供します。
新しいノートブックツール
VS Codeは、チャットから直接新しいJupyterノートブックを作成するための専用ツールを提供します。このツールは、クエリに基づいて新しいノートブックを計画および作成します。
エージェントモードまたは編集モードで新しいノートブックツールを使用してください
(
chat.edits2.enabled
を有効にして改善された編集モードを有効にしてください)。askモードを使用している場合は、チャットプロンプトで/newNotebookと入力して新しいノートブックを作成します。
AI編集をナビゲート
差分ツールバーを使用して、セル全体にわたる各AI編集を反復してレビューします。
AI編集の元に戻す
セルコンテナにフォーカスがあるとき、UndoコマンドはノートブックレベルでAIの変更全体を元に戻します。
チャットでのテキストおよび画像出力サポート
ノートブックセルの出力(テキスト、エラー、画像など)をチャットに直接コンテキストとして追加できるようになりました。これにより、ask、edit、agentモードを使用する際に出力を参照でき、ノートブックコンテンツを理解し支援するのが容易になります。
Add cell output to chatアクションを使用し、トリプルドットメニューまたは出力を右クリックして利用します。
アクセシビリティ
チャットエージェントモードの改善
ツール呼び出し中に「ターミナルでコマンドを実行する」などの手動アクションが必要な場合に通知されるようになりました。この情報は、関連するチャット応答のARIAラベルにも含まれており、スクリーンリーダーユーザーのアクセシビリティを向上させます。
さらに、エージェントモード
で利用可能な新しいアクセシビリティヘルプダイアログがあり、ユーザーがこの機能から何を期待できるか、どのように効果的にナビゲートするかを説明しています。
チャット編集アクションのアクセシビリティシグナル
AI生成の編集を保持または元に戻す際に、VS Codeは聴覚シグナルを提供します。これらのシグナルは、
accessibility.signals.editsKept
および
accessibility.signals.editsUndone
を介して構成可能です。
提案コントロールのARIAラベルの改善
提案コントロールアイテムのARIAラベルには、提案の種類(たとえば、メソッドや変数)などのより豊富で説明的な情報が含まれるようになりました。この情報は以前はアイコンを通じて視覚的なユーザーにのみ利用可能でした。
ソースコントロール
リファレンスピッカーの改善
設定:
git.showReferenceDetails
このマイルストーンでは、チェックアウト、マージ、リベース、ブランチの削除などのさまざまなソースコントロール操作に使用されるリファレンスピッカーの改善を行いました。更新されたリファレンスピッカーには、最後のコミットの詳細(著者、コミットメッセージ、コミット日)やローカルブランチの先行/後行情報が含まれています。この追加のコンテキストにより、さまざまな操作に適したリファレンスを選択するのに役立ちます。
リポジトリステータスバーアイテム
複数のリポジトリを含むワークスペースには、ブランチピッカーの左側にアクティブなリポジトリを表示するソースコントロールプロバイダーステータスバーアイテムがあります。新しいステータスバーアイテムは追加のコンテキストを提供し、エディタ間を移動し、ソースコントロールビューを使用する際にアクティブなリポジトリがどれであるかを知ることができます。
ソースコントロールプロバイダーステータスバーアイテムを非表示にするには、ステータスバーを右クリックし、コンテキストメニューからソースコントロールプロバイダーを選択解除します。
Git blameエディタ装飾の改善
入力中に「未コミット」のエディタ装飾があまり価値を提供せず、むしろ気を散らすというフィードバックを受けました。このマイルストーンから、「未コミット」のエディタ装飾は、キーボードやマウスを使用してコードベースをナビゲートしている間にのみ表示されます。
コミット入力カーソルのカスタマイズ
このマイルストーンでは、コミュニティの貢献により、
editor.cursorStyle
および
editor.cursorWidth
設定をソースコントロール入力ボックスで尊重する設定リストに追加しました。
ターミナル
エージェントモードの信頼性
エージェントモードでターミナルでコマンドを実行できるツールには、信頼性と互換性の向上が含まれています。ツールがスタックしたり、コマンドが出力なしで終了したりするケースが減ることを期待してください。
大きな変更の1つは、「リッチ」品質のシェル統合
の概念の導入です。「基本」および「なし」とは対照的に、VS Codeと共に出荷されるシェル統合スクリプトは、一般的にすべてリッチシェル統合を有効にし、ターミナルツールでの実行(および一般的なターミナル使用)で最高の体験を提供します。ターミナルタブにホバーすることでシェル統合の品質を確認できます。
ターミナルインテリセンスの改善 (プレビュー)
コードCLIの強化されたインテリセンス
インテリセンスは、code、code-insiders、およびcode-tunnel CLIのサブコマンドをサポートするようになりました。たとえば、code tunnelと入力すると、help、kill、pruneなどの利用可能なサブコマンドが表示され、それぞれに説明情報が付いています。
また、以下のオプションの提案も追加しました。
–uninstall-extension
–disable-extension
–install-extension
これらは、コマンドを完了するのに役立つインストール済みの拡張機能のリストを表示します。
さらに、code –locate-shell-integration-pathは、bash、zsh、fish、pwshなどのシェル固有のオプションを提供します。
グローバルコマンドの自動更新
ターミナルは、システムbinディレクトリで変更が検出されたときにグローバルコマンドのリストを自動的に更新します。これにより、新しくインストールされたCLIツール(たとえば、npm install -g pnpmを実行した後)がすぐに補完に表示され、ウィンドウをリロードする必要がなくなります。
以前は、キャッシュのためにウィンドウを手動でリロードするまで新しいツールの補完が表示されませんでした。
オプション値のコンテキスト
ターミナルの提案には、期待されるオプション値に関するコンテキスト情報が表示され、コマンドをより簡単に完了させることができます。
fishシェルのリッチ補完
前回のリリースでは、bashおよびzshの詳細なコマンド補完を追加しました。このイテレーションでは、fishにもそのサポートを拡張しました。補完の詳細は、シェルのドキュメントまたは組み込みのヘルプコマンドから取得されます。
たとえば、fishでjobsと入力すると、使用情報とオプションが表示されます。
提案のファイルタイプアイコン
ターミナルの提案には、異なるファイルタイプに特定のアイコンが含まれており、スクリプトとバイナリを一目で区別しやすくなっています。
インライン提案の詳細
ターミナルにゴーストテキストとして表示されるインライン提案は、引き続き提案リストの上部に表示されます。このリリースでは、これらのエントリにコマンドの詳細を追加し、受け入れる前により多くのコンテキストを提供します。
新しい簡素化された詳細なタブホバー
デフォルトで、ターミナルタブは現在、詳細をはるかに少なく表示します。
すべてを表示するには、ホバーの下部にあるShow Detailsボタンをクリックします。
署名されたPowerShellシェル統合
シェル統合PowerShellスクリプトは現在署名されており、WindowsでのデフォルトのPowerShell実行ポリシーがRemoteSignedの場合、シェル統合が自動的に開始されるはずです。シェル統合の利点についてはこちらをお読みください 。
ターミナルシェルタイプ
このイテレーションでは、ターミナルシェルAPIを最終化し、拡張機能がユーザーの現在のシェルタイプをターミナルで確認できるようにしました。
onDidChangeTerminalStateイベントにサブスクライブすることで、ターミナルでのユーザーのシェルタイプの変更を確認できます。
たとえば、シェルがzshからbashに変更されることがあります。
識別可能なすべてのシェルのリストは現在こちら
に記載されています。
リモート開発
Linuxレガシーサーバーサポートの終了
リリース1.99以降、これらのサーバーに接続できなくなりました。1.97リリース で述べたように、サポートされているLinuxディストリビューションへの移行を完了するために追加の時間が必要なユーザーは、glibcおよびlibstdc++のカスタムビルドを提供することで回避策を取ることができます。この回避策の詳細は、FAQ セクションで確認できます。
エンタープライズ
macOSデバイス管理
VS Codeは、Windowsに加えてmacOSでのデバイス管理をサポートするようになりました。これにより、システム管理者はMicrosoft Intuneなどの集中管理システムからポリシーをプッシュできます。
詳細については、エンタープライズサポート
ドキュメントをご覧ください。
拡張機能への貢献
Python
Pylanceによる編集可能なインストールのサポート向上
Pylanceは、PEP 660
で定義された編集可能モード(pip install -e .)でインストールされたパッケージのインポートパスの解決をサポートするようになり、これらのシナリオでのインテリセンス体験が向上します。
この機能は
python.analysis.enableEditableInstalls
を介して有効化されており、今月中にデフォルトの体験として展開を開始する予定です。問題が発生した場合は、Pylance GitHubリポジトリ
で報告してください。
Pylanceによるより高速で信頼性の高い診断体験 (実験的)
拡張機能のリリースバージョンを使用する際に、Pylanceの診断の精度と応答性を向上させる変更を展開し始めています。これは、複数の開いているファイルや最近閉じたファイルがあるシナリオで特に役立ちます。
展開を待ちたくない場合は、
python.analysis.usePullDiagnostics
を設定してください。問題が発生した場合は、Pylance GitHubリポジトリ
で報告してください。
PylanceカスタムNode.js引数
新しい
python.analysis.nodeArguments
設定があり、
python.analysis.nodeExecutable
を使用する際にNode.jsにカスタム引数を直接渡すことができます。デフォルトでは"–max-old-space-size=8192"に設定されていますが、大規模なワークスペースで作業する際にNode.jsにより多くのメモリを割り当てるなど、ニーズに合わせて変更できます。
さらに、
python.analysis.nodeExecutable
をautoに設定すると、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の貢献者の皆様に心から感謝申し上げます。
問題追跡
問題追跡への貢献:
@gjsjohnmurray (John Murray)
@albertosantini (Alberto Santini)
@IllusionMH (Andrii Dieiev)
@RedCMD (RedCMD)
プルリクエスト
vscodeへの貢献:
@a-stewart (Anthony Stewart)
: テストに2時間のオフセットを追加して、時計が変わった後に1日不足しないようにする PR #243194
@acdzh (Vukk)
: JSONEditingServiceで複数の値を更新する際のhasEditsフラグの値を修正 PR #243876
@c-claeys (Cristopher Claeys)
: チャットの再試行アクションでリクエスト試行をインクリメント PR #243471
@ChaseKnowlden (Chase Knowlden)
: マージエディタのアクセシビリティヘルプを追加 PR #240745
@dibarbet (David Barbet)
: ドキュメントコメントを考慮したC#のonEnterRulesを更新 PR #242121
@dsanders11 (David Sanders)
: vscode.d.tsのいくつかの壊れた@linkを修正 PR #242407
@jacekkopecky (Jacek Kopecký)
: scm入力エディタでより多くのカーソル設定を尊重 PR #242903
@joelverhagen (Joel Verhagen)
: 拡張URLが設定されていない場合でもサポートURLとライセンスURLを表示 PR #243565
@kevmo314 (Kevin Wang)
: コメントのタイプミスを修正 PR #243145
@liudonghua123 (liudonghua)
: explorer.copyPathSeparatorをサポート PR #184884
@mattmaniak
: テレメトリ情報テーブルを少し狭くし、整列 PR #233961
@notoriousmango (Seong Min Park)
fix: マークダウンプレビューでCORSエラーのある画像にコピーコマンドを使用 PR #240508
設定で改行のある文字のインデントが不正確な問題を修正 PR #242074
@pprchal (Pavel Prchal)
: アイコンの右クリックにローカライズを追加 PR #243679
@SimonSiefke (Simon Siefke)
: 機能: 設定でフォントファミリーピッカーをサポート PR #214572
@tribals (Anthony)
: PowerShell Coreユーザーインストールの検出を追加 PR #243025
@tusharsadhwani (Tushar Sadhwani)
: git show ref引数を曖昧でないようにする PR #242483
@wszgrcy (chen)
: fix: 拡張のuncaughtExceptionリッスン最大コールスタックサイズ超過 PR #244690
@zyoshoka (zyoshoka)
: typescript-basics拡張パスを修正 PR #243833
vscode-css-languageserviceへの貢献:
@lilnasy (Arsh) : @starting-styleをサポート PR #421
vscode-custom-dataへの貢献:
@rviscomi (Rick Viscomi) : 計算されたベースラインステータスを追加 PR #111
vscode-extension-samplesへの貢献:
@ratmice (matt rice) : esbuildスクリプトを修正 PR #1154
vscode-extension-telemetryへの貢献:
@minestarks (Mine Starks) : common.platformversionから余分な中括弧を削除 PR #221
vscode-js-debugへの貢献:
@erikson84 (Erikson Kaszubowski)
: fix: Windowsでのブレークポイント設定時にパスにバックスラッシュを確保 PR #2184
@xymopen (xymopen_Official)
: npmスクリプトランナーとしてusenodeをサポート PR #2178
vscode-mypyへの貢献:
@ivirabyan (Ivan Virabyan) : mypy設定で指定されたファイルのみを報告 PR #352
vscode-prompt-tsxへの貢献:
@dsanders11 (David Sanders)
: docs: READMEの例でsendRequest API名を修正 PR #159
@tamuratak (Takashi Tamura)
fix: テキストはthis.props.textであるべき PR #163
README.mdのツールセクションの使用法を修正 PR #164
vscode-pull-request-githubへの貢献:
@aedm (Gábor Gyebnár) : 設定ドキュメントにsanitizedLowercaseIssueTitleを追加 PR #6690
vscode-python-debuggerへの貢献:
@rchiodo (Rich Chiodo) : debugpyを最新バージョンに更新 PR #653
vscode-testへの貢献:
@SKaplanOfficial (Stephen Kaplan) : fix: 解凍時の「無効な抽出ディレクトリ」を回避 PR #303
language-server-protocolへの貢献:
@MariaSolOs (Maria José Solano) : メタモデルでの範囲フォーマット機能を更新 PR #2106
python-environment-toolsへの貢献:
@CharlesChen0823
: winregをバンプ PR #195
@elprans (Elvis Pranskevichus)
グローバルLinux Pythonを仮想環境として誤検出しないようにする PR #197
複数のシステムPythonを持つシステムでの環境バージョン検出を修正 PR #198
virtualenvwrapper環境で名前を設定 PR #199