まえがき
VSCode1.102のリリースノートをChatGPTで日本語に翻訳しました。
VSCode 1.102 Release Notes
2025年6月 (バージョン 1.102)
リリース日: 2025年7月9日
Visual Studio Codeの2025年6月リリースへようこそ。このバージョンには多くの更新があり、いくつかの主要なハイライトを以下に示します。
Chat
オープンソース化されたGitHub Copilot Chat拡張機能を探索し、貢献する (ブログ記事を読む
)。
プロジェクトの規約を反映したカスタム指示を生成 (詳細…
)。
計画や調査などのタスクに合わせてチャットをカスタマイズするためのカスタムモードを使用 (詳細…
)。
選択したターミナルコマンドを自動承認 (詳細…
)。
以前のチャットリクエストを編集して再送信 (詳細…
)。
MCP
MCPサポートがVS Codeで一般利用可能になりました (詳細…
)。
MCPビューとギャラリーを使用してMCPサーバーを簡単にインストールおよび管理 (詳細…
)。
プロファイルと設定同期でMCPサーバーを一級リソースとして扱う (詳細…
)。
エディター体験
タスクをCopilotコーディングエージェントに委任し、バックグラウンドで処理させる (詳細…
)。
中クリックでエディターをスクロール (詳細…
)。
Chat
Copilot Chatはオープンソースです
GitHub Copilot Chat拡張機能をオープンソース化したことをお知らせできることを嬉しく思います!ソースコードはMITライセンスの下でmicrosoft/vscode-copilot-chat
で利用可能です。
これは透明性とコミュニティの協力に対する我々のコミットメントにおける重要なマイルストーンです。拡張機能をオープンソース化することで、コミュニティが以下のことを可能にします:
VS CodeでのAI駆動のチャット体験の開発に直接貢献する
チャットモード、カスタム指示、およびAI統合の実装を理解する
我々の作業を基にして、さらに優れたAI開発者ツールを作成する
AI支援コーディングの未来を形作ることに参加する
エージェントモード
、インラインチャット
、およびMCP統合
などの機能がどのように実装されているかを確認するためにリポジトリを探索できます。コミュニティからの貢献、フィードバック、および協力を歓迎します。
このマイルストーンとオープンソースAIエディターツールの広範なビジョンについて詳しく知るには、詳細なブログ記事をお読みください:Open Source AI Editor - First Milestone
。
チャットモードの改善
前回のマイルストーンでは、カスタムチャットモード
をプレビューしました。組み込みのチャットモード「Ask」、「Edit」、「Agent」に加えて、特定の指示とリクエストに応答する際にLLMが従うべき許可されたツールのセットを持つ独自のチャットモードを定義できます。
このマイルストーンでは、この分野でいくつかの改善とバグ修正を行いました。
言語モデルの設定
多くのリクエストに応じて、チャットモードに使用する言語モデルを指定できるようになりました。chatmode.md
ファイルにモデルメタデータプロパティを追加し、モデル識別子を提供してください(モデル情報のIntelliSense
を提供します)。
編集サポートの改善
チャットモード 、プロンプト 、および指示ファイル のエディターは、すべてのサポートされているメタデータプロパティに対して補完、検証、およびホバーをサポートするようになりました。
チャットビューのギアメニュー
チャットビューのツールバーにあるConfigure Chat
アクションを使用して、カスタムモードや再利用可能な指示、プロンプト、ツールセットを管理できます:
Modes
を選択すると、現在インストールされているすべてのカスタムモードが表示され、新しいモードを開いたり作成したり削除したりできます。
vscodeリンクを介してモードをインポート
VS Code では、外部リンク(例:GitHubの Gist や Raw ファイル)から .chatmode.md ファイルを直接インポートできるようになりました。
以下のリンクをクリックすると、指定されたチャットモードファイル(GPT 4.1 Beast Mode)が VS Code にインポートされます:
GPT 4.1 Beast Mode (VS Code)
クリック後、VS Code が .chatmode.md ファイルを読み込み、保存先のフォルダとファイル名を尋ねるダイアログが表示されます。
そのまま保存すれば、チャットモードとして使用可能になります。
カスタム指示の生成
プロジェクトのカスタム指示
を設定することで、コーディング標準やプロジェクトの規約に関するコンテキストを提供し、AIの提案を大幅に改善できます。しかし、効果的な指示をゼロから作成するのは難しいかもしれません。
このマイルストーンでは、ワークスペース用のカスタム指示をブートストラップするのに役立つChat: Generate Instructions
コマンドを導入しました。このコマンドをコマンドパレットまたはチャットビューのConfigure
メニューから実行すると、エージェントモードがコードベースを分析し、プロジェクトの構造、技術、パターンを反映した指示を生成します。
このコマンドは、.github
フォルダーにcopilot-instructions.md
ファイルを作成するか、既存の指示ファイルへの改善を提案します。その後、生成された指示をレビューして、チームの特定のニーズに合わせてカスタマイズできます。
指示を使用してAIの応答をカスタマイズする
方法について詳しく学びましょう。
指示ファイルをオンデマンドで読み込む
指示ファイルは、コーディングプラクティスやプロジェクト要件を説明するために使用できます。指示は手動または自動でチャットリクエストのコンテキストとして含めることができます。
サポートされているさまざまなメカニズムについては、ドキュメントのカスタム指示
セクションを参照してください。
条件付きで含めたい大きな指示については、.instructions.md
ファイルをapplyTo
ヘッダーで定義されたグロブパターンと組み合わせて使用できます。ファイルは、チャットのコンテキスト内の1つ以上のファイルにグロブパターンが一致した場合に自動的に追加されます。
このリリースでは、大規模言語モデルが指示をオンデマンドで読み込むことができます。各リクエストには、すべての指示ファイルのリストがグロブパターンと説明と共に提供されます。この例では、LLMはコンテキストに明示的に追加されたTypeScriptファイル用の指示を持っていません。そのため、TypeScriptファイルを作成する前にコードスタイルルールを探します:
以前のリクエストの編集 (実験的)
以前のリクエストをクリックして、テキストコンテンツ、添付されたコンテキスト、モード、およびモデルを変更できるようになりました。この変更を送信すると、すべての後続のリクエストが削除され、行われた編集が元に戻され、新しいリクエストがチャットに送信されます。
編集リクエストの異なるエントリーポイントの制御された展開が行われ、優先される編集および元に戻すフローに関するフィードバックを収集するのに役立ちます。ただし、ユーザーは実験的な
chat.editRequests
設定で優先モードを設定できます:
inline
: リクエストにホバーしてテキストを選択し、リクエストとインラインで編集を開始します。hover
: リクエストにホバーしてツールバーを表示し、リクエストとインラインで編集を開始するボタンを表示します。input
: リクエストにホバーしてツールバーを表示し、チャットの下部にある入力ボックスで編集を開始します。
ターミナル自動承認 (実験的)
エージェントモードには、ターミナルでのコマンドの自動承認メカニズムがあります。デフォルトを使用したデモを以下に示します:
現在、許可リストと拒否リストの2つの設定があります。許可リストは、コマンドのプレフィックスまたは正規表現のリストで、一致した場合に明示的な承認なしでコマンドを実行できるようにします。例えば、次のように設定すると、npm run test
で始まる任意のコマンドや、正確にgit status
またはgit log
を実行できるようになります:
|
|
これらの設定は設定スコープ全体でマージされるため、ユーザーが承認したコマンドのセットと、ワークスペース固有の承認されたコマンドのセットを持つことができます。
連鎖コマンドについては、シェルに基づいてこれらのケースを検出し、すべてのサブコマンドを承認する必要があります。したがって、foo && bar
の場合、foo
とbar
の両方が許可されていることを確認し、その時点でのみ承認なしで実行されます。また、echo $(pwd)
のようなインラインコマンドも検出しようとします。これはecho $(pwd)
とpwd
の両方をチェックします。
拒否リストは許可リストと同じ形式ですが、それを上書きして承認を強制します。現在のところ、これは主に許可リストに広範なエントリがあり、それに含まれる可能性のある特定のコマンドをブロックしたい場合に役立ちます。例えば、次のように設定すると、npm run
で始まるすべてのコマンドが許可されますが、npm run danger
で始まる場合は除外されます:
|
|
ワークスペース信頼 から得られるプロンプトインジェクションに対する保護のおかげで、この機能を実装する際のセキュリティに関するアプローチは、許可リストに無害なコマンドの小さなセットを含め、拒否リストに特に危険なものを含めることです。デフォルトでは許可リストは空ですが、デフォルトをどうするかをまだ検討中です。以下が我々の考えです:
許可リスト: echo
, cd
, ls
, cat
, pwd
, Write-Host
, Set-Location
, Get-ChildItem
, Get-Content
, Get-Location
拒否リスト: rm
, rmdir
, del
, kill
, curl
, wget
, eval
, chmod
, chown
, Remove-Item
この機能に追加したい2つの主要な部分は、リストに新しいコマンドをより簡単に追加するためのUIエントリーポイント (#253268
) と、LLMにコマンドの安全性を評価させるオプトインオプション (#253267
) です。また、次のリリースでプレビュー設定になる前に、これらの設定のgithub.copilot.
プレフィックスを削除する (#253314
) と、それらを統合する (#253472
) 計画もあります。
ターミナルコマンドの簡略化
エージェントモードは、念のためにcd
ステートメントを使用してコマンドを実行したい場合があります。現在の作業ディレクトリと一致する場合、このケースを検出し、実行されるコマンドを簡略化します。
タスクとターミナルのエージェント認識
エージェントモードは、作成したバックグラウンドターミナルとアクティブに実行されているタスクを理解するようになりました。エージェントは新しいGetTaskOutput
ツールを使用してタスクの出力を読み取ることができ、重複したタスクの実行を防ぎ、ワークスペースのコンテキストを改善します。
最大化されたチャットビュー
セカンダリーサイドバーをエディターエリアに広げ、プライマリーサイドバーとパネルエリアを非表示にすることができるようになりました。VS Codeはこの状態を再起動間で記憶し、エディターまたはビューを開くときにチャットビューを復元します。
新しいアイコンを使用して最大化状態を切り替えることができ、コマンドパレットから新しいコマンドworkbench.action.toggleMaximizedAuxiliaryBar
を使用することもできます。
エージェントモードバッジインジケーター
ウィンドウがフォーカスされていないときにエージェントがユーザーの確認を必要とする場合、ドック内のアプリケーションアイコンにバッジを表示するようになりました。バッジは、それをトリガーした関連ウィンドウがフォーカスを受け取るとすぐに消えます。
このバッジは
chat.notifyWindowOnConfirmation
設定を使用して有効または無効にできます。
コマンドラインからチャットを開始
現在の作業ディレクトリでプロンプトを提供してチャットセッションを開始できる新しいサブコマンドchat
がVS Code CLIに追加されました。
基本的な構文はcode chat [options] [prompt]
で、オプションは次のいずれかを指定できます:
-m --mode
: チャットセッションで使用するモード。利用可能なオプション:ask
、edit
、agent
、またはカスタムモードの識別子。デフォルトはagent
-a --add-file
: チャットセッションにコンテキストとしてファイルを追加--maximize
: チャットセッションビューを最大化-r --reuse-window
: チャットセッションに最後にアクティブなウィンドウを強制的に使用-n --new-window
: チャットセッションに空のウィンドウを強制的に開く
標準入力からの読み取りがサポートされており、最後に-
を渡すことで可能です。例えば、ps aux | grep code | code chat -
。
Fetchツールが非HTTP URLをサポート
モデルが非HTTP URL(例:file://
URL)でFetchツールを呼び出したい場合があることがわかりました。これを禁止するのではなく、FetchツールはこれらのURLをサポートし、URLのファイルまたはリソースの内容を返します。画像もサポートされています。
より明確な言語モデルアクセス管理
拡張機能によって提供される言語モデルへのアクセスを管理するUXを再構築しました。以前は、アカウントメニューにAccountName (GitHub Copilot Chat)
という項目が表示されていましたが、これはGitHub Copilot Chatが使用しているアカウントとは関係ありませんでした。むしろ、Copilot Chatによって提供される言語モデルへのアクセスを持つ拡張機能を管理するためのものでした。
これをより明確にするために、AccountName (GitHub Copilot Chat)
項目を削除し、新しい項目Manage Language Model Access...
に置き換えました。この項目は、GitHub Copilot Chatによって提供される言語モデルへのアクセスを持つ拡張機能を管理するためのクイックピックを開きます。
これがより明確だと考えています… とはいえ、将来のリリースでは、言語モデルへのより細かいアクセス制御(例:拡張機能によって提供されるすべてのモデルではなく特定のモデルのみを許可する)を探求する予定ですので、ご期待ください。
チャットリクエストの読み取り
チャット拡張機能自体がオープンソースであるため、内部でしばらく使用していたデバッグツールの1つにアクセスできるようになりました。Copilot Chatによって行われたすべてのリクエストの詳細を簡単に確認するには、Show Chat Debug View
コマンドを実行します。これにより、行われた各リクエストのエントリを持つツリービューが表示されます。モデルに送信された完全なプロンプト、有効化されたツール、応答、およびその他の重要な詳細を確認できます。リクエストログを右クリックしてExport As...
で保存できます。
ビューには、ツールコール自体のエントリと、シンプルブラウザーで開くプロンプト-tsxデバッグビューも含まれています。
🚨 注意: このログは問題のトラブルシューティングに非常に役立ち、エージェントの動作に関する問題を報告する際に共有していただけるとありがたいです。ただし、このログにはファイルの内容やターミナル出力などの個人情報が含まれている可能性があります。他の人と共有する前に内容を慎重に確認してください。
編集ツールの改善
このリリースには、GPT-4モデルとSonnetモデルに使用される編集ツールの予測可能性と信頼性に関するいくつかの変更が含まれています。このリリースではより信頼性の高い編集動作が見られるはずであり、今後のリリースでもこれらのツールを改善し続けます。
MCP
VS CodeでのMCPサポートが一般利用可能
過去数か月間、VS CodeでのMCPサポートの拡張に取り組んでおり、仕様の全範囲のMCP機能をサポート
しています。このリリース時点で、MCPサポートはVS Codeで一般利用可能になりました!
さらに、組織はGitHub Copilotポリシーを使用してMCPサーバーの利用可能性を制御できるようになりました。GitHub Copilotドキュメントの企業でのCopilotのポリシーと機能の管理
について詳しく学びましょう。
キュレーションされたリストから人気のあるMCPサーバー
をインストールすることで始めることができます。VS CodeでのMCPサーバーの使用
と、エージェントモードを拡張するためにそれらを使用する方法について詳しく学びましょう。
独自のMCPサーバーを構築したい場合は、VS CodeでのMCP機能を活用する方法についての詳細を開発者ガイド で確認してください。
要求のサポート
最新のMCP仕様では、MCPサーバーがMCPクライアントから入力を要求する方法として要求 のサポートが追加されました。VS Codeの最新バージョンはこの仕様を採用し、要求のサポートを含んでいます。
MCPサーバーの発見とインストール
拡張機能ビューの新しいMCPサーバーセクションには、キュレーションされたリストから人気のあるMCPサーバー
への直接リンクを含むウェルカムコンテンツが含まれています。利用可能なMCPサーバーを探索し、任意のMCPサーバーにInstall
を選択します。これにより、VS Codeが自動的に起動し、サーバーのreadme
とマニフェスト情報を表示するMCPサーバーエディターが開きます。サーバーの詳細を確認し、Install
を選択してサーバーをVS Codeインスタンスに追加できます。
インストールされると、MCPサーバーは拡張機能ビューのMCPサーバー - インストール済みセクションに自動的に表示され、チャットビューのツールクイックピックでそのツールが利用可能になります。これにより、MCPサーバーが正しく動作していることを確認し、その機能にすぐにアクセスできます。
MCPサーバー管理ビュー
拡張機能ビューの新しいMCPサーバー - インストール済みビューにより、インストールされたMCPサーバーを監視、構成、および制御することが容易になります。
ビューにはインストールされたMCPサーバーがリストされ、コンテキストメニューを通じていくつかの管理アクションが提供されます:
- サーバーの開始 / 停止 / 再起動: サーバーの実行状態を制御
- アカウントの切断: サーバーからアカウントアクセスを削除
- 出力の表示: トラブルシューティングのためにサーバーの出力ログを表示
- 構成の表示: サーバーのランタイム構成を開く
- モデルアクセスの構成: サーバーがアクセスできる言語モデルを管理
- サンプリングリクエストの表示: デバッグ用のサンプリングリクエストを表示
- リソースの参照: サーバーが提供するリソースを探索
- アンインストール: VS Codeインスタンスからサーバーを削除
インストールされたMCPサーバーを選択すると、VS Codeはサーバーのreadme
詳細、マニフェスト、およびランタイム構成を表示するMCPサーバーエディターを開きます。これにより、サーバーの機能と現在の設定の概要が提供され、サーバーが何を行い、どのように構成されているかを簡単に理解できます。
MCPサーバー - インストール済みビューには、コミュニティウェブサイトに直接アクセスできるBrowse MCP Servers...
アクションも提供されており、VS Code内から常にサーバーの発見が可能です。
一級リソースとしてのMCPサーバー
MCPサーバーは、ユーザータスクやその他のプロファイル固有の構成と同様に、VS Codeで一級リソースとして扱われるようになりました。これは、以前のMCPサーバーがユーザー設定に保存されていたアプローチからの重要なアーキテクチャの改善を表しています。この変更により、MCPサーバーの管理がより堅牢になり、一般的なVS Code設定とMCPサーバー構成の間の関心の分離が向上します。MCPサーバーをインストールまたは構成すると、それらは自動的に適切なプロファイル 固有の場所に保存され、メイン設定ファイルがクリーンで集中した状態を保つことができます。
- 専用ストレージ: MCPサーバーは、ユーザー設定ファイルを乱雑にするのではなく、各プロファイル内の専用
mcp.json
ファイルに保存されます - プロファイル固有: 各VS Codeプロファイルは独自のMCPサーバーセットを維持し、異なるワークフローやプロジェクトに異なるサーバー構成を持つことができます
- 設定同期の統合: MCPサーバーは、設定同期 を通じてデバイス間でシームレスに同期され、同期される内容を細かく制御できます
MCP移行サポート
MCPサーバーが一級リソースであり、それに関連する構成の変更に伴い、VS Codeは以前のMCPサーバー構成形式からアップグレードするユーザーに包括的な移行サポートを提供します:
- 自動検出:
settings.json
にある既存のMCPサーバーは自動的に検出され、新しいプロファイル固有のmcp.json
形式に移行されます - リアルタイム移行: ユーザー設定にMCPサーバーを追加すると、VS Codeはすぐにそれらを移行し、変更を説明する役立つ通知を表示します
- クロスプラットフォームサポート: 移行は、ローカル、リモート、WSL、およびCodespaces環境を含むすべての開発シナリオでシームレスに機能します
この移行により、既存のMCPサーバー構成が手動の介入なしで引き続き機能し、新しいアーキテクチャの強化された管理機能が提供されます。
MCP構成のためのDev Containerサポート
Dev Container構成devcontainer.json
およびDev Container機能構成devcontainer-feature.json
は、パスcustomizations.vscode.mcp
でMCPサーバー構成をサポートします。Dev Containerが作成されると、収集されたMCPサーバー構成がリモートMCP構成ファイルmcp.json
に書き込まれます。
Playwright MCPサーバーを構成するサンプルdevcontainer.json
:
|
|
MCPリソースにアクセスするためのコマンド
MCPサーバーをよりアクセスしやすくするために、MCP構成ファイルを管理およびアクセスするためのコマンドを追加しました:
MCP: Open User Configuration
- ユーザーレベルのmcp.json
ファイルへの直接アクセスMCP: Open Remote User Configuration
- リモートユーザーレベルのmcp.json
ファイルへの直接アクセス
これらのコマンドは、MCP構成ファイルへの迅速なアクセスを提供し、サーバー構成を直接表示および管理するのを容易にします。
MCP認証の迅速な管理
MCPギアメニューとクイックピックからアカウントをサインアウトまたは切断できるようになりました。
アカウントが他のMCPサーバーまたは拡張機能によって使用されている場合、Disconnect
アクションが表示され、アカウントがMCPサーバーによってのみ使用されている場合、Sign Out
が表示されます。サインアウトアクションはアカウントをVS Codeから完全に削除し、切断はMCPサーバーからのアカウントへのアクセスのみを削除します。
アクセシビリティ
エディター内からのすべての編集を保持
以前は、すべての編集を受け入れるには、チャットビューにフォーカスを合わせる必要がありました。今では、エディターにフォーカスを合わせた状態で、Keep All Edits (Ctrl+Alt+Y)
コマンドを実行できます。
ユーザーアクションが必要な音
チャットがユーザーアクションを必要とする場合にアクセシビリティ信号を微調整し、デフォルト値をauto
に設定しました。これにより、スクリーンリーダーユーザーはこの信号を聞くことができます。この動作は
accessibility.signals.chatUserActionRequired
設定で構成できます。
チャットでレンダリングエラーが発生したときのアラート
以前は、スクリーンリーダーユーザーはチャットレンダリングエラーが発生したときにアラートされませんでした。ユーザーはこの情報でアラートされ、キーボードを使用してフォーカスすることもできます。
コード編集
中クリックでスクロール
設定: editor.scrollOnMiddleClick
エディターを単にクリックするか、中央のマウスボタン(スクロールホイール)を押し続けて移動することでスクロールします。
アクティブ化されると、カーソルがパンニングアイコンに変わり、マウスを上下に動かすと、その方向にエディターがスムーズにスクロールします。スクロール速度は、初期クリックポイントからどれだけマウスを動かすかによって決まります。中央のマウスボタンを離すか、再度クリックしてスクロールを停止し、標準のカーソルに戻ります。
既知の競合
この機能を有効にすると、中央のマウスボタンに関連付けられた他のアクションと干渉する可能性があります。たとえば、
editor.columnSelection
が有効になっている場合、中央のマウスボタンを押し続けるとテキストが選択されます。同様に、Linuxでは、
editor.selectionClipboard
が有効になっている場合、中央のマウスボタンをクリックするとクリップボードからコンテンツが貼り付けられます。
これらの競合を避けるために、これらの設定のうち1つだけを有効にしてください。
コード補完のスヌーズ
新しいスヌーズ機能を使用して、インライン提案と次の編集提案(NES)を一時的に一時停止できるようになりました。これは、提案からの気を散らさずに集中したいときに役立ちます。
提案をスヌーズするには、ステータスバーのCopilotダッシュボードを選択するか、コマンドパレットからSnooze Inline Suggestions
コマンドを実行し、ドロップダウンメニューから期間を選択します。スヌーズ期間中は、インライン提案やNESは表示されません。
特定の期間の提案をすばやくスヌーズするために、カスタムキーバインディングを割り当てることもできます。コマンドに希望する期間を引数として渡します。例:
|
|
エディター体験
Windowsアクセントカラー
設定: window.border
Windows上のVS Codeは、Windows設定で有効になっている場合、ウィンドウフレームの境界線としてアクセントカラーを使用することをサポートするようになりました(「タイトルバーとウィンドウ境界線にアクセントカラーを表示する」)。
新しい
window.border
設定を使用して、ウィンドウ境界線の色を制御できます。default
を使用してWindowsアクセントカラーを使用するか、off
で境界線を無効にするか、特定の色値を提供してカスタムカラーを使用します。
注意: 境界線は関連するWindows設定が有効な場合にのみ表示されます。ワークスペースごとに設定することはまだできませんが、そのサポートに取り組んでいます。
設定検索の提案 (プレビュー)
設定: workbench.settings.showAISearchToggle
このマイルストーンでは、設定エディターのスパークルトグルを変更し、AIと非AIの検索結果を切り替えるトグルとして機能するようにしました。AI設定検索結果は、文字列マッチングに基づく結果ではなく、意味的に類似した結果です。たとえば、「テキストサイズを増やす」と検索すると、editor.fontSize
がAI設定検索結果として表示されます。
トグルはAI結果が利用可能な場合にのみ有効です。AI設定検索が予想される設定を見つけられなかった場合のフィードバックを歓迎し、次のイテレーションでデフォルトで設定を有効にする予定です。
タスク
すべての実行中のタスクを再実行
新しいTasks: Rerun All Running Tasks
コマンドを使用して、現在実行中のすべてのタスクをすばやく再実行できるようになりました。これは、複数の同時タスクを含むワークフローに役立ち、各タスクを個別に停止して再実行することなく、すべてを一度に再起動できます。
タスクの再起動が更新されたtasks.json
をリロード
Restart Task
コマンドは、再起動する前にtasks.json
をリロードし、最近の変更が尊重されるようにします。以前は、タスクの構成変更がタスクの再起動時に反映されず、混乱や古いタスクの動作を引き起こす可能性がありました。
ターミナル
ターミナルサジェスト (プレビュー)
ターミナルサジェスト機能に大幅な改善を加えました。
選択モード
新しい設定terminal.integrated.suggest.selectionMode
は、デフォルトでTab
(Enter
ではなく)がサジェストを受け入れることを理解するのに役立ちます。サジェストが選択され受け入れられる方法を制御するために、partial
、always
、never
モードから選択できます。
デフォルト値はpartial
で、ナビゲーションが発生するまでTab
がサジェストを受け入れます。
詳細を学ぶ
ターミナルサジェストコントロールのステータスバーにあるLearn More
アクション(kb(workbench.action.terminal.suggestLearnMore)
)は、最初の10回またはコントロールが10秒間表示されている場合に強調表示されます。これにより、サジェストコントロールの構成、無効化、および読み取り方法を発見できます。
マルチコマンドサポート
ターミナルサジェストは、マルチコマンドラインをサポートするようになりました。コマンドを;
、&&
、およびその他のシェルオペレーターでリンクし、行のすべてのコマンドに対してサジェストを受け取ることができます。
シンボリックリンク情報
サジェスト詳細コントロールにシンボリックリンクの実際のパスを表示し、他のサジェストと区別するためにシンボリックリンクファイルとフォルダーのユニークなアイコンを持つようになりました。
ソートの改善
最も関連性の高いサジェストを最初に提供するために、ソートを多くの方法で改善しました。たとえば、他のブランチよりもmain
とmaster
に優先順位を付けます。
Git Bashの改善
Git Bashのパス補完をフォルダーとファイルに対して適切にサポートするようになりました。さらに、組み込みコマンドをソースとしてサジェストとして提示します。
拡張機能への貢献
GitHubプルリクエスト
GitHubプルリクエスト
拡張機能にさらなる進展があり、プルリクエストや問題の作業、作成、管理が可能になりました。
GitHubプルリクエスト
拡張機能とCopilotコーディングエージェント
の間の統合が深まり、VS Codeから直接コーディングエージェントセッションを開始、表示、管理できるようになりました。
これらの機能を利用するには、ワークスペースがCopilotコーディングエージェントが有効になっている
リポジトリに開かれている必要があります。
拡張機能の0.114.0リリースの変更ログ
を確認して、リリースのすべてを学びましょう。
ステータストラッキング
Copilot on my behalfクエリでコーディングエージェントプルリクエストのステータスを通知し、目立たせるための改善を行いました。数値バッジが新しいコーディングエージェントの変更を示します。
セッションログ
VS Codeでコーディングエージェントセッションのセッションログを直接表示できるようになりました。これにより、コーディングエージェントによって行われたアクションの履歴を確認でき、コードの変更やツールの使用を含みます。
#activePullRequestツールの強化
#activePullRequest
ツールは、チャットで使用するためのプルリクエストのタイトル、説明、ステータスなどの情報を返し、コーディングエージェントセッション情報を取得するためにも使用できるようになりました。
このツールは、コーディングエージェント体験を通じて作成されたプルリクエストを開くときに自動的にチャットに添付されるため、必要に応じてコンテキストを維持し、プルリクエストの作業を続けることができます。
コーディングエージェントセッションの開始 (プレビュー)
チャットで#copilotCodingAgent
ツールを呼び出すことで、ローカル変更の残りをコーディングエージェントに委任します。
このツールは、保留中の変更をリモートブランチに自動的にプッシュし、ユーザーの指示と共にそのブランチからコーディングエージェントセッションを開始します。
実験的: githubPullRequests.codingAgent.uiIntegration
設定でより深いUI統合を有効にできます。有効にすると、コーディングエージェントが有効になっているリポジトリのチャットビューに新しいDelegate to coding agent
ボタンが表示されます。
Python
Python Environments拡張機能の改善
Python Environments拡張機能 は、このリリースでいくつかの改善を受けました:
- Poetryバージョン2.0.0以上のターミナルアクティベーションサポートを改善しました
- クイック作成環境作成オプションを使用して、同じワークスペース内で一意に名前付けされた複数の仮想環境をセットアップできるようになりました
- 生成された
.venv
フォルダーはデフォルトでgit無視されるようになりました - 環境削除プロセスを改善しました
Python EnvironmentsがPython拡張機能の一部として含まれる
Python Environments拡張機能
をPython拡張機能のオプション依存関係として展開し始めています。これにより、Python DebuggerやPylance拡張機能と同様に、Python拡張機能と一緒にPython Environments拡張機能が自動的にインストールされるのを見始めるかもしれません。この制御された展開により、早期のフィードバックを収集し、一般利用可能性の前に信頼性を確保できます。
Python Environments拡張機能には、これまでに導入したすべてのコア機能が含まれており、クイック作成を使用したワンクリック環境セットアップ
、自動ターミナルアクティベーション("python-envs.terminal.autoActivationType"
設定を介して)、およびサポートされているすべての環境およびパッケージ管理のUI
が含まれています。
展開中にPython Environments拡張機能を使用するには、拡張機能がインストールされていることを確認し、次の内容をVS Codeのsettings.json
ファイルに追加してください:
|
|
Python 3.13用のPyREPLを無効化
インタラクティブターミナルでのインデントとカーソルの問題に対処するために、Python 3.13以上のPyREPLを無効化しました。詳細については、Disable PyREPL for >= 3.13 を参照してください。
Pylance MCPツール (実験的)
Pylance拡張機能 には、Pylanceのドキュメント、インポート分析、環境管理などへのアクセスを提供するいくつかの実験的なMCPツールが含まれています。これらのツールは現在、Pylanceプレリリースバージョンで利用可能であり、まだ開発の初期段階です。新しい機能を提供しますが、今日それらを直接呼び出すのは難しいかもしれません。これらのツールをより使いやすく、将来の更新でより価値のあるものにするために積極的に取り組んでいます。経験を改善し続ける中で、pylance-release リポジトリでのフィードバックを歓迎します。
GitHub認証
改良されたGitHubサインインフロー
このイテレーションでは、vscode://
プロトコルURLを使用するフローではなく、ループバックURLフローをデフォルトにすることでGitHubサインインフローを改良しました。この変更は、サインインフローの信頼性を向上させ、カスタムURLスキームをサポートしないプラットフォームを含むすべてのプラットフォームで動作することを保証するためです。
GitHubでサインインすると、http://localhost:PORT/
のようなループバックURLにリダイレクトされます。これにより、カスタムURLスキームに依存せずにサインインフローを正常に完了できます。とはいえ、ループバックURLに到達すると、VS Codeに戻るためにvscode://
URLにリダイレクトされますが、サインインフローを正常に完了するために解決する必要はありません。
言い換えれば、すべてのプラットフォームで動作する信頼性の高いサインインフローと、vscode://
URLスキームを使用したVS Codeへの復帰の両方の利点を得ることができます。
ついでに、このランディングページにも新しいデザインを施しました。今後のイテレーションでは、この新しいデザインを他のサインイン体験にも適用する予定です。
拡張機能の作成
vscode.openFolder
コマンドを使用する際のファイルの開放を許可
vscode.openFolder
コマンドを呼び出す拡張機能は、開くワークスペースウィンドウで開くファイルを選択するためにfilesToOpen?: UriComponents[]
をオプションとして渡すことができるようになりました。
例:
|
|
提案されたAPI
今回提案されたAPIはありません。
エンジニアリング
esbuildを使用したCSSの最小化
VS Codeは長い間、JavaScriptソースのバンドルと最小化にesbuildを使用してきました。現在、CSSファイルのバンドルと最小化にもesbuildを使用しています。
tsconfig.json
を使用した厳密なレイヤーチェック
ソースコードがターゲット環境ルール
に準拠していることを確認するために、複数のtsconfig.json
ファイルを使用するようになりました。CIはnpm run valid-layers-check
を実行し、たとえばノードランタイムにのみ存在する型がブラウザレイヤーに追加された場合、ビルドが失敗します。
サニティテスト用のvscode-bisect
vscode-bisect
プロジェクトは長い間存在しており、VS Codeビルドのリグレッションを見つけることができます(git bisectがgitに対して行うこと)。新しい--sanity
オプションを追加し、新しいビルドをリリースする前に必須のサニティチェック
を迅速に実行できるようにしました。
注目すべき修正
vscode-copilot-release#6073
- エージェントはWindows PowerShellで&&
を提案すべきではありません
貢献者の方への謝辞
最後になりましたが、VS Codeの貢献者の皆様に大きな感謝を申し上げます。
問題追跡への貢献
問題追跡への貢献:
@albertosantini (Alberto Santini)
@gjsjohnmurray (John Murray)
@RedCMD (RedCMD)
@IllusionMH (Andrii Dieiev)
@tamuratak (Takashi Tamura)
プルリクエストへの貢献
vscodeへの貢献:
@a-stewart (Anthony Stewart)
: asyncDataTree.test.ts
のタイピングを修正 PR #209394
@charles7668 (charles)
: Fix #215925 PR #219321
@chengluyu (Luyu Cheng)
: 提案ウィジェットにfont-variation-settings
を適用 (fix #199954) PR #200000
@DrSergei
: デバッグアダプターの機能チェックを改善 PR #250779
@emmanuel-ferdman (Emmanuel Ferdman)
: launch.json
の参照を修正 PR #250187
@Enzo-Nunes (Enzo Nunes)
: Makefileの行コメントアクションを修正 (Fixes #234464) PR #243283
@Gallaecio (Adrián Chaves)
: タイポを修正 (an language model call → a language model call) PR #252202
@ghLcd9dG (Liu)
: copyFiles.ts
を更新 PR #250773
@heoh (HeoHeo)
: MarkdownプレビューのスクロールがEOFで遅くなる問題を修正 (fix #249278) PR #251228
@hyrious (hyrious)
: 修正: リモート組み込み拡張機能の翻訳が欠落している PR #249430
@jeanp413 (Jean Pierre)
組み込み拡張機能でウェブ環境を検出するためにnavigator
をチェックしない PR #251688
カスタムエディターの名前変更時に「Assertion Failed: Argument is undefined or null」が発生する問題を修正 PR #252071
@JJJJJJ-git
: ChatService
の元に戻すバグを修正 PR #253478
@liuxingbaoyu
: 修正: ユーザー名にUnicodeが含まれる場合にPowerShellが動作しない PR #251534
@matthew-godin
: patternIndices
のタイポを修正 PR #250085
@mohiuddin-khan-shiam (S. M. Mohiuddin Khan Shiam)
: version_manager.rs
の不正なSHA-1コミット正規表現を修正 PR #251329
@notoriousmango (Seong Min Park)
機能: Webviewテーマにフォントリガチャを追加 PR #250998
機能: 前回の実行から失敗したテストの再実行とデバッグアクションを追加 PR #251679
@raffaeu (Raffaele Garofalo)
: エディタースティッキースクロールのリファクタリング PR #248131
@RedCMD (RedCMD)
拡張機能のデバッグ時にインストールフォルダーバナー警告を無効化 PR #244305
コメント本文内のonEnterRules
を制限するTypeScript PR #251692
@ssigwart (Stephen Sigwart)
: PHP、JS、およびTSのインデントを更新 PR #251465
@Sublimeful (Jian Qiang Wu)
: ターミナルがない場合にTerminal: Run Recent Command
を実装 PR #250799
@tmm1 (Aman Karmani)
: [エンジニアリング] Swcトランスパイルへの不要な参照を削除 PR #252375
@UziTech (Tony Brix)
: 機能: 中央のマウスボタンスクロールを追加 PR #245882
@yiliang114 (易良)
: Fix #250737, NotebookのfindWidget
で一致数の結果がオーバーフローする問題を修正 PR #250738
vscode-copilot-chatへの貢献:
@caohy1988 (Hai-Yuan Cao)
: エージェントモードのサマリープロンプトを更新 PR #13
@CharlesCNorton
: README.md
を更新 PR #54
@gmacario (Gianpaolo Macario)
: CONTRIBUTING
のドキュメントを同期 PR #79
@moonboxing (ASSEMAR MOHAMED)
: pylint
削除後のdevcontainer-lock
を更新 PR #76
vscode-json-languageserviceへの貢献:
@aedenmurray (Aeden Murray) : 機能: 無効な正規表現パターンを通知 PR #261
vscode-pull-request-githubへの貢献:
@dyhagho (Dyhagho Briceño)
: 修正: github-enterprise.uri
が設定されている場合にGithub.com
認証を許可 PR #7002
vscode-ripgrepへの貢献:
@benz0li (Olivier Benz)
: Linux riscv64
ターゲットを追加 PR #73
@Vector341
: 無効なダウンロードクラッシュインストールを修正 PR #66
vscode-testへの貢献:
@coliff (Christian Oliff)
: .npmignore
を更新 PR #312
language-server-protocolへの貢献:
@billybonks (Sebastien Stettler)
: 修正: コメントの可読性を向上 PR #2155
@rcjsuen (Remy Suen)
: Docker Language Serverをリストに追加 PR #2153
@yangdanny97 (Danny Yang)
: Pyreflyを言語サーバーリストに追加 PR #2160
monaco-editorへの貢献:
@Ho1yShif (Shifra Williams) : Snowflake SQLキーワードを追加 PR #4915
ripgrep-prebuiltへの貢献:
riscv64
用のバイナリをビルド PR #41riscv64
Linux用のバイナリを公開 PR #51