2025 年 6 月 (バージョン 1.102)¶
リリース日: 2025 年 7 月 9 日
Visual Studio Code 2025 年 6 月リリースへようこそ。 このバージョンには多くのアップデートが含まれており、きっと気に入っていただけると思います。 主なハイライトは以下の通りです:
- チャット
- MCP
これらのリリースノートをオンラインでご覧になりたい場合は、code.visualstudio.com の Updates をご参照ください。 Insiders: 新機能をいち早く試したい方は、Insiders ビルドをダウンロードして、最新のアップデートをすぐにお試しいただけます。
チャット¶
Copilot Chat のオープンソース化¶
GitHub Copilot Chat 拡張機能をオープンソース化したことをお知らせします! ソースコードは microsoft/vscode-copilot-chat
で MIT ライセンスのもと公開されています。
この取り組みは、透明性とコミュニティ協働への大きな一歩です。 拡張機能をオープンソース化することで、コミュニティは以下のことが可能になります:
- AI チャット体験の開発に直接貢献
- チャットモード、カスタムインストラクション、AI 連携の実装を理解
- 私たちの成果を基に、より優れた AI 開発者ツールを構築
- AI 支援コーディングの未来を共に形作る
リポジトリでは、エージェントモード、インラインチャット、MCP 連携 などの実装もご覧いただけます。 ご意見・ご提案・コントリビュートをお待ちしています。
このマイルストーンやオープンソース AI エディターツールのビジョンについては、詳細なブログ記事 もご覧ください。
チャットモードの改善¶
前回のマイルストーンでは、カスタムチャットモード のプレビューを行いました。 標準の「Ask」「Edit」「Agent」モードに加え、独自の指示や利用可能なツールセットを定義したカスタムモードを作成できます。
今回のリリースでは、この分野でいくつかの改善とバグ修正を行いました。
言語モデルの指定¶
ご要望の多かった機能として、チャットモードごとに使用する言語モデルを指定できるようになりました。 chatmode.md
ファイルの model
メタデータプロパティにモデル識別子を記載してください (モデル情報の IntelliSense も提供されます)。
編集サポートの向上¶
チャットモード、プロンプト、インストラクションファイル のエディターで、すべてのサポートされているメタデータプロパティに対して補完・バリデーション・ホバーが利用できるようになりました。
チャットビューのギアメニュー¶
チャットビューのツールバーにある Configure Chat アクションから、カスタムモードや再利用可能なインストラクション・プロンプト・ツールセットの管理ができます:
Modes を選択すると、現在インストールされているカスタムモードの一覧が表示され、新規作成や削除も可能です。
vscode
リンク経由でモード・プロンプト・インストラクションをインポート¶
外部リンク (gist や awesome-copilot コミュニティリポジトリなど) からチャットモード・プロンプト・インストラクションファイルをインポートできるようになりました。 たとえば、以下のリンクで Burke の GPT 4.1 Beast Mode のチャットモードファイルをインポートできます:
GPT 4.1 Beast Mode を VS Code に追加
インポート時は、ワークスペースまたはユーザー設定のどちらに保存するか選択し、ファイル名を確認してから URL からモードファイルを取得します。
100 以上のコミュニティ提供のインストラクション・プロンプト・チャットモードは awesome-copilot でご覧いただけます。
カスタムインストラクションの生成¶
カスタムインストラクション をプロジェクトに設定することで、コーディング規約やプロジェクトの慣習を AI に伝え、提案の質を大きく向上できます。 しかし、効果的なインストラクションを一から作成するのは難しい場合もあります。
今回のリリースでは、Chat: Generate Instructions コマンドを新たに導入しました。 コマンドパレットやチャットビューの Configure メニューから実行すると、エージェントモードがコードベースを分析し、プロジェクト構造や技術・パターンに合わせたカスタムインストラクションを自動生成します。
このコマンドは .github
フォルダーに copilot-instructions.md
ファイルを作成するか、既存のインストラクションファイルの改善案を提案します。 生成されたインストラクションは、チームのニーズに合わせて自由に編集できます。
AI の応答をインストラクションでカスタマイズする方法 もご参照ください。
インストラクションファイルのオンデマンド読み込み¶
インストラクションファイルは、コーディング規約やプロジェクト要件を記述するために利用できます。 インストラクションは手動または自動でチャットリクエストのコンテキストに追加可能です。
さまざまな仕組みがサポートされています。 詳細は カスタムインストラクション ドキュメントをご覧ください。
条件付きで大きなインストラクションを含めたい場合は、applyTo
ヘッダーでグロブパターンを定義した .instructions.md
ファイルを利用できます。 グロブパターンがチャットのコンテキスト内のファイルに一致すると、自動的にファイルが追加されます。
本リリースでは、大規模言語モデルがインストラクションをオンデマンドで読み込めるようになりました。 各リクエストで、すべてのインストラクションファイルのリスト (グロブパターン・説明付き) が LLM に渡されます。 たとえば、TypeScript ファイル用のインストラクションが明示的に追加されていない場合、LLM はコードスタイルルールを探してから TypeScript ファイルを作成します:
過去リクエストの編集 (実験的)¶
過去のリクエストをクリックして、テキスト内容・添付コンテキスト・モード・モデルを変更できるようになりました。 変更を送信すると、それ以降のリクエストはすべて削除され、編集内容が反映された新しいリクエストが送信されます。
編集や元に戻すフローの好みを把握するため、さまざまなエントリーポイントを段階的に展開します。 ユーザーは実験的な setting(chat.editRequests)
設定で好みのモードを選択できます:
setting(chat.editRequests.inline)
: リクエストにホバーしてテキストを選択し、その場で編集を開始setting(chat.editRequests.hover)
: リクエストにホバーしてツールバーのボタンから編集を開始setting(chat.editRequests.input)
: リクエストにホバーしてツールバーから入力ボックスで編集を開始
ターミナル自動承認 (実験的)¶
エージェントモードに、ターミナルコマンドの自動承認機能が追加されました。 デフォルト設定でのデモはこちら:
現在、許可リストと拒否リストの 2 つの設定があります。 許可リストはコマンドの プレフィックス または正規表現で、マッチした場合は明示的な承認なしでコマンドが実行されます。 たとえば、次の設定では npm run test
で始まるコマンドや、git status
・git log
だけが自動承認されます:
"github.copilot.chat.agent.terminal.allowList": {
"npm run test": true,
"/^git (status|log)$/": true
}
これらの設定はスコープごとにマージされるため、ユーザー承認済みコマンドとワークスペース固有の承認コマンドを組み合わせて利用できます。
複数コマンドの連結 (foo && bar
など) の場合、すべてのサブコマンドが許可されている必要があります。 echo $(pwd)
のようなインラインコマンドも同様に、両方のコマンドが許可されているかチェックします。
拒否リストも同じ形式で、許可リストより優先されます。 たとえば、npm run
で始まるコマンドは許可しつつ、npm run danger
だけは拒否する設定も可能です:
"github.copilot.chat.agent.terminal.allowList": {
"npm run": true
},
"github.copilot.chat.agent.terminal.denyList": {
"npm run danger": true
}
ワークスペースの信頼 によるプロンプトインジェクション対策もあり、デフォルトでは安全なコマンドのみ許可リストに、危険なコマンドは拒否リストに入れる方針です。 デフォルト値はまだ検討中ですが、現時点の案は以下の通りです:
- 許可リスト:
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
今後は、許可コマンド追加用 UI (#253268) や LLM による安全性評価のオプション (#253267) も追加予定です。 また、次回リリースでは github.copilot.
プレフィックスの削除 (#253314) や設定の統合 (#253472) も予定しています。
ターミナルコマンドの簡略化¶
エージェントモードが cd
コマンドを含む場合、現在の作業ディレクトリと一致していればコマンドを簡略化して実行します。
タスク・ターミナルの認識¶
エージェントモードは、作成したバックグラウンドターミナルや実行中のタスクを把握できるようになりました。 新しい GetTaskOutput
ツールでタスク出力を読み取ることで、重複タスクの実行防止やワークスペースの状況把握が向上します。
チャットビューの最大化¶
セカンダリサイドバーをエディター領域全体に広げ、プライマリサイドバーやパネル領域を非表示にできるようになりました。 VS Code はこの状態を再起動後も記憶し、エディターやビューを開いた際にチャットビューを復元します。
最大化・解除は、閉じるボタン横の新しいアイコンや、コマンドパレットの workbench.action.toggleMaximizedAuxiliaryBar
コマンドで切り替えられます。
エージェントモードのバッジインジケーター¶
ウィンドウが非アクティブ時、エージェントがユーザーの確認を必要とする場合はアプリケーションアイコンにバッジが表示されます。 該当ウィンドウにフォーカスが戻るとバッジは消えます。
このバッジは setting(chat.notifyWindowOnConfirmation)
設定で有効・無効を切り替えられます。
コマンドラインからチャット開始¶
VS Code CLI に新しいサブコマンド chat
が追加され、カレントディレクトリでプロンプト付きのチャットセッションを開始できるようになりました。
基本構文は code chat [options] [prompt]
で、オプションは以下の通りです:
-m --mode <mode>
: チャットセッションで使用するモード。 'ask'、'edit'、'agent'、またはカスタムモードの識別子。 デフォルトは 'agent'-a --add-file <path>
: チャットセッションのコンテキストにファイルを追加--maximize
: チャットセッションビューを最大化-r --reuse-window
: 最後にアクティブだったウィンドウを再利用-n --new-window
: 空のウィンドウで開く
標準入力からの読み込みもサポートされており、たとえば ps aux | grep code | code chat <prompt> -
のように使えます。
Fetch ツールの非 HTTP URL 対応¶
モデルが file://
などの非 HTTP URL で Fetch ツールを呼び出すケースがあるため、これらの URL もサポートし、ファイルやリソースの内容を返すようになりました。 画像も対応しています。
言語モデルアクセス管理の明確化¶
拡張機能が提供する言語モデルへのアクセス管理 UX を刷新しました。 以前はアカウントメニューに AccountName (GitHub Copilot Chat) という項目がありましたが、これは Copilot Chat が使用しているアカウントとは無関係で、Copilot Chat が提供する言語モデルへのアクセス権を管理するものでした。
今回、この項目を削除し、新たに Manage Language Model Access... を追加しました。 この項目から Quick Pick を開き、GitHub Copilot Chat が提供する言語モデルへのアクセス権を持つ拡張機能を管理できます。
今後は、拡張機能単位だけでなく、特定モデル単位でのアクセス制御も検討しています。
チャットリクエストの閲覧¶
チャット拡張機能自体がオープンソース化されたことで、これまで内部で使っていたデバッグツールの一部が利用可能になりました。 Copilot Chat の全リクエスト詳細を簡単に確認するには「Show Chat Debug View」コマンドを実行してください。 各リクエストのエントリがツリービューで表示され、モデルに送信されたプロンプト全文・有効化されたツール・応答内容などが確認できます。 右クリック > "Export As..." でリクエストログの保存も可能です。
ツールコール単体や prompt-tsx デバッグビューも Simple Browser で開けます。
🚨 注意: このログはトラブルシューティングに非常に役立ちます。 エージェントの挙動に関する issue を報告する際はぜひ共有してください。 ただし、ファイル内容やターミナル出力など個人情報が含まれる場合があるため、共有前に内容をよくご確認ください。
編集ツールの改善¶
本リリースでは、GPT-4 モデルや Sonnet モデルで使用される編集ツールの予測性・信頼性が大きく向上しました。 今後もさらなる改善を続けていきます。
MCP¶
VS Code での MCP サポートが正式リリース¶
ここ数か月、VS Code の MCP サポート拡充に取り組んできましたが、MCP 仕様の全機能 に対応し、今回のリリースで正式リリースとなりました!
また、組織は GitHub Copilot ポリシーで MCP サーバーの利用可否を制御できるようになりました。 詳細は GitHub Copilot ドキュメントの エンタープライズでの Copilot のポリシーと機能管理 をご覧ください。
厳選された人気 MCP サーバー のインストールから始められます。 VS Code での MCP サーバーの利用方法 や、エージェントモード拡張への活用方法もご参照ください。
独自の MCP サーバーを構築したい場合は、MCP 開発者ガイド もご覧ください。
Elicitation サポート¶
最新の MCP 仕様で Elicitation 機能が追加され、MCP サーバーがクライアントに入力を求めることができるようになりました。 VS Code もこの仕様に対応しています。
MCP サーバーの発見とインストール¶
拡張機能ビューの新しい MCP Servers セクションには、厳選 MCP サーバー へのリンク付きウェルカムコンテンツが表示されます。 Web サイトで MCP サーバーを選択し Install を押すと、VS Code が自動で起動し、サーバーの readme・マニフェスト情報を表示する MCP サーバーエディターが開きます。 内容を確認し Install で VS Code に追加できます。
インストール済み MCP サーバーは拡張機能ビューの MCP SERVERS - INSTALLED セクションに自動表示され、ツールもチャットビューのツールクイックピックからすぐ利用できます。 これにより、サーバーの動作確認や機能利用が簡単になります。
MCP サーバー管理ビュー¶
拡張機能ビューの新しい MCP SERVERS - INSTALLED で、インストール済み MCP サーバーの監視・設定・制御が簡単に行えます。
インストール済み MCP サーバーの一覧や、コンテキストメニューからの各種操作が可能です:
- Start Server / Stop Server / Restart Server: サーバーの起動・停止・再起動
- Disconnect Account: サーバーからアカウントアクセスを削除
- Show Output: サーバーの出力ログ表示
- Show Configuration: サーバーのランタイム設定表示
- Configure Model Access: サーバーがアクセスできる言語モデルの管理
- Show Sampling Requests: サンプリングリクエストのデバッグ表示
- Browse Resources: サーバーが提供するリソースの閲覧
- Uninstall: サーバーのアンインストール
インストール済み MCP サーバーを選択すると、readme・マニフェスト・ランタイム設定が表示され、サーバーの機能や設定状況が一目で分かります。
MCP SERVERS - INSTALLED ビューには Browse MCP Servers... アクションもあり、コミュニティサイトへすぐアクセスできます。
MCP サーバーのファーストクラスリソース化¶
MCP サーバーは、ユーザータスクやプロファイル固有の設定と同様に、VS Code 内でファーストクラスリソースとして扱われるようになりました。 従来のユーザー設定ファイル内管理から、より堅牢で分離された MCP サーバー管理が可能になっています。 インストールや設定変更時は、プロファイルごとの mcp.json
に自動保存され、メイン設定ファイルが煩雑になりません。
- 専用ストレージ: MCP サーバーは各プロファイルの
mcp.json
に保存 - プロファイル単位: プロファイルごとに異なる MCP サーバー構成が可能
- 設定同期対応: 設定同期 でデバイス間同期も柔軟に制御
MCP 移行サポート¶
MCP サーバーのファーストクラスリソース化に伴い、従来形式からの移行もサポートしています:
- 自動検出:
settings.json
内の既存 MCP サーバーを自動検出し、新形式へ移行 - リアルタイム移行: ユーザー設定に MCP サーバーを追加すると即座に移行し、通知で案内
- クロスプラットフォーム対応: ローカル・リモート・WSL・Codespaces など全開発環境でシームレスに移行
この移行により、既存の MCP サーバー設定も手間なく新アーキテクチャで利用できます。
Dev Container での MCP 設定サポート¶
Dev Container の devcontainer.json
や Dev Container Feature の devcontainer-feature.json
で、customizations.vscode.mcp
パスに MCP サーバー設定を記述できます。 Dev Container 作成時に、収集した MCP サーバー設定がリモートの mcp.json
に書き込まれます。
Playwright MCP サーバーを設定した devcontainer.json
の例:
{
"image": "mcr.microsoft.com/devcontainers/typescript-node:latest",
"customizations": {
"vscode": {
"mcp": {
"servers": {
"playwright": {
"command": "npx",
"args": [
"@playwright/mcp@latest"
]
}
}
}
}
}
}
MCP リソースへのコマンドアクセス¶
MCP サーバーの設定ファイル管理を容易にするため、以下のコマンドを追加しました:
- MCP: Open User Configuration - ユーザーレベルの
mcp.json
へ直接アクセス - MCP: Open Remote User Configuration - リモートユーザーレベルの
mcp.json
へ直接アクセス
これらのコマンドで MCP 設定ファイルをすぐに開いて管理できます。
MCP 認証のクイック管理¶
MCP ギアメニューやクイックピックから、アカウントのサインアウトや切断ができるようになりました。
- MCP ビューのギアメニュー:
- MCP エディターのギアメニュー:
- MCP クイックピック:
Disconnect アクションは、アカウントが他の MCP サーバーや拡張機能でも使われている場合に表示され、Sign Out は MCP サーバー専用の場合に表示されます。 Sign Out は VS Code からアカウントを完全に削除し、Disconnect は MCP サーバーからのみアクセスを削除します。
アクセシビリティ¶
エディター内からすべての編集を保持¶
これまではすべての編集を受け入れるには Chat ビューにフォーカスする必要がありましたが、エディターにフォーカスしたまま Keep All Edits (kb(chatEditor.action.acceptAllEdits)
) コマンドを実行できるようになりました。
ユーザー操作要求音¶
チャットでユーザー操作が必要な場合のアクセシビリティ信号を調整し、デフォルト値を auto
に設定しました。 これによりスクリーンリーダーユーザーに通知されます。 この動作は setting(accessibility.signals.chatUserActionRequired)
設定で変更できます。
チャット描画エラー時のアラート¶
これまでチャット描画エラーが発生してもスクリーンリーダーユーザーには通知されませんでしたが、今後は通知され、キーボードでもフォーカスできます。
コード編集¶
ミドルクリックでスクロール¶
設定: setting(editor.scrollOnMiddleClick:true)
エディター上でミドルマウスボタン (ホイール) をクリックまたは押しながら動かすだけでスクロールできます。
有効化すると、カーソルがパンニングアイコンに変わり、上下に動かすとその方向にスムーズにスクロールします。 スクロール速度は最初のクリック位置からの距離で決まります。 ミドルボタンを離すか再度クリックすると通常のカーソルに戻ります。
既知の競合
この機能を有効にすると、ミドルマウスボタンに割り当てられた他の操作と競合する場合があります。 たとえば、setting(editor.columnSelection)
が有効な場合はミドルボタンでテキスト選択、Linux では setting(editor.selectionClipboard)
でクリップボード内容の貼り付けが行われます。
競合を避けるため、これらの設定は同時に有効にしないでください。
コード補完のスヌーズ¶
新しい Snooze 機能で、インライン提案や次の編集提案 (NES) を一時停止できるようになりました。 集中したいときに提案を非表示にできます。
スヌーズするには、ステータスバーの Copilot ダッシュボードを選択するか、コマンドパレットから Snooze Inline Suggestions を実行し、ドロップダウンで期間を選択します。 スヌーズ中はインライン提案や NES は表示されません。
コマンドに引数で期間を渡すことで、特定の時間だけスヌーズするカスタムキーバインドも設定できます。 例:
{
"key": "...",
"command": "editor.action.inlineSuggest.snooze",
"args": 10
}
エディター体験¶
Windows アクセントカラー¶
設定: setting(window.border)
Windows で「タイトルバーとウィンドウの枠線にアクセントカラーを表示」が有効な場合、VS Code のウィンドウ枠線にアクセントカラーを適用できるようになりました。
新しい setting(window.border)
設定で、Windows アクセントカラー (default)、枠線なし (off)、任意の色値 (カスタムカラー) を選択できます。
注意: 枠線は関連する Windows 設定が有効な場合のみ表示されます。 現時点ではワークスペース単位での設定はできませんが、今後対応予定です。
設定検索の AI サジェスト (プレビュー)¶
設定: setting(workbench.settings.showAISearchToggle:true)
今回のリリースで、設定エディターのスパークル切り替えボタンが AI/非 AI 検索結果のトグルになりました。 AI 設定検索結果は文字列一致ではなく意味的に類似した結果を返します。 たとえば「increase text size」と検索すると editor.fontSize
が AI 検索結果に表示されます。
AI 結果がある場合のみトグルが有効になります。 期待した設定が見つからない場合はフィードバックをお寄せください。 今後、デフォルトで有効化する予定です。
タスク¶
実行中のタスクをすべて再実行¶
新しい Tasks: Rerun All Running Tasks
コマンドで、現在実行中のすべてのタスクを素早く再実行できるようになりました。 複数のタスクを同時に扱うワークフローで便利です。
タスク再起動時に tasks.json を再読み込み¶
Restart Task コマンドでタスクを再起動する際、tasks.json
の最新内容が反映されるようになりました。 これまでは再起動時に設定変更が反映されず、混乱や古い動作の原因となっていました。
ターミナル¶
ターミナルサジェスト (プレビュー)¶
ターミナルサジェスト機能が大幅に強化されました。
選択モード¶
新しい terminal.integrated.suggest.selectionMode
設定で、デフォルトでは kbStyle(Tab)
(kbStyle(Enter)
ではない) がサジェストを受け入れることが分かりやすくなりました。 partial
、always
、never
の各モードでサジェストの選択・受け入れ方法を制御できます。
デフォルト値は partial
で、ナビゲーションが発生するまで kbStyle(Tab)
でサジェストを受け入れます。
詳細を学ぶ¶
ターミナルサジェストコントロールのステータスバーにある Learn More アクション (kb(workbench.action.terminal.suggestLearnMore)
) が、最初の 10 回または 10 秒間表示された場合にハイライトされるようになりました。 これにより、サジェストコントロールの設定・無効化・詳細情報の確認方法が分かりやすくなります。
複数コマンド対応¶
ターミナルサジェストが複数コマンド行に対応しました。 ;
や &&
などのシェル演算子でコマンドを連結し、すべてのコマンドに対してサジェストが表示されます。
シンボリックリンク情報¶
サジェスト詳細コントロールでシンボリックリンクの realpath を表示し、ファイル・フォルダーのアイコンも区別できるようになりました。
ソートの改善¶
さまざまな方法でソートが改善され、より関連性の高いサジェストが優先表示されるようになりました。 たとえば main
や master
ブランチが他より優先されます。
Git Bash の改善¶
Git Bash のパス補完が正しく動作するようになり、組み込みコマンドもサジェストに表示されます。
拡張機能への貢献¶
GitHub Pull Requests¶
GitHub Pull Requests 拡張機能の開発がさらに進み、プルリクエストや issue の作成・管理がより便利になりました。
GitHub Pull Requests 拡張機能と Copilot コーディングエージェント の連携も強化され、VS Code からコーディングエージェントセッションの開始・表示・管理が可能になりました。
これらの機能は、Copilot コーディングエージェントの有効化 されたリポジトリをワークスペースで開いている場合に利用できます。
バージョン 0.114.0 の変更履歴 もご参照ください。
コーディングエージェントセッションの開始 (プレビュー)¶
チャットで #copilotCodingAgent
ツールを呼び出すことで、ローカルの変更をバックグラウンドで継続できます。
このツールは、保留中の変更をリモートブランチに自動プッシュし、ユーザーの指示とともにコーディングエージェントセッションを開始します。
実験的: setting(githubPullRequests.codingAgent.uiIntegration)
設定を有効にすると、エージェント有効リポジトリの Chat ビューに Delegate to coding agent ボタンが表示されます。
ステータストラッキング¶
コーディングエージェントのプルリクエスト状況を Copilot on my behalf クエリで通知・表示する機能が強化されました。 新しい変更がある場合は数値バッジで表示されます。
セッションログ¶
コーディングエージェントセッションのログを VS Code で直接確認できるようになりました。 エージェントの操作履歴 (コード変更やツール利用など) が一覧できます。
#activePullRequest
ツールの強化¶
#activePullRequest
ツールで、プルリクエストのタイトル・説明・ステータスなどに加え、コーディングエージェントセッション情報も取得できるようになりました。
このツールは、コーディングエージェント体験で作成されたプルリクエストを開くと自動でチャットに添付され、コンテキストを維持したまま作業を継続できます。
Python¶
Python Environments 拡張機能の改善¶
Python Environments 拡張機能 がいくつか改善されました:
- Poetry 2.0.0 以降のバージョンでのターミナルアクティベーション対応を強化
- クイック作成オプションで、同一ワークスペース内に一意な仮想環境を複数作成可能に
- 生成された
.venv
フォルダーがデフォルトで gitignore 対象に - 環境削除プロセスの改善
Python 拡張機能に Python Environments を同梱¶
Python Environments 拡張機能 を Python 拡張機能のオプション依存として段階的に同梱し始めました。 今後、Python 拡張機能のインストール時に自動で追加される場合があります (Python Debugger や Pylance と同様)。 この段階的展開で早期フィードバックを収集し、一般提供前の信頼性を確保します。
Python Environments 拡張機能には、ワンクリック環境セットアップ、自動ターミナルアクティベーション ("python-envs.terminal.autoActivationType" 設定)、環境・パッケージ管理 UI など、これまで導入した主要機能がすべて含まれています。
展開期間中に利用するには、拡張機能がインストールされていることを確認し、VS Code の settings.json に以下を追加してください:
"python.useEnvironmentsExtension": true
Python 3.13 での PyREPL 無効化¶
Python 3.13 以降では、インタラクティブターミナルでのインデントやカーソル問題に対応するため PyREPL を無効化しました。 詳細は Disable PyREPL for >= 3.13 をご覧ください。
Pylance MCP ツール (実験的)¶
Pylance 拡張機能 に実験的な MCP ツールが追加されました。 Pylance のドキュメント・インポート解析・環境管理などにアクセスできます。 これらのツールはプレリリース版で利用可能で、今後さらに使いやすく・価値あるものに進化予定です。 ご意見は pylance-release リポジトリまでお寄せください。
GitHub 認証¶
GitHub サインインフローの刷新¶
今回のリリースでは、vscode://
プロトコル URL ではなくループバック URL フローをデフォルトにし、GitHub サインインフローを刷新しました。 これにより、カスタム URL スキームをサポートしないプラットフォームでも信頼性の高いサインインが可能です。
GitHub でサインインすると、http://localhost:PORT/
のようなループバック URL にリダイレクトされます。 これにより、カスタム URL スキームに依存せずサインインが完了します。 その後、vscode://
URL にリダイレクトされますが、VS Code への復帰にこの URL の解決は不要です。
つまり、すべてのプラットフォームで信頼性の高いサインインと、vscode://
URL を使った VS Code への復帰の両方を実現しています。
また、この ランディングページも新デザイン になりました。 今後、他のサインイン体験にも順次適用予定です。
拡張機能開発¶
vscode.openFolder コマンドでファイルを開くオプション追加¶
vscode.openFolder
コマンドを呼び出す拡張機能で、filesToOpen?: UriComponents[]
オプションを指定し、ワークスペースウィンドウで開くファイルを選択できるようになりました。
例:
vscode.commands.executeCommand('vscode.openFolder', <folder uri>, { filesToOpen: [ /* files to open */]});
提案 API¶
エンジニアリング¶
esbuild による CSS の最小化¶
VS Code では長らく JavaScript のバンドル・最小化に esbuild
を使ってきましたが、CSS ファイルのバンドル・最小化にも対応しました。
tsconfig.json によるレイヤーチェックの厳格化¶
複数の tsconfig.json
を使い、ターゲット環境ルール に準拠しているかを CI でチェックします。 たとえば node 専用型が browser レイヤーに追加された場合など、npm run valid-layers-check
でビルドが失敗します。
vscode-bisect によるサニティテスト¶
vscode-bisect
プロジェクトは、VS Code ビルドのリグレッション特定 (git の git bisect
のようなもの) に長く使われてきました。 新たに --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): #215925 PR #219321 の修正
- @chengluyu (Luyu Cheng): suggestion widget への
font-variation-settings
適用 (fix #199954) PR #200000 - @DrSergei: デバッグアダプター機能チェックの改善 PR #250779
- @emmanuel-ferdman (Emmanuel Ferdman): launch.json 参照修正 PR #250187
- @Enzo-Nunes (Enzo Nunes): makefiles の行コメントアクション修正 (Fixes #234464) PR #243283
- @Gallaecio (Adrián Chaves): typo 修正 (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)
- web 環境検出で navigator チェックを行わないよう修正 PR #251688
- カスタムエディターのリネーム時の "Assertion Failed: Argument is undefined or null" 修正 PR #252071
- @JJJJJJ-git: ChatService の undo バグ修正 PR #253478
- @liuxingbaoyu: ユーザー名に Unicode を含む場合の PowerShell 問題修正 PR #251534
- @matthew-godin: patternIndices typo 修正 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): editor sticky scroll のリファクタリング PR #248131
- @RedCMD (RedCMD)
- 拡張機能デバッグ時の
installation folder
バナー警告無効化 PR #244305 - TypeScript の Comment onEnterRules 制限 PR #251692
- 拡張機能デバッグ時の
- @ssigwart (Stephen Sigwart): PHP/JS/TS のインデント更新 PR #251465
- @Sublimeful (Jian Qiang Wu): ターミナルがない場合の Terminal: Run Recent Command 実装 PR #250799
- @tmm1 (Aman Karmani): [engineering] Swc transpile の不要参照削除 PR #252375
- @UziTech (Tony Brix): ミドルマウスボタンによるスクロール機能追加 PR #245882
- @yiliang114 (易良): Notebook findWidget のマッチ数オーバーフロー修正 PR #250738
vscode-copilot-chat
への貢献:
- @caohy1988 (Hai-Yuan Cao): agent mode 用 summary prompt 更新 PR #13
- @CharlesCNorton: README.md 更新 PR #54
- @gmacario (Gianpaolo Macario): docs(CONTRIBUTING): Table of Contents 同期 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 を language servers リストに追加 PR #2160
monaco-editor
への貢献:
- @Ho1yShif (Shifra Williams): snowflake sql キーワード追加 PR #4915
ripgrep-prebuilt
への貢献: