まえがき
VSCode1.107 のリリースノートを ChatGPT で日本語に翻訳しました。
VSCode 1.107 Release Notes
次のバージョン:VSCode1.108のリリースノート(日本語訳)(2026/2/6頃リリース予定)
前のバージョン:VSCode1.106のリリースノート(日本語訳)
リリースノート一覧:VSCodeリリース情報
2025年11月 (バージョン 1.107)
リリース日: 2025年12月10日
VS Code 1.107 ではマルチエージェントのオーケストレーションが導入されました。GitHub Copilot とカスタムエージェントを組み合わせて使用し、開発を加速しつつ並列化できます。
Agent HQ により、すべてのエージェントを一元管理でき、Copilot とカスタムエージェントがタスクをまたいで協調できます。
バックグラウンドエージェントはアクティブな作業に干渉しないよう分離されたワークスペースで動作し、複数のバックグラウンドタスクを同時に有効にできます。
ローカル、バックグラウンド、クラウドの各エージェントに作業を委譲して、ワークフローを中断なく進められます。
VS Code 1.107 リリースハイライト動画 で、エンジニアによるこれらの機能紹介をご覧ください。
Agents
エージェントセッションとチャットの統合
設定: chat.viewSessions.enabled
エージェントは、あなたの代わりにコーディングタスクを自律的に実行するための重要な存在です。チャットインターフェイスは、エージェントがどこで動作していても (VS Code ローカル、CLI を使ったバックグラウンド、クラウド、サードパーティ拡張機能など) エージェントと対話する主な手段です。VS Code でのエージェントの使用方法
についてはドキュメントをご覧ください。
今回のイテレーションでは、エージェントセッションを Chat ビューに統合し、エージェント作業時の体験を一元化しました。一目でセッションのステータス、進捗、ファイル変更の統計を確認できます。セッションをアーカイブ / アンアーカイブして、セッション一覧を整理することもできます。
ワークスペースで作業している場合、セッション一覧には現在のワークスペースに関連するセッションのみが表示されます。空のウィンドウの場合は、すべてのワークスペースにまたがるセッションが表示されます。
一覧からセッションを選択すると、サイドバーの Chat ビューでそのセッションが開き、会話履歴をすべて確認できます。必要に応じて、セッションをエディタタブや新しいウィンドウとして開くこともできます。セッションを右クリックすると、これらのオプションを含むコンテキストメニューが表示されます。
Chat ビューでセッション一覧を表示したくない場合は、
chat.viewSessions.enabled
を設定して無効化できます。
この変更に伴い、スタンドアロンの Agent Sessions ビューはデフォルトで無効になりました。引き続きスタンドアロンビューを使いたい場合は、
chat.agentSessionsViewLocation
から再度有効化できます。今後のリリースで、スタンドアロンビューは完全に削除される予定です。
コンパクトビュー
Chat ビューが狭い場合、新しいチャットセッションを開始すると、セッション一覧は Chat ビュー内に表示されます。デフォルトでは、アーカイブされていない直近 3 件のセッションが表示されます。
Show All Sessions を選択すると、検索やフィルタリングが可能な完全なセッション一覧を表示できます。
アクションを使ってエージェントセッションのサイドバーをトグルし、すべてのセッションをより広いビューで確認することもできます。
サイドバイサイドビュー
Chat ビューが十分な幅になった場合 (たとえば最大化したとき)、エージェントセッション一覧は Chat ビューとサイドバイサイドで自動的に表示されます。このビューでは、コンテキストを失うことなくセッション間を素早く移動できます。対応するコントロールを使って、このサイドバイサイドビューを手動でトグルすることも可能です。
セッション一覧を絞り込むために、プロバイダーや状態でフィルタリングできます。VS Code はこのフィルターを永続化します。
配置方向の設定
設定: chat.viewSessions.orientation
デフォルトでは、Chat ビューが十分に広い場合、またはセッション一覧を手動でトグルした場合に、セッション一覧は Chat ビューとサイドバイサイドで表示されます。この挙動は chat.viewSessions.orientation
設定で変更できます。
auto (デフォルト): 幅が十分な場合はセッションをサイドバイサイドで表示し、それ以外は空のチャットの上に表示stacked: 常に空のチャットの上にセッションを表示sideBySide: 幅が十分な場合はセッション一覧をサイドバイサイドで表示し、それ以外の場合はセッション一覧を非表示
ローカルエージェントセッションは閉じてもアクティブのまま
以前は、ローカルチャットセッションを閉じると、実行中のエージェントリクエストがキャンセルされていました。このため、長時間実行タスクや複数タスクの同時実行において、ローカルエージェントの有用性が制限されていました。
現在は、チャットエディタや Chat ビューで開いていない場合でも、ローカルエージェントはバックグラウンドで動作し続けます。セッション一覧で実行中のエージェントのステータスを確認でき、いつでもそのセッションに戻って詳細な進捗を確認できます。
チャットでローカルエージェントを使用する方法 について詳しく学べます。
バックグラウンドまたはクラウドエージェントでタスクを継続
ローカルエージェントは、VS Code 内でのインタラクティブなセッションに最適で、エージェントとやり取りしながらブレインストーミングや探索的タスク、実装プランの検討などに役立ちます。明確なプランができたら、そのタスクをバックグラウンドまたはクラウドエージェントに引き継ぎ、自律的に実行させることができます。
今回のイテレーションでは、ローカルチャットをバックグラウンドまたはクラウドエージェントで継続する体験を改善しました。UI 全体で、新しい Continue in オプションを使ってタスクをシームレスに継続できます。
ローカルチャットをバックグラウンドまたはクラウドエージェントに引き継ぐと、現在のチャットコンテキストが引き継がれ、引き継ぎ後に元のセッションはアーカイブされます。
Chat ビュー:
Plan エージェント:
Untitled プロンプトファイル:
Git worktree によるバックグラウンドエージェントの分離
バックグラウンドエージェント (以前は CLI エージェントと呼ばれていました) は、バックグラウンドで自律的に動作するよう設計されており、他の作業に集中している間にタスクをオフロードできます。ただし、複数のバックグラウンドエージェントを同時に実行すると、同じワークスペース内のファイルを変更して競合が発生する可能性があります。
今回のイテレーションでは、Git worktree のサポートを導入し、バックグラウンドエージェントの分離を強化しました。新しいバックグラウンドエージェントを作成する際、現在のワークスペースで実行するか、専用の Git worktree で実行するかを選択できます。
バックグラウンドエージェントを worktree で実行すると、エージェントはセッション用の新しい Git worktree を自動的に作成し、その変更を別フォルダーに隔離します。これにより、複数のバックグラウンドエージェントを競合なく同時に実行できます。
エージェントがタスクを完了した後、worktree 内で行われた変更を簡単にレビューし、メインワークスペースにマージできます。また、worktree の変更をワークスペースに直接適用する新しいアクションも追加しました。
VS Code でバックグラウンドエージェントを使用する方法 について詳しく学べます。
バックグラウンドエージェントへのコンテキスト追加
バックグラウンドエージェントは、複数のコンテキスト添付タイプをサポートするようになりました。選択範囲、問題 (problems)、シンボル、検索結果、git コミットなどを任意のプロンプトに添付できます。これにより、よりリッチで精度の高いプロンプトを構築でき、より複雑で柔軟なワークフローが可能になります。
たとえば、報告された問題を添付して、ファイルパスや行番号を手動で指定することなく、その修正をエージェントに依頼できます。
GitHub 組織全体でカスタムエージェントを共有 (実験的)
設定: github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents
これまでは、カスタムエージェントはワークスペースまたはユーザーレベルでしか定義できませんでした。組織全体でカスタムエージェントを共有したい場合は、エージェントファイルを各ユーザーに手動で配布する必要がありました。
このリリースでは、GitHub アカウントの組織レベルでカスタムエージェントを定義できるようになりました。この実験的機能により、組織固有のエージェントを個人用エージェントと並行してチャットで使用できます。
この機能を有効にするには、
github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents
を true に設定します。有効化すると、組織が作成したカスタムエージェントが VS Code の Agents ドロップダウンに表示されます。
組織向けカスタムエージェントの作成方法については、GitHub ドキュメントの Create custom agents を参照してください。
バックグラウンドエージェントでカスタムエージェントを使用 (実験的)
設定: github.copilot.chat.cli.customAgents.enabled
バックグラウンドエージェントに独自のカスタムエージェントを持ち込めるようになりました。有効化すると、.github/agents フォルダーで定義されたカスタムエージェントがエージェント一覧に表示され、ワークフローや要件に合わせて調整されたエージェントを活用できます。
この実験的機能は、 github.copilot.chat.cli.customAgents.enabled 設定で有効化できます。
カスタムエージェントの定義 について、ドキュメントで詳しく学べます。
エージェントツールの再編成
エージェントツール構造を再編成し、GitHub カスタムエージェントとの互換性を高めました。これにより、VS Code と GitHub 環境の両方で、別々の設定を必要とせずにカスタムエージェントをより簡単に再利用できます。
この変更の一環として、既存の一部ツール参照と、それらが属するツールセットの名称を変更しました。エージェントファイル内の既存のツール参照は引き続き動作しますが、最新の推奨形式にリネームするためのコードアクションが表示されます。これにより、エージェント設定が最新のベストプラクティスに従い、プラットフォーム間の互換性を維持できます。
エージェントをサブエージェントとして実行 (実験的)
設定: chat.customAgentInSubagent.enabled
エージェントが複雑な問題を解決する必要がある場合、タスクをサブエージェント
に委譲できます。サブエージェントはメインのチャットセッションとは独立して動作し、独自のコンテキストウィンドウを持ちます。これにより、メインの会話は高レベルな目的に集中でき、コンテキストウィンドウの制約も管理しやすくなります。
このリリースでは、カスタムエージェント
を通じてサブエージェントをカスタマイズできるようになりました。カスタムエージェントでは、AI の専門的なペルソナを定義し、特定のタスクやドメインに合わせて振る舞いを調整できます。たとえば、コード変更ではなくコードレビューに特化した code reviewer エージェントなどです。
カスタムエージェントをサブエージェントとして使用するには、次の手順に従います。
- chat.customAgentInSubagent.enabled を有効にします。
- まだ持っていない場合は、
Chat: New Custom Agentコマンドでカスタムエージェントを作成します。 - チャットでモデルに「what subagents can you use?」と尋ね、利用可能なサブエージェント一覧を確認します。作成したカスタムエージェントが一覧に表示されるはずです。
- カスタムエージェントの要件を満たすプロンプトを入力します。言語モデルは、カスタムエージェントの説明と引数をもとに、そのリクエストに使用すべきかどうかを判断します。
カスタムエージェントをサブエージェントとして使用されたくない場合は、*.agent.md ファイルの metadata プロパティ infer を false に設定してください。
チャットでサブエージェントを使用する方法 について詳しく学べます。
Claude のスキルを再利用 (実験的)
設定: chat.useClaudeSkillsSkills は Claude Code
によって導入された概念で、エージェントがオンデマンドで読み込める機能群です。各スキルには、そのスキルを説明する短いディスクリプションが付いており、必要に応じてエージェントはスキルの完全な手順を読むことができます。スキルの手順には、スクリプトやテンプレートなどの補助ファイルが付属する場合があります。
一度読み込まれると、スキルの手順と補助ファイルはメイン会話のコンテキストの一部になります。
VS Code は、既存のスキルを再利用できるようになりました。
chat.useClaudeSkills
設定を有効にすると、エージェントがスキルを検出して使用できるようになります。
VS Code は、~/.claude/skills/skill-name/SKILL.md にある個人用スキルと、${workspaceFolder}.claude/skills/skill-name/SKILL.md にあるワークスペースフォルダー内のプロジェクトスキルをサポートします。SKILL.md ファイルのヘッダーに、そのスキルを説明する description 属性が含まれていることを確認してください。なお、allowed-tools 属性は VS Code ではサポートされません。
エージェントモードでは、read-file ツールが有効になっていることを確認し、「What skills do you have」と尋ねてスキルが検出されているか確認します。次に、スキルで回答可能なリクエストを行います。エージェントがスキルを使用しない場合は、スキルの説明を改善するか、モデルにスキルを使うよう促してください。
Chat
インラインチャット UX
設定: inlineChat.enableV2
インラインチャット体験を、VS Code の他のチャット体験と整合させつつ、単一ファイルのコード変更に最適化する改善を続けています。
以前は、インラインチャットを一般的な質問やディスカッションにも使用できました。現在、インラインチャットはカレントファイル内でのコード変更に最適化されています。インラインチャットで対応できないタスクについては、自動的に Chat ビューにアップグレードされ、同じモデルと同じコンテキストを使ってプロンプトが再生されます。
プレビュー設定である inlineChat.enableV2 は、拡張機能がプロンプトをどのように処理するかだけを制御するようになりました。まだ開発中ですが、安心してお試しいただけます。
Language Models エディター
VS Code のチャットは、GitHub Copilot、サードパーティ拡張機能、bring your own key (BYOK) プロバイダーなど、複数の言語モデルをサポートしています。特に複数のプロバイダーから多くのモデルにアクセスできる場合、これらを管理するのは難しくなりがちです。VS Code での言語モデルの使用
について詳しく学べます。
Language Models エディターは、VS Code のチャットで利用可能なすべての言語モデルを表示・管理するための集中管理場所を提供します。チャットのモデルピッカーから、またはコマンドパレットの Chat: Manage Language Models から開くことができます。
エディターには、利用可能なすべてのモデルが一覧表示され、モデルの機能、コンテキストサイズ、課金情報、可視性ステータスなどの主要情報が表示されます。デフォルトではプロバイダーごとにグループ化されていますが、可視性でグループ化することもできます。
モデル名やコンテキストサイズにホバーすると、モデル ID、バージョン、ステータス、トークン内訳などの詳細情報が表示されます。
次の方法でモデルを検索・フィルタリングできます。
- テキスト検索 (ハイライト付き)
- プロバイダーフィルター:
@provider:"OpenAI" - 機能フィルター:
@capability:tools,@capability:vision,@capability:agent - 可視性フィルター:
@visible:true/false
モデルの可視性を管理
利用可能なモデルが増えると、モデルピッカーが煩雑になり、ナビゲーションが難しくなります。Language Models エディターでは、各モデルの可視性をトグルして、モデルピッカーに表示するモデルを制御できます。モデルにホバーして目のアイコンを選択すると、可視性を切り替えられます。
インストール済みプロバイダーからモデルを追加
Language Models エディターから Add Models... を使って、さらにモデルを追加できます。これにより、インストール済みのすべてのモデルプロバイダーのドロップダウンリストが表示されます。プロバイダーを選択すると、その設定を行い、VS Code のチャットにモデルを追加できます。
これにより、Language Models エディターから離れることなく、インストール済みの追加モデルプロバイダーを簡単に有効化できます。プロバイダー行の歯車アイコンを選択すると、プロバイダー管理にアクセスできます。
URL とドメインの自動承認
今回のイテレーションでは、fetch ツールに対する URL 自動承認のセキュリティとユーザー体験を強化しました。モデルが、あなたが明示的に要求していない URL からコンテンツを取得しようと判断した場合、新しい 2 段階の承認フローが表示されます。
最初の URL 取得リクエストを承認
このステップでは、アクセス先のドメインを信頼できるかを確認し、機密データが信頼できないサイトに送信されるのを防ぎます。
一度だけ承認するか、特定の URL またはドメインに対する今後のリクエストを自動承認するかを選択できます。
事前承認は “Trusted Domains” 機能 を尊重します。ドメインがそこに登録されている場合、そのドメインへのリクエストは自動的に承認され、レスポンスレビューのステップに進みます。取得したコンテンツをチャットや後続ツール呼び出しで使用することを承認
このステップでは、取得したコンテンツがチャットに追加されたり、他のツールに渡されたりする前にレビューできるようにし、プロンプトインジェクション攻撃を防ぎます。
たとえば、GitHub.comのようなよく知られたサイトからのコンテンツ取得を承認することはあるでしょう。しかし、イシューの説明やコメントなどのユーザー生成コンテンツには、モデルの挙動を操作しうる有害な内容が含まれている可能性があります。
VS Code チャットでの URL とドメインの承認 について詳しく学べます。
より堅牢な fetch ツール
#fetch エージェントツールは、動的な Web コンテンツをより効果的に扱えるようになりました。静的な HTML に加えて動的コンテンツも取得できます。Single-Page Application (SPA)、モダンなドキュメントサイト、Jira のような課題管理システムなど、JavaScript に依存してコンテンツを読み込むサイトでも、もはや不完全または空の結果が返されることはありません。
fetch ツールは、JavaScript の実行とコンテンツの読み込みが完了するまで待ってからページを取得し、動的にレンダリングされたコンテンツが確実に含まれるようにします。これにより、実際の利用シーンでツールの有用性が大幅に向上します。
#fetch の後に URL を指定すると、モデルはブラウザーで実際に表示されるコンテンツにアクセスし、初期 HTML の骨組みだけではありません。これにより、Web ページに関する質問やオンラインコンテンツの分析をモデルに依頼する際に、より正確で完全な情報が得られます。
Text Search ツールで無視されたファイルを検索
#textSearch ツールは、files.exclude や search.exclude 設定、.gitignore ファイル (たとえば node_modules フォルダー) で指定された無視ファイル / フォルダー内の検索をサポートするようになりました。結果がない場合でも、無視されたファイル / フォルダーに関するヒントをエージェントに返し、エージェントがそれらのファイル / フォルダー内の検索を有効にするよう促すことができます。
チャット内でのリッチなターミナル出力
Run in Terminal レスポンスで Toggle Output を使用すると、チャット内にフル機能の読み取り専用 xterm.js ターミナルとして出力がレンダリングされるようになりました。このアプローチの利点として、コマンドのバックエンドターミナルが終了した後でも VS Code がキャプチャした出力を保持するため、過去の実行をいつでも再度開いて、コマンド実行時のターミナル出力を確認できます。
チャットターミナルは、ANSI カラーのコントラストを改善するために、統合ターミナルのカラーテーマを採用します。スクリーンリーダーユーザーは、出力にフォーカスがある状態で Alt+F2 を押してアクセシブルビューを開き、簡単にレビューやナビゲーションを行えます。
チャットでターミナルコマンドを使用する方法 について詳しく学べます。
チャットターミナルでのコマンドステータス詳細
チャットターミナルのメッセージでは、コマンドの開始時刻、実行時間、終了コードが、コマンドデコレーションにホバーした際に表示されるようになりました。
このセッションでのすべてのターミナルコマンドを許可
セキュリティと制御を維持しつつチャット体験を最適化するために、ターミナルツールに新しい自動承認オプションが追加され、このセッション中の今後のすべてのコマンドを許可できるようになりました。新しいセッションを開始すると、ターミナルコマンドは既存の承認設定に従います。
チャットターミナルアクション用のキーボードショートカット
最新のチャットターミナルにフォーカスするショートカット Ctrl+Shift+Alt+T と、その展開状態をトグルするショートカット Ctrl+Shift+Alt+O が追加されました。
カスタムエージェント用のキーボードショートカット
各カスタムエージェントには、コマンドリスト内に個別のアクションが用意され、個別にキーボードショートカットを割り当てられるようになりました。たとえば、「Code Reviewer」というカスタムエージェントを定義した場合、コマンドパレットに Chat: Open Chat (Code Reviewer Agent) コマンドが追加され、それにショートカットを割り当てられます。
Azure モデルプロバイダー: 既定認証として Entra ID を使用
設定: github.copilot.chat.azureAuthType
デフォルトで、Azure モデルプロバイダーは Bring-Your-Own-Key (BYOK) モデルに接続する際に Entra ID 認証を使用するようになり、セキュリティが向上し、サインイン体験もよりスムーズになりました。
API キーを使って認証したい場合は、
github.copilot.chat.azureAuthType
をデフォルトの entraId ではなく apiKey に設定してください。
Chat ビューの外観改善
読みやすさと使いやすさを高めるために、Chat ビューの外観をいくつか改善しました。
チャットタイトル:
チャットを開くと、上部に新しいタイトルコントロールが表示され、チャットのタイトルを示すとともに、空のチャットに素早く戻る手段を提供します。この挙動は chat.viewTitle.enabled 設定で構成できます。ウェルカムバナー:
新しいチャットを開く際に、よりミニマルな体験を好む場合は、新しい設定 chat.viewWelcome.enabled でアイコンとウェルカムテキストを非表示にできます。以前のチャットセッションの復元:
再起動後や別のワークスペースを開いた後にチャットを開くと、以前のセッションがデフォルトで復元されるようになりました。この挙動は chat.viewRestorePreviousSession 設定で変更でき、常に空のチャットから開始するようにもできます。
機密ファイル編集の差分表示
settings.json や package.json などの機密ファイルをチャットが編集しようとすると、通知が表示され、変更を適用する前に承認を求められます。どのファイルを機密扱いにするかは、
chat.tools.edits.autoApprove
設定で構成できます。
以前は、モデルが提案した生の編集内容が表示されており、理解しづらい場合がありました。現在は、提案された変更の diff を表示するようになり、レビューと承認が容易になりました。
チャットでの機密ファイルの編集 について詳しく学べます。
推論とツール出力の折りたたみ (実験的)
設定: chat.agent.thinkingStyle
, chat.agent.thinking.collapsedTools
言語モデルの推論やエージェントツールの出力により、チャットの会話はすぐに長くなり、追いづらくなることがあります。前回のイテレーションでは、
chat.agent.thinkingStyle
設定を用いて、チャット内の thinking トークンの表示方法を改善しました。
今回のイテレーションでは、ツール呼び出しなどの非推論出力に対して折りたたみ可能なチャットセクションを導入し、チャット体験をさらに最適化しました。デフォルトでは、連続するツール呼び出しが折りたたまれ、視覚的なノイズが軽減されます。
折りたたみ可能な項目 (ほとんどのツールと推論テキスト) には要約が表示され、各折りたたみセクションには AI 生成のタイトルが付与されます。
MCP
最新 MCP 仕様のサポート
VS Code は、MCP 仕様の最新リビジョン 2025-11-25 をサポートします。これには、次のようなものが含まれます。
- URL モードのエリシテーション
- 長時間実行かつ堅牢なツール呼び出しやクライアント作業のための Tasks
- エリシテーションにおける列挙型選択肢の拡張
これらの改善は、VS Code がすでにサポートしていた 2025-11-25 ドラフト機能 (たとえば WWW-Authenticate スコープ同意、Client ID Metadata Document 認証フロー、ツール・リソース・サーバー用アイコンなど) に加わるものです。2025-11-25 ドラフトの変更履歴は MCP サイト
で確認できます。
VS Code での MCP サーバーの使用方法 について詳しく学べます。
GitHub Copilot Chat による GitHub MCP Server 提供 (プレビュー)
設定: github.copilot.chat.githubMcpServer.enabled
GitHub リモート MCP Server が、GitHub Copilot Chat 拡張機能に組み込まれた MCP サーバーとして提供されるようになり、GitHub リポジトリやサービスとのシームレスな統合が実現しました。この統合には次の利点があります。
- すでに GitHub MCP Server を使用している
Copilot CLIやCopilot Cloud Agentなど、他の Copilot エージェントハーネスとの整合性 - 既存の GitHub 認証状態の再利用により、追加の認証プロンプトが不要
GHE.comを含むさまざまな GitHub MCP エンドポイントの透過的なサポート
GitHub MCP Server を有効にするには、
github.copilot.chat.githubMcpServer.enabled
設定を true にします。有効化すると、エージェント使用時のツールピッカーにサーバーが自動的に表示されます。これにより、追加の設定やセットアップなしで、GitHub のイシュー、プルリクエスト、その他のリポジトリ情報について質問できるようになります。
GitHub MCP Server は、次の設定でカスタマイズをサポートします。
- github.copilot.chat.githubMcpServer.toolsets
: 利用可能なツールを構成します。デフォルトでは
defaultツールセットが使用されますが、GitHub MCP Server ドキュメント に記載されているように、ワークフローや他のツールセットを追加して拡張できます。注意: 一部のツールセットを追加するには追加の権限が必要な場合があり、再認証はまだサポートされていません。進捗は この GitHub issue で追跡できます。 - github.copilot.chat.githubMcpServer.readonly : サーバーが読み取り専用ツールのみを返すように強制し、書き込み操作を防ぎます。
- github.copilot.chat.githubMcpServer.lockdown : ツールの挙動に対する追加のセキュリティ制御を提供します。
注意: この機能は現在プレビュー段階であり、上記設定による明示的なオプトインが必要です。今後のリリースでは、必要なときに利用でき、不要なときには邪魔にならない形で、デフォルト有効にする予定です。
Accessibility
チャット確認のキーボード承認
エージェントが確認を求める際、Ctrl+Enter を使ってキーボードから承認できるようになりました。
Editor Experience
ピッカーで開いているウィンドウを示すサポートの強化
Open Recent ピッカーに、ワークスペースがすでに VS Code ウィンドウで開かれているかどうかを示すインジケーターを追加しました。
現在アクティブなウィンドウは、他の開いているウィンドウとわずかに異なる表示になり、その違いが分かりやすくなっています。どのウィンドウでも開かれていないエントリにはアイコンが表示されません。
どのウィンドウがアクティブかを示すインジケーターは、ウィンドウピッカーにも適用されています。
macOS: マウススワイプでナビゲーション
設定: workbench.editor.swipeToNavigate
macOS では、トラックパッドの 3 本指スワイプジェスチャーを使ってエディター間をナビゲートできるようになりました。左右にスワイプすると、任意のエディターグループ内で最近使用したエディター間を移動します。
workbench.editor.swipeToNavigate
設定を有効にして使用します。
注意: 現時点では 3 本指スワイプジェスチャーのみをサポートしています。動作させるには、トラックパッドのスワイプ設定が次のようになっていることを確認してください。
Swipe between pages: 3 本指で左右にスクロールSwipe between full-screen apps: 4 本指で左右にスワイプ
必要なときだけエディターホバーを表示
設定: editor.hover.enabled
エディターで自動的に表示されるホバーポップアップを無効にしつつ、キーボード修飾キーを使ってオンデマンドでホバー情報を表示できるようになりました。
editor.hover.enabled
設定は on, off, onKeyboardModifier の 3 つの値をサポートします。
onKeyboardModifier に設定すると、
editor.multiCursorModifier
設定で指定した修飾キーとは逆の修飾キーを押しながらコード上にホバーしたときのみ、ホバー情報が表示されます。これにより、テキスト選択中の視覚的なノイズを減らしつつ、必要なときにコンテキスト情報へ素早くアクセスできます。
たとえば、
editor.multiCursorModifier
が ctrlCmd に設定されている場合、Alt を押しながらホバーするとホバーが表示されます。alt に設定されている場合は、Ctrl (macOS では Cmd) を押しながらホバーすると表示されます。
Code Editing
TypeScript のリネーム候補
リネーム候補は、通常のテキスト候補ではなくシンボルのリネームが必要なタイミングを予測します。予測された場合、通常のテキスト編集とともに追加のインジケーターが表示されます。Shift+Tab を使用してシンボルのリネームを適用できます。
次の動画では、プロパティ a が width にリネームされています。その後、リネーム候補は b を height にリネームし、2 つのパラメーター a と b もそれに合わせてリネームすることを提案します。次のリネーム候補は、他のシンボルへの関連リネームを予測できる場合に最も効果的です。
注意: この機能は現在、実験としてユーザーベースに段階的に展開されており、現時点では TypeScript のみで利用可能です。他のプログラミング言語への対応も予定されています。
次の編集候補用の新しいモデル
次の編集候補 (next edit suggestions) 用に、新しいモデルをリリースしました。このモデルは、直近の編集内容をより賢く、より的確に反映します。受け入れ率と却下率の両面で大幅に改善されています。モデルとその開発
については GitHub ブログ記事をご覧ください。
ビューポート外の次の編集候補をプレビュー
現在のビューポート外に次の編集候補がある場合、スクロールして位置を移動しないと内容が分からず、不便なことがあります。この体験を改善するため、現在のカーソル位置に次の編集候補のプレビューを表示するようにしました。これにより、候補をレビューする際のフローへの影響を軽減できます。
注意: 現在の言語モデルは、カーソル付近の次の編集候補に重点を置いているため、ビューポート外の候補を見る機会はそれほど多くないかもしれません。ただし、より遠くの位置に対する候補を提示できるモデルに向けて、積極的に取り組んでいます。
VS Code のインライン候補 について詳しく学べます。
Source Control
Source Control Repositories ビューでのスタッシュ (実験的)
設定: scm.repositories.explorer
, scm.repositories.selectionMode
今回のマイルストーンでは、Source Control Repositories ビューに表示されるリポジトリアーティファクトの一覧を拡張し、Stashes ノードを追加しました。このノードの下で、スタッシュの完全な一覧を確認し、各スタッシュを表示、適用 (apply)、pop できます。コンテキストメニューには、各スタッシュを drop するアクションも含まれています。
実験的なリポジトリエクスプローラーは、 scm.repositories.selectionMode と scm.repositories.explorer 設定を有効にすることで利用できます。ぜひお試しいただき、リポジトリエクスプローラーに他にどのようなアーティファクトを表示したいかフィードバックをお寄せください。
VS Code でのソース管理の使用 について詳しく学べます。
Debugging
変数をチャットに添付
VS Code のチャットコンテキストに、変数、スコープ、式を添付できるようになりました。Variables ビューや Watch ビューのデータを右クリックするか、チャット内の Add Context ボタンを使用して行えます。
Terminal
Terminal Suggest の安定版への展開
Terminal Suggest が安定版ユーザーにも有効になり、シェルコマンド入力中にインライン補完とコンテキストヒントを提供します。候補は関連する引数値をグループ化して表示するようになり、オプションフラグとそのパラメーターが一覧内で整理された状態を保ちます。
Authentication
Microsoft 認証のクロスプラットフォームネイティブブローカーサポート
設定: microsoft-authentication.implementation
今回のマイルストーンでは、最新の MSAL ライブラリを採用し、次の環境でネイティブな体験によるサインインを可能にしました。
- Intel Mac
- Linux x64 (一部の Debian ベースディストリビューション)
これは、すでにサポートされている次の環境に加わるものです。
- Windows x64
- macOS M シリーズ (ARM)
macOS と Linux のサポートには、マシンが Intune に登録されており、ネイティブブローカーの使用がオプトインされている必要があります。
これにより、シングルサインオンフローがスムーズになり、Microsoft 認証セッションを取得する推奨方法となります。MSAL チームは、残りのプラットフォーム (Windows ARM、Linux ARM、および追加ディストリビューション) に対しても順次有効化していく予定です。
注意: ブローカー経由の認証で問題が発生する場合は、
microsoft-authentication.implementation
を msal-no-broker に変更すると、ブラウザーを使った認証に切り替えられます。
旧式 Microsoft 認証の廃止
先月お知らせしたとおり、利用率が低く、Entra ID チームからも推奨されていなかったため、
microsoft-authentication.implementation
の classic オプションを削除しました。
リマインダー: microsoft-authentication.implementation 設定は、Microsoft アカウントで問題が発生した場合に、ユーザーがネイティブブローカー認証をオプトアウトできるようにするためのものでした。この設定の値は次のとおりです。
msal- 利用可能な場合はブローカー認証付きの MSAL を使用 (デフォルト)msal-no-broker- ブローカー認証なしで MSAL を使用
Languages
TypeScript 7.0 プレビュー
今後の TypeScript 7 リリース に対する VS Code のサポートを改善するため、TypeScript チームとの共同作業を継続しています。TypeScript 7 はネイティブコードによる完全な書き直しであり、劇的なパフォーマンス向上をもたらします。
TypeScript 7 プレビューは、型チェックサポートがほぼ完全であり、TypeScript チームはエディター機能の追加にも精力的に取り組んでいます。最近のハイライトには、自動インポート補完、リネームサポート、references code lens などがあります。
TypeScript 7.0 は、TypeScript (Native Preview) 拡張機能
をインストールすることで今すぐ試せます。その後、JavaScript または TypeScript ファイルで TypeScript (Native Preview): Enable (Experimental) コマンドを実行すると、すべての IntelliSense がネイティブプレビューを使用するように切り替わります。TypeScript 7 と TypeScript プロジェクト全体の方向性については、最新の TypeScript 7 ブログ記事
をご覧ください。
今後も TypeScript チームと緊密に連携し、TypeScript 7 の VS Code サポートを改善していく予定です。TypeScript 7 の準備が整い次第、VS Code の JavaScript / TypeScript IntelliSense を支えるデフォルト体験として切り替える長期的な計画があります。古い TS バージョンを使用する必要がある場合や、TypeScript 7 に簡単には移植できない TypeScript service plugin などのエディター機能が必要な場合でも、TypeScript 7.0+ と並行して既存の TypeScript バージョンを当面サポートし続ける予定です。
Remote Development
Remote Development 拡張機能 を使用すると、Dev Container 、SSH 経由のリモートマシン、Remote Tunnels 、Windows Subsystem for Linux (WSL) をフル機能の開発環境として利用できます。
ハイライト:
- SSH 再接続の猶予時間の制御
これらの機能について詳しくは、Remote Development リリースノート をご覧ください。
Enterprise
VS Code のエンタープライズ機能 について、ドキュメントで詳しく学べます。
エージェントツールの自動承認を制御
設定: chat.tools.eligibleForAutoApproval
特定のエージェントツールは、明示的なユーザー承認なしに使用するとリスクが高くなります。特に、破壊的な操作を行えるもの、機密データにアクセスできるもの、バックグラウンドで任意コードを実行できるもの (たとえば runTask) などです。
新しい chat.tools.eligibleForAutoApproval 設定により、自動承認の対象とするツールを定義できるようになりました。自動承認から除外されたツールについては、ユーザーはチャット内で「常に承認」オプションを選択できず、使用のたびに明示的な承認が必要になります。
組織は、この挙動をエンタープライズポリシーとしてユーザー全体に適用し、エージェント使用時のセキュリティを強化できます。
ポリシーによるエージェント使用の無効化
エンタープライズポリシーでチャットにおけるエージェント使用が無効化されている場合、Agents ピッカーは、それらが利用できない理由をより明確に伝えるようになりました。
Codespaces での GitHub Enterprise ポリシーサポート
GitHub では、エンタープライズまたは組織に対してポリシーを指定し、それを VS Code に適用できます。たとえば、組織の開発者が使用する MCP レジストリ URL を構成 できます。
このリリースでは、GitHub Codespaces を VS Code から使用する際にも、これらのポリシーをサポートしました。開発者が Codespace を開くと、ローカルで VS Code を使用する場合と同様に、同じポリシーが自動的に適用されます。
Contributions to extensions
GitHub Pull Requests
プルリクエストとイシューの作業・作成・管理を可能にする GitHub Pull Requests 拡張機能に、さらなる進捗がありました。新機能には次のものが含まれます。
- プルリクエストまたはイシューの Webview がアクティブなときの、プルリクエスト / イシューの暗黙的コンテキスト
- 「Add Context」を通じて、プルリクエストやイシューをチャットセッションに明示的なコンテキストとして追加可能
- Copilot プルリクエストを、単一ボタンで
ready for reviewにし、approveし、auto-mergeを設定可能
拡張機能バージョン 0.124.0 のすべての変更については、changelog
をご覧ください。
Proposed APIs
Contributed Chat Context
拡張機能がチャット用のコンテキストプロバイダーを提供できるようにする、新しい API 提案があります。これにより、拡張機能は自分たちのドメインからリッチなコンテキストをチャットセッションで利用できるようになります。たとえば、GitHub Pull Request 拡張機能は次のコンテキストを提供します。
- 現在のリポジトリ、ブランチ、プルリクエストに関する情報を含むワークスペースコンテキスト
- プルリクエストまたはイシューの Webview がアクティブなときの暗黙的なプルリクエスト / イシューコンテキスト
- ユーザーが「Add Context」を通じて追加した場合の、明示的なプルリクエスト / イシューコンテキスト
API はまだ初期段階のため、今後変更が入る可能性があります。提案のどの部分が拡張機能作者のニーズを満たすかについて、フィードバックを歓迎します。提案は次のファイルで確認できます: vscode.proposed.chatContextProvider.d.ts 。
Engineering
ビルドの段階的ロールアウト
Insiders ビルドのリリースを、4 時間の時間枠で段階的にロールアウトし始めました。これにより、Insiders ユーザーは、更新通知を受け取るタイミングが従来より少し遅くなる場合があります。すぐに更新したい場合は、Check for Updates を実行して、即座に更新を適用できます。
Stable ユーザー向けには、2025 年 11 月 (1.107) リリースを 24 時間の時間枠でロールアウトします。Insiders と同様に、Check for Updates を実行すれば、すぐに更新を適用できます。
Web サイト検索機能の改善
公式サイト の検索機能を改善し、高速なクライアントサイド検索により、ドキュメント全体を簡単かつ迅速にナビゲートできるようにしました。
この機能の背後にあるライブラリはオープンソース化されており、docfind としてダウンロードして、あなたのプロジェクトでも利用できます。この技術の背景にあるイノベーションについては、後日ブログ記事で詳しく紹介する予定です。
TypeScript を直接実行するビルドスクリプトへの更新
今回のイテレーションでは、ビルドスクリプトを整理し、扱いやすく保守しやすくしました。これらのビルドスクリプトは、コンパイル済み TypeScript、ts-node で実行される TypeScript ファイル、JavaScript が混在していました。多くのスクリプトは型チェックされておらず、commonjs (require) を使用しており、import / export を使ったモダンなモジュールではありませんでした。さらに悪いことに、多くの TypeScript ビルドスクリプトでは、コンパイルされた JS 出力をソース管理にチェックインする必要がありました。まさに混乱状態でした。
幸いにも、Node 22.18+ ではTypeScript を直接スクリプトとして実行
できるようになりました。これにより、ビルドスクリプトをモダンな TypeScript に段階的に移行できます。新しい TypeScript コードを Node から直接実行できるようにするため、次の tsconfig オプションを使用しました。
| |
GitHub Copilot は、多くの必要な変更 (古い commonjs ファイルをモジュールに変換したり、型注釈を追加したりする作業など) の自動化に役立ちました。
注意すべき点として、Node は TypeScript コードを実行できますが、実際には型チェックを行いません。型チェックには引き続き tsc が必要です。VS Code では、ts-go
を使用しており、すべてのビルドスクリプトを 1 秒未満で完全に型チェックできます。
node build/hygiene.ts を直接実行できるのは非常に便利です。完全に TypeScript に移行したことで、ビルドスクリプトをモダン化し、型安全性を高められたため、理解や変更がはるかに容易になりました。さらに、これまでチェックインしておく必要があった約 15,000 行のコンパイル済み JS コードを削除できました。
Copilot 拡張機能の統合
設定: chat.extensionUnification.enabled
インライン候補は、GitHub Copilot Chat 拡張機能から提供されるように完全に移行されました。この変更の一環として、GitHub Copilot 拡張機能はすべてのユーザーでデフォルト無効になりました。
インライン候補で問題が発生した場合は、ぜひ報告してください。一時的に以前の挙動に戻したい場合は、
chat.extensionUnification.enabled
を false に設定すると、GitHub Copilot 拡張機能が再度有効になります。
なお、GitHub Copilot 拡張機能は 2026 年 1 月に完全に非推奨となる予定であり、その時点で chat.extensionUnification.enabled
設定も削除されます。
注目すべき修正
- vscode#233635 - 他のウィンドウを閉じるアクションを追加
- vscode#262817 - 左端のグループで “Move Editor into Previous Group” を実行した場合、左側に新しいグループを作成するように
- vscode#264569
-
window.activeBorderの色を設定・削除してもウィンドウ枠の色がリセットされない - vscode#140186 - リモートコンテナーをワークスペースとして開いているとローカルターミナルを開けない
- vscode#228359 - ターミナルを再起動すると、しばしばターミナルが単に閉じてしまう
- vscode#232420 - Python 3.13 使用時にターミナルカーソル位置が誤っている
- vscode#247568
- ファイル名にコロンを含むファイルをターミナルで
Ctrl+Clickしても開けず、先頭のゼロが削除される - vscode#275011 - 信頼済みワークスペースで WSL 上の VS Code を開くと、奇妙なターミナルメッセージが表示される
- vscode#275417
-
reveal:never, close:trueを指定したタスクが WSL で動作しなくなった - vscode#277311 - コマンドパレットの “recently used” リストからコマンドを削除する “X” ボタンを追加
- vscode#282222
- SCM -
git blame/timeline/graphホバーのレンダリングを改善。Thanks to Stanislav Fort (Aisle Research) - vscode-python-environments#1000 - “Command Prompt” 使用時に環境のアクティベーションが安定して動作しない
謝辞
Issue tracking
Issue トラッキングへの貢献:
- @gjsjohnmurray (John Murray)
- @RedCMD (RedCMD)
- @tamuratak (Takashi Tamura)
- @IllusionMH (Andrii Dieiev)
- @albertosantini (Alberto Santini)
vscode への貢献:
- バッククォートを含む場合にターミナルタブのプロンプト入力が壊れる問題を修正 PR #272425
microsoft#272425のクリーンアップ PR #277406
@bilogic :
// #region ...も有効なマーカーとして認識 PR #278943@busorgin (Artem Busorgin) :
VSBufferでTextDecoder.ignoreBOMをtrueに設定 PR #272389@cannona (Aaron Cannon) : “Move Editor into Previous Group” で新しいグループを作成できるように PR #275968
@DrSergei (Sergei Druzhkov) : ブレークポイント範囲計算の修正 PR #280263
@gjsjohnmurray (John Murray) : 一部設定での
status barの非標準な大文字表記を修正 (fix #277376) PR #277383@jakebailey (Jake Bailey) :
@types/vscodeのpackage.jsonも更新 PR #277972@JeffreyCA : Terminal suggest - 永続オプションを候補に含め、候補グルーピングを改善 PR #276409
@joelverhagen (Joel Verhagen) : NuGet MCP インストールからのランタイム設定を期待するように PR #271770
@Josbleuet (Eric Fortin) : Dynamic Auth Provider ロガーファイル名の不正文字を修正 PR #280217
@nikdmello (Nik D’Mello) : KaTeX マッチングで jQuery 式を扱うための
katex正規表現を更新 PR #269635@ramanverse (Raman) : 廃止された
maybeMigrateCurrentSessionメソッドを削除 PR #280042@remcohaszing (Remco Haszing) :
Cursor mdcファイルを Markdown としてマーク PR #276518@SalerSimo : 設定の boolean ウィジェットでオブジェクトがはみ出す問題を修正 PR #278884
- fix: パンくずリストのメモリリーク PR #276597
- fix: クイック diff モデルのメモリリーク PR #276914
- fix: パンくずリストのメモリリーク PR #276915
- fix: ターミナルプロセスのメモリリーク (一部) PR #276962
- fix: スタートアップページのメモリリーク PR #277199
- fix: ターミナルタブリストのメモリリーク PR #277225
- fix: 解放されないサブデコレーションによるメモリリーク PR #278328
- fix: デコレーション登録におけるメモリリークの可能性 PR #278331
- fix: タスク問題モニターのメモリリーク PR #279093
- fix: 履歴サービスのメモリリーク PR #279246
- fix: コンポジットバーのメモリリーク PR #280659
- コードブロックエディターのレンダリング完了後に
onDidChangeHeightを発火するよう修正。Fix #265031 PR #274691 - fix: Markdown レンダリング用
DOM.resetでchildrenではなくchildNodesを使用。Fix #266103 PR #276890 - fix:
$(a+b)^2$を正しく扱うようmathInlineRegExpを更新 PR #280021
- コードブロックエディターのレンダリング完了後に
@yavanosta (Dmitry Guketlev) :
UriIdentityServiceのパフォーマンス改善 (#_273108) PR #273111@yaxiaoliu : fix(process-explorer): 名前検索用正規表現の誤りを修正 PR #280273
vscode-copilot-chat への貢献:
@cuining : ESLint 設定を更新し、ハードコードされた制限付きインポートリストの代わりに Node 組み込みモジュールを使用 PR #2107
@joelverhagen (Joel Verhagen) :
server.jsonのフォーマットを VS Code コアから分離 PR #1373
vscode-js-debug への貢献:
- @marat-gainullin
: さまざまな箇所での
undefined参照を修正 PR #2297
vscode-pull-request-github への貢献:
vscode-python-debugger への貢献:
- @rchiodo (Rich Chiodo)
:
debugpyを最新に更新 PR #877
vscode-python-environments への貢献:
- @zsol (Zsolt Dollenstein)
:
UvWorkspace環境もサポート PR #1022
language-server-protocol への貢献:
- @arshadrr (Arshad Riyaz)
:
slang-serverを追加 PR #2200
node-native-keymap への貢献:
- @tmm1 (Aman Karmani)
:
msctf.hヘッダーの大文字小文字を修正 PR #64 - @yonas (Yonas Yanfa)
:
README.mdを更新し、FreeBSD での依存関係としてlibxkbfileを追加 PR #61
node-pty への貢献:
- @42lizard (Oliver Gassner)
:
termiosとutil用の OpenBSD 向けインクルードを追加 PR #817 - @huangcs427 (huangcs) : “Enjoy Git” の実例を追加 PR #818
python-environment-tools への貢献:
- @reflectronic (John Tur) : Windows でコンソールウィンドウを作成せずにコマンドを実行 PR #266
- @zsol (Zsolt Dollenstein)
:
uvワークスペースを検出 PR #263