コンテンツにスキップ

2025 年 11 月 (バージョン 1.107)

リリース日: 2025 年 12 月 10 日

Update 1.107.1: このアップデートでは、エージェントセッションエクスペリエンス が改善され、エージェントワークフローチュートリアル が追加され、いくつかの 問題 が修正されました。主なハイライトは以下の通りです:

  • エージェントセッションビューがデフォルトでサイドバイサイドになり、トグル状態が記憶されるようになりました。
  • 入力が必要なエージェントセッションが明確にマークされるようになりました。
  • バックグラウンドセッションを作成する際にワークスペースの変更をコピーする機能がサポートされました。
  • 新しいセッションを作成してもチャットプロンプトがクリアされなくなりました。
  • クラウドセッションでのツール呼び出しがデフォルトで折りたたまれるようになりました。

VS Code 1.107 では、マルチエージェントオーケストレーションが導入されました。GitHub Copilot とカスタムエージェントを併用して、開発を加速および並列化できます。

  • Agent HQ は、すべてのエージェントを管理するための単一の場所を提供し、Copilot とカスタムエージェントがタスク全体で連携できるようにします。
  • Background agents は、アクティブな作業を妨げないように分離されたワークスペースで実行され、複数のバックグラウンドタスクを同時に有効にします。
  • Delegate ローカル、バックグラウンド、またはクラウドエージェント間で作業を委任し、中断することなくワークフローを維持します。

VS Code 2025年11月リリース画像。


エンジニアによるこれらの機能の紹介については、VS Code 1.107 リリースハイライトビデオ をご覧ください!

ハッピーコーディング!


これらのリリースノートは、code.visualstudio.comUpdates でオンラインで読むことができます。
Insiders: Insiders ビルドのナイトリービルドをダウンロード して、最新のアップデートが利用可能になり次第お試しください。


エージェント

  • チャットからエージェントを管理 (詳細)。
  • 組織全体でエージェントを共有 (詳細)。
  • チャットが閉じている間もエージェントをアクティブに維持 (詳細)。
  • エージェントセッションをローカルからクラウドへ移動 (詳細)。
  • 専用の Git ワークツリーでエージェントを実行 (詳細)。
  • バックグラウンドエージェントにコンテキストを添付 (詳細)。
  • バックグラウンドエージェントをカスタマイズ (詳細)。
  • 環境全体でカスタムエージェントを再利用 (詳細)。
  • カスタムサブエージェントを実行 (詳細)。
  • Claude スキルを再利用 (詳細)。

エージェントセッションとチャットの統合

Setting: setting(chat.viewSessions.enabled)

Update 1.107.1: このアップデートでは、サイドバイサイドセッションエクスペリエンスが大幅に改善されました。トグルでセッションを非表示にすると、その選択が記憶され、チャットビューのサイズを自由に調整できるようになりました。エージェントワークフローチュートリアル で始めましょう。

エージェントは、ユーザーに代わってコーディングタスクを自律的に実行するための鍵となります。チャットインターフェイスは、VS Code 内でローカルに実行されているか、CLI を使用してバックグラウンドで実行されているか、クラウドで実行されているか、サードパーティの拡張機能から実行されているかに関係なく、エージェントと対話するための主要な方法です。詳細については、ドキュメントの VS Code でのエージェントの使用 を参照してください。

このイテレーションでは、エージェントセッションをチャットビューに統合し、エージェントを使用する際の統一されたエクスペリエンスを提供しました。一目で、セッションのステータス、進行状況、ファイル変更の統計を確認できます。セッションをアーカイブまたはアーカイブ解除して、セッションリストを管理しやすくすることができます。

ワークスペースで作業している場合、セッションリストには現在のワークスペースに関連するセッションのみが表示されます。空のウィンドウにいる場合は、ワークスペース全体のすべてのセッションが表示されます。

リストからセッションを選択すると、サイドバーのチャットビューでセッションが開き、完全な会話履歴を確認できます。必要に応じて、セッションをエディタータブまたは新しいウィンドウとして開くこともできます。セッションを右クリックすると、これらのオプションを含むコンテキストメニューが表示されます。

セッションリスト内のセッションのコンテキストメニューを示すスクリーンショット。

setting(chat.viewSessions.enabled) を構成することで、チャットビューのセッションリストを無効にすることができます。

この変更の結果として、スタンドアロンの Agent Sessions ビューをデフォルトで無効にしています。スタンドアロンビューを引き続き使用したい場合は、setting(chat.agentSessionsViewLocation) を介して再度有効にすることができます。将来のリリースでは、スタンドアロンビューを完全に削除する予定です。

コンパクトビュー

チャットビューが狭い場合、新しいチャットセッションを開始すると、セッションのリストがチャットビュー内に表示されます。デフォルトでは、リストにはアーカイブされていない最新の 3 つのセッションが表示されます。

チャットビューの最近のセッションを示すスクリーンショット。

Show All Sessions を選択すると、検索とフィルターのオプションを含むセッションの完全なリストが表示されます。

チャットビューのすべてのセッションを示すスクリーンショット。

アクションを使用してエージェントセッションサイドバーを切り替え、すべてのセッションをより広く表示することができます。

サイドバイサイドビュー

チャットビューが十分に広い場合 (たとえば、最大化したとき)、エージェントセッションのリストは自動的にチャットビューと並べて表示されます。このビューでは、コンテキストを失うことなくセッション間をすばやく移動できます。対応するコントロールを使用して、このサイドバイサイドビューを手動で切り替えることもできます。

チャットビューと並んで表示されるすべてのセッションを示すスクリーンショット。

セッションリストを制限するには、プロバイダーまたは状態でセッションをフィルター処理できます。VS Code はこのフィルターを保持します。

向きの設定

Setting: setting(chat.viewSessions.orientation)

デフォルトでは、セッションリストは、幅が十分にある場合、または手動でセッションリストを切り替えた場合に、チャットビューと並べて表示されます。setting(chat.viewSessions.orientation) 設定でこの動作を変更できます。

  • auto (デフォルト): 幅が許せばセッションを並べて表示し、それ以外の場合は空のチャットの上に表示します
  • stacked: 常に空のチャットの上にセッションを表示します
  • sideBySide: 幅が許せばセッションリストを並べて表示し、それ以外の場合はセッションリストを非表示にします

ローカルエージェントセッションは閉じてもアクティブなまま

以前は、ローカルチャットセッションを閉じると、実行中のエージェントリクエストがキャンセルされていました。これにより、長時間実行されるタスクや複数のタスクを同時に実行する場合のローカルエージェントの有用性が制限されていました。

現在、ローカルエージェントは、チャットエディターやチャットビューで開いていなくても、バックグラウンドで実行され続けます。セッションリストで実行中のエージェントのステータスを確認でき、いつでもセッションに戻って詳細な進行状況を確認できます。

詳細については、チャットでのローカルエージェントの使用 を参照してください。

バックグラウンドまたはクラウドエージェントでタスクを継続

ローカルエージェントは、VS Code 内でエージェントとやり取りできるインタラクティブなセッションに最適です。これは、ブレインストーミング、探索的タスクの実行、または実装計画の作成に役立ちます。明確な計画ができたら、タスクをバックグラウンドまたはクラウドエージェントに引き継いで自律的に実行させることができます。

このイテレーションでは、ローカルチャットをバックグラウンドまたはクラウドエージェントで継続するエクスペリエンスを改善しました。UI 全体で、新しい Continue in オプションを使用してタスクをシームレスに継続できるようになりました。

ローカルチャットをバックグラウンドまたはクラウドエージェントに継続すると、現在のチャットコンテキストが引き継がれ、元のセッションはハンドオフ後にアーカイブされます。

  • チャットビュー:

    チャットビューの 'Continue in' ボタンを示すスクリーンショット。

  • プランエージェント:

    プランエージェントを使用しているときの 'Start implementation' ボタンを示すスクリーンショット。

  • 無題のプロンプトファイル:

    無題のプロンプトファイルの 'Continue in' ボタンを示すスクリーンショット。

Git ワークツリーによるバックグラウンドエージェントの分離

バックグラウンドエージェント (以前は CLIエージェントと呼ばれていました) は、バックグラウンドで自律的に実行されるように設計されており、他の作業に集中している間にタスクをオフロードできます。複数のバックグラウンドエージェントを同時に実行すると、ワークスペース内の同じファイルを変更する場合に競合が発生する可能性があります。

このイテレーションでは、Git ワークツリー のサポートを導入することで、バックグラウンドエージェントの分離を強化しました。新しいバックグラウンドエージェントを作成するときに、現在のワークスペースで実行するか、専用の Git ワークツリーで実行するかを選択できます。

バックグラウンドエージェントを作成するときの Git ワークツリー ドロップダウンを示すスクリーンショット。

ワークツリーでバックグラウンドエージェントを実行すると、エージェントはセッション用に新しい Git ワークツリーを自動的に作成し、変更を別のフォルダーに分離します。これにより、競合することなく複数のバックグラウンドエージェントを同時に実行できます。

エージェントがタスクを完了したら、ワークツリー内のバックグラウンドエージェントによる変更を簡単に確認してメインワークスペースにマージできます。また、ワークツリーからの変更をワークスペースに直接適用する新しいアクションも追加しました。

ワークツリーで発生したファイル変更を示すバックグラウンドエージェントのスクリーンショット。

詳細については、VS Code でのバックグラウンドエージェントの使用 を参照してください。

バックグラウンドエージェントへのコンテキストの追加

バックグラウンドエージェントは、複数のコンテキスト添付タイプをサポートするようになりました。選択範囲、問題、シンボル、検索結果、git コミットなどを任意のプロンプトに添付できます。これにより、よりリッチで正確なプロンプトを作成し、より複雑で柔軟なワークフローを実現できます。たとえば、報告された問題を添付し、ファイルパスや行番号を手動で指定せずにエージェントに修正を依頼できます。

シンボルとエラーがコンテキストとして添付されたバックグラウンドエージェントセッションのスクリーンショット。

GitHub 組織全体でのカスタムエージェントの共有 (実験的)

Setting: setting(github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents)

以前は、カスタムエージェントはワークスペースまたはユーザーレベルでのみ定義できました。組織全体でカスタムエージェントを共有したい場合は、エージェントファイルを各ユーザーに手動で配布する必要がありました。

このリリースでは、GitHub アカウントの組織レベルでカスタムエージェントを定義できるようになりました。この実験的な機能により、チャットで個人用エージェントと一緒に組織固有のエージェントを使用できます。

この機能を有効にするには、setting(github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents)true に設定します。有効にすると、組織によって作成されたカスタムエージェントが VS Code のエージェントドロップダウンに表示されます。

組織向けのカスタムエージェントの作成の詳細については、GitHub ドキュメントの カスタムエージェントの作成 を参照してください。

バックグラウンドエージェントでのカスタムエージェントの使用 (実験的)

Setting: setting(github.copilot.chat.cli.customAgents.enabled)

独自のカスタムエージェントをバックグラウンドエージェントに取り込むことができるようになりました。有効にすると、.github/agents フォルダーで定義されたカスタムエージェントがエージェントリストに表示され、ワークフローや要件に合わせて調整されたエージェントを活用できます。

この実験的な機能は、setting(github.copilot.chat.cli.customAgents.enabled) 設定で有効にできます。

エージェントドロップダウンリストにカスタムプランナーエージェントがあるバックグラウンドエージェントセッションを示すスクリーンショット。

詳細については、ドキュメントの カスタムエージェントの定義 を参照してください。

エージェントツールの再編成

GitHub カスタムエージェントとの互換性を向上させるために、エージェントツール構造を再編成しました。これにより、個別の構成を必要とせずに、VS Code と GitHub 環境全体でカスタムエージェントをより簡単に再利用できます。

この変更の一環として、特定の既存のツール参照とそれらが属するツールセットの名前を変更しました。エージェントファイル内の既存のツール参照は引き続き機能しますが、最新の推奨形式に名前を変更するためのコードアクションが表示されます。これにより、エージェント構成が現在のベストプラクティスに従い、プラットフォーム間での互換性が維持されます。

エージェントをサブエージェントとして実行 (実験的)

Setting: setting(chat.customAgentInSubagent.enabled)

エージェントが複雑な問題を解決する必要がある場合、タスクを サブエージェント に委任できます。サブエージェントはメインチャットセッションから独立して動作し、独自のコンテキストウィンドウを持ちます。これにより、メインの会話が高レベルの目的に集中し続け、コンテキストウィンドウの制限を管理するのに役立ちます。

このリリースでは、カスタムエージェント を介してサブエージェントをカスタマイズできます。カスタムエージェントを使用すると、AI の特定のペルソナを定義し、特定のタスクやドメインに合わせて動作を調整できます。たとえば、コードレビュー担当者エージェントは、コードを変更するのではなく、コードのレビューに重点を置きます。

カスタムエージェントをサブエージェントとして使用するには、次の手順に従います:

  1. setting(chat.customAgentInSubagent.enabled) を有効にします

  2. まだ持っていない場合は、Chat: New Custom Agent コマンドを使用してカスタムエージェントを作成します。

  3. チャットで、モデルに「what subagents can you use?」と尋ねて、利用可能なサブエージェントのリストを確認します。カスタムエージェントがリストに表示されるはずです。

  4. カスタムエージェントの要件を満たすプロンプトを入力します。言語モデルは、カスタムエージェントの説明と引数を使用して、リクエストに使用する必要があるかどうかを判断します。

    カスタムエージェントをサブエージェントとして使用するチャット会話のスクリーンショット。

カスタムエージェントがサブエージェントとして使用されないようにするには、*.agent.md ファイルのメタデータプロパティ inferfalse に設定します。

詳細については、チャットでのサブエージェントの使用 を参照してください。

Claude スキルの再利用 (実験的)

Setting: setting(chat.useClaudeSkills)

スキルは Claude Code によって導入されたもので、エージェントがオンデマンドでロードできる機能です。各スキルには、スキルを宣伝する短い説明が付いています。有用な場合、エージェントは完全なスキルの指示を読むことを決定できます。スキルの指示には、スクリプトやテンプレートなどのサポートファイルを含めることができます。 ロードされると、スキルの指示とサポートファイルはメインの会話のコンテキストの一部になります。

VS Code は既存のスキルを再利用できるようになりました。setting(chat.useClaudeSkills) 設定を有効にして、エージェントがスキルを発見して使用できるようにします。

VS Code のチャットで Claude スキルを再利用している様子を示すスクリーンショット。

VS Code は、~/.claude/skills/skill-name/SKILL.md にある個人用スキルと、${workspaceFolder}.claude/skills/skill-name/SKILL.md にあるワークスペースフォルダー内のプロジェクトスキルをサポートしています。

SKILL.md ファイルのヘッダーに、スキルを宣伝する description 属性があることを確認してください。VS Code では allowed-tools 属性はサポートされていないことに注意してください。

エージェントモードでは、read-file ツールが有効になっていることを確認し、「What skills do you have」と尋ねてスキルが見つかるかどうかを確認します。次に、スキルで回答できるリクエストを行います。エージェントがスキルを使用しない場合は、スキルの説明を改善するか、モデルにスキルを使用するように促します。

チャット

  • インラインチャットがコード編集用に最適化されました (詳細)。
  • チャットモデルを管理 (詳細)。
  • 外部 Web コンテンツを確認 (詳細)。
  • 動的 Web コンテンツを取得 (詳細)。
  • 無視されたファイルを検索 (詳細)。
  • チャットでターミナル出力にアクセス (詳細)。
  • セッションのターミナルコマンドを自動的に承認 (詳細)。
  • より多くのキーボードショートカットが利用可能 (詳細)。
  • Azure ホストモデルに Entra ID を使用 (詳細)。
  • Anthropic モデルの拡張思考予算を構成 (詳細)。
  • チャットをより効率的に使用 (詳細)。
  • 機密ファイルへの編集の差分を表示 (詳細)。
  • 推論モデルのチャットツール呼び出しを非表示 (詳細)。

インラインチャットの UX

Setting: setting(inlineChat.enableV2:true)

インラインチャットエクスペリエンスを継続的に改善し、VS Code の他のチャットエクスペリエンスと整合させ、迅速な単一ファイルのコード変更に最適化しています。

以前は、一般的な質問や議論にもインラインチャットを使用できました。現在、インラインチャットは現在のファイル内のコード変更に最適化されています。インラインチャットで処理できないタスクの場合、自動的にチャットビューにアップグレードされ、同じモデルと同じコンテキストを使用してプロンプトが再生されます。

setting(inlineChat.enableV2:true) 設定 (プレビュー) は、拡張機能がプロンプトを処理する方法のみを制御するようになりました。これはまだ開発中ですが、安心してお試しいただけます。

言語モデルエディター

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 とドメインの自動承認

このイテレーションでは、フェッチツールの URL 自動承認のセキュリティとユーザーエクスペリエンスを強化しました。モデルが明示的に要求していない URL からコンテンツを取得することを決定すると、新しい 2 段階の承認エクスペリエンスが表示されます:

  • Approve the initial request to fetch the URL

    このステップにより、連絡先のドメインを信頼し、信頼できないサイトに機密データが送信されるのを防ぐことができます。

    最初の取得リクエストを承認するための確認を示すスクリーンショット。

    1 回限りの承認、または特定の URL またはドメインへの将来のリクエストを自動的に承認するオプションがあります。

    事前承認は、"Trusted Domains" 機能 を尊重します。ドメインがそこにリストされている場合、そのドメインへのリクエストを行うことが自動的に承認され、応答の確認ステップに延期されます。

  • Approve to use the fetched content in chat and follow-up tool calls

    このステップにより、取得したコンテンツがチャットに追加されたり、他のツールに渡されたりする前に確認し、潜在的なプロンプトインジェクション攻撃を防ぐことができます。

    たとえば、GitHub.com などの有名なサイトからコンテンツを取得するリクエストを承認する場合があります。しかし、問題の説明やコメントなどのコンテンツはユーザー生成であるため、モデルの動作を操作する可能性のある有害なコンテンツが含まれている可能性があります。

詳細については、VS Code チャットの URL とドメインの承認 を参照してください。

より堅牢なフェッチツール

#fetch エージェントツールは、動的 Web コンテンツをより効果的に処理するようになりました。静的 HTML に加えて、動的コンテンツを取得できます。コンテンツをロードするために JavaScript に依存する Web サイト (シングルページアプリケーション (SPA)、最新のドキュメントサイト、Jira などの課題追跡システムなど) は、不完全または空の結果を返さなくなりました。

フェッチツールは、ページを取得する前に JavaScript が実行され、コンテンツがロードされるのを待機し、動的にレンダリングされたコンテンツがキャプチャされるようにします。この改善により、実際のシナリオでツールが大幅に便利になります。

#fetch の後に URL を使用すると、モデルは最初の HTML スケルトンだけでなく、ブラウザーで表示される実際のコンテンツにアクセスします。これは、Web ページについて質問したり、モデルにオンラインコンテンツの分析を依頼したりするときに、より正確で完全な情報を意味します。

テキスト検索ツールで無視されたファイルを検索可能に

#textSearch ツールは、files.exclude または search.exclude 設定、または node_modules フォルダーなどの .gitignore ファイルで指定された無視されたファイル/フォルダー内の検索をサポートするようになりました。また、結果がない場合に無視されたファイル/フォルダーに関するヒントをエージェントに返し、エージェントがそれらの無視されたファイル/フォルダー内の検索を有効にできるようにします。

チャットでのリッチなターミナル出力

Run in Terminal 応答で Toggle Output を使用すると、チャット内に完全な読み取り専用の xterm.js ターミナルで出力がレンダリングされるようになりました。このアプローチの優れた利点は、バッキングターミナルが終了した後でも VS Code がキャプチャされた出力を保持するため、いつでも以前の実行を再度開いて、コマンド実行時のターミナル出力を確認できることです。

チャットターミナルは、統合ターミナルのカラーテーマを採用し、ANSI カラーコントラストを向上させました。スクリーンリーダーユーザーは、出力にフォーカスがあるときにアクセシブルビュー kb(editor.action.accessibleView) を開いて、簡単に確認およびナビゲートできます。

詳細については、チャットでのターミナルコマンドの使用 を参照してください。

チャットターミナルでのコマンドステータスの詳細

チャットターミナルメッセージは、コマンド装飾にカーソルを合わせると、コマンドの開始時間、期間、終了コードを表示するようになりました。

エージェントによって npm install candy が実行されているターミナルのスクリーンショット。コマンド装飾のホバーには、コマンドの実行時間とステータスが表示されます。

このセッションのすべてのターミナルコマンドを許可

セキュリティと制御を維持しながらチャットエクスペリエンスを最適化するために、ターミナルツールには、セッションのすべての将来のコマンドを許可する新しい自動承認オプションがあります。新しいセッションを開始すると、ターミナルコマンドは既存の承認構成に従います。

チャットでターミナルコマンドを承認するときに、'Allow All Commands in this Session' オプションを示すスクリーンショット。

チャットターミナルアクションのキーボードショートカット

専用のキーボードショートカットを使用して、最新のチャットターミナルにフォーカス kb(workbench.action.terminal.chat.focusMostRecentChatTerminal) したり、展開状態を切り替えたり kb(workbench.action.terminal.chat.focusMostRecentChatTerminalOutput) できるようになりました。

カスタムエージェントのキーボードショートカット

各カスタムエージェントには、コマンドリストに個別のアクションがあり、個別にキーボードショートカットをバインドできます。たとえば、「Code Reviewer」カスタムエージェントを定義した場合、キーボードショートカットをバインドするための Chat: Open Chat (Code Reviewer Agent) コマンドがコマンドパレットに表示されます。

コマンドパレットのカスタムエージェントコマンドのスクリーンショット。

Azure モデルプロバイダー: デフォルトの認証として Entra ID を使用

Setting: setting(github.copilot.chat.azureAuthType)

デフォルトでは、Azure モデルプロバイダーは、Bring-Your-Own-Key (BYOK) モデルに接続するときに Entra ID 認証を使用するようになり、セキュリティが向上し、サインインエクスペリエンスが合理化されました。

API キーを使用して認証する場合は、setting(github.copilot.chat.azureAuthType)entraId (デフォルト) ではなく apiKey に設定します。

Anthropic モデル: 拡張思考のサポート

Setting: setting(github.copilot.chat.anthropic.thinking.budgetTokens)

Anthropic モデルは、すべての Anthropic 拡張思考モデルでデフォルトで有効になっている拡張思考をサポートするようになりました。拡張思考は、応答を生成する前にステップバイステップの思考プロセスに追加のトークンを費やすことを可能にすることで、複雑なタスクに対する Claude の推論機能を強化し、より思慮深く正確な出力を導きます。

デフォルトの思考予算は 4,000 トークンに設定されています。setting(github.copilot.chat.anthropic.thinking.budgetTokens) 設定を変更して、モデルが拡張思考に使用できるトークン数を調整することで、この予算をカスタマイズできます。拡張思考を完全にオフにするには、予算を 0 に設定します。

Note: ツール呼び出し間の推論を可能にするインターリーブ思考は、Bring-Your-Own-Key (BYOK) を介して Anthropic モデルを使用する場合にのみ使用できます。上記で構成された同じ思考予算設定を使用します。

チャットビューの外観の改善

読みやすさと使いやすさを向上させるために、チャットビューの外観にいくつかの改善を加えました:

  • Chat title:

    チャットを開くと、上部に新しいタイトルコントロールが表示され、チャットのタイトルが表示されるだけでなく、空のチャットにすばやく戻ることができます。setting(chat.viewTitle.enabled) 設定でこの動作を構成します。

  • Welcome banner:

    新しいチャットを開くときにより最小限のエクスペリエンスを好む場合は、新しい設定 setting(chat.viewWelcome.enabled) を使用してアイコンとウェルカムテキストを非表示にできます。

    アイコンとウェルカムテキストが非表示になっている空のチャットビューのスクリーンショット。

  • Restore previous chat session:

    再起動後または別のワークスペースを開いた後にチャットを開くと、前のセッションがデフォルトで復元されるようになりました。setting(chat.viewRestorePreviousSession) 設定でこの動作を変更し、常に空のチャットで開始することを選択できます。

機密ファイルへの編集の差分

チャットが settings.jsonpackage.json などの機密ファイルを編集しようとすると、通知が表示され、変更が適用される前に承認を求められます。setting(chat.tools.edits.autoApprove) 設定で機密と見なされるファイルを構成できます。

以前は、モデルが提案した生の編集が表示されていましたが、理解するのが難しい場合がありました。現在、提案された変更の差分が表示され、編集の確認と承認が容易になりました。

チャットでの package.json への提案された変更の差分を示すスクリーンショット。

詳細については、チャットでの機密ファイルの編集 を参照してください。

折りたたみ可能な推論とツール出力 (実験的)

Setting: setting(chat.agent.thinkingStyle), setting(chat.agent.thinking.collapsedTools)

言語モデルの推論とエージェントツール出力により、チャットの会話はすぐに長くなり、追跡が難しくなる可能性があります。前回のイテレーションでは、setting(chat.agent.thinkingStyle) 設定を使用してチャットで思考トークンを表示する方法の改善にすでに取り組みました。

このイテレーションでは、ツール呼び出しなどの非推論チャット出力用の折りたたみ可能なチャットセクションを導入することで、チャットエクスペリエンスをさらに最適化しています。デフォルトでは、連続するツール呼び出しは、視覚的なノイズを減らすために折りたたまれるようになりました。

折りたたみ可能なアイテム (ほとんどのツールと推論テキスト) は要約され、AI によって生成されたタイトルが各折りたたみ可能なセクションに付けられます。

折りたたみ可能なセクションに折りたたまれた複数のツール呼び出しを示すスクリーンショット。

MCP

  • 最新の MCP 仕様のサポートを追加しました (詳細)。
  • 追加の設定なしで GitHub リモート MCP サーバーを使用 (詳細)。

最新の MCP 仕様のサポート

VS Code は、MCP 仕様の最新リビジョン 2025-11-25 をサポートしています。これには、特に以下が含まれます:

  • URL モードの抽出
  • 長時間実行され、回復力のあるツール呼び出しとクライアント作業のための タスク
  • 抽出における列挙型の選択肢の 強化

これらの改善は、WWW-Authenticate スコープの同意、クライアント ID メタデータドキュメント認証フロー、ツール、リソース、サーバーのアイコンなど、VS Code がすでにサポートしていた 2025-11-25 ドラフト機能に加えて提供されます。2025-11-25 ドラフトの変更ログは、MCP Web サイト で確認できます。

詳細については、VS Code での MCP サーバーの使用 を参照してください。

GitHub Copilot Chat が提供する GitHub MCP サーバー (プレビュー)

Setting: setting(github.copilot.chat.githubMcpServer.enabled)

GitHub リモート MCP サーバーは、GitHub Copilot Chat 拡張機能の組み込み MCP サーバーとして提供されるようになり、GitHub リポジトリおよびサービスとのシームレスな統合が提供されます。この統合には、いくつかの利点があります:

  • すでに GitHub MCP サーバーを使用している Copilot CLI や Copilot Cloud Agent などの他の Copilot エージェントハーネスとの整合性
  • 既存の GitHub 認証状態の再利用により、追加の認証プロンプトが不要になります
  • GHE.com を含むさまざまな GitHub MCP エンドポイントの透過的なサポート

GitHub MCP サーバーを有効にするには、setting(github.copilot.chat.githubMcpServer.enabled) 設定を true に設定します。有効にすると、エージェントを使用するときにサーバーがツールピッカーに自動的に表示されます。これにより、追加の構成や設定なしで、GitHub の問題、プルリクエスト、その他のリポジトリ情報について質問できます。

GitHub MCP サーバーは、いくつかの設定によるカスタマイズをサポートしています:

  • setting(github.copilot.chat.githubMcpServer.toolsets): 使用可能なツールを構成します。デフォルトでは default ツールセットが使用されますが、GitHub MCP サーバーのドキュメント に記載されているように、workflows やその他のツールセットを追加して拡張できます。Note: 特定のツールセットを追加すると、追加の権限が必要になる場合があり、再認証はまだサポートされていません。進行状況を追跡するには、この GitHub の問題 を参照してください。
  • setting(github.copilot.chat.githubMcpServer.readonly): サーバーに読み取り専用ツールのみを返すように強制し、書き込み操作を防ぎます。
  • setting(github.copilot.chat.githubMcpServer.lockdown): ツールの動作に対する追加のセキュリティ制御。

Note: この機能は現在プレビュー段階であり、上記の設定による明示的なオプトインが必要です。将来のリリースでは、必要なときに利用でき、不要なときは邪魔にならない方法で、デフォルトで有効にする予定です。

アクセシビリティ

チャット確認のキーボード承認

エージェントが確認を求めたときに、kb(workbench.action.chat.acceptTool) を使用してキーボードで承認できるようになりました。

エディターのエクスペリエンス

  • 開いているプロジェクトをより簡単に識別 (詳細)。
  • macOS でスワイプしてナビゲート (詳細)。
  • ホバーポップアップを表示するタイミングを選択 (詳細)。

ピッカーで開いているウィンドウを示すサポートの強化

ワークスペースがすでに VS Code ウィンドウで開いている場合のために、Open Recent ピッカーにインジケーターを追加しました。

最近開いたワークスペースのスクリーンショット。

現在アクティブなウィンドウは、他の開いているウィンドウとは少し異なって表示され、区別が明確になります。どのウィンドウでも開かれていないエントリにはアイコンがありません。

どのウィンドウがアクティブであるかを示すインジケーターは、ウィンドウピッカーにも適用されています。

macOS: マウススワイプによるナビゲート

Setting: setting(workbench.editor.swipeToNavigate)

macOS では、トラックパッドで 3 本指のスワイプジェスチャを使用してエディター間を移動できるようになりました。左または右にスワイプすると、任意のエディターグループ内の最近使用したエディター間を移動します。setting(workbench.editor.swipeToNavigate) 設定でこれを有効にします。

Note: 現在、3 本指のスワイプジェスチャのみをサポートしています。これが機能するように、スワイプのトラックパッド設定が次のように構成されていることを確認してください:

  • ページ間をスワイプ: 3 本指で左または右にスクロールします。
  • フルスクリーンアプリ間をスワイプ: 4 本指で左または右にスワイプします。

オンデマンドのエディターホバーポップアップ

Setting: setting(editor.hover.enabled)

エディターでの自動ホバーポップアップを無効にしつつ、キーボード修飾子を使用してオンデマンドでホバー情報をトリガーする機能を維持できるようになりました。setting(editor.hover.enabled) 設定は、onoff、および onKeyboardModifier の 3 つの値をサポートするようになりました。

onKeyboardModifier に設定すると、コードにカーソルを合わせているときに setting(editor.multiCursorModifier) 設定とは逆の修飾キーを押している場合にのみ、ホバー情報が表示されます。これにより、テキスト選択中の視覚的な気晴らしが軽減され、必要に応じてコンテキスト情報にすばやくアクセスできます。

たとえば、setting(editor.multiCursorModifier)ctrlCmd に設定されている場合、ホバー中に kbstyle(Alt) を押すとホバーが表示されます。alt に設定されている場合、kbstyle(Ctrl) (または macOS では kbstyle(Cmd)) を押すとホバーが表示されます。

コード編集

  • TypeScript が名前変更の提案を提供 (詳細)。
  • 次の編集提案に新しいモデルを使用 (詳細)。
  • ビューポート外の次の編集提案をプレビュー (詳細)。

TypeScript の名前変更の提案

名前変更の提案は、通常のテキスト提案の代わりにシンボルの名前変更を行うべきタイミングを予測します。予測されると、通常のテキスト編集と一緒に追加のインジケーターが表示されます。その後、kbstyle(Shift+Tab) を使用してシンボルの名前変更を適用できます。

次のビデオでは、プロパティ a の名前が width に変更されています。名前変更の提案は、b の名前を height に変更すること、および 2 つのパラメーター ab の名前をそれに応じて変更することを提案します。次の名前変更の提案は、他のシンボルへの関連する名前変更を予測する場合に最適に機能します。

Note: この機能は現在、実験を使用してユーザーベースにロールアウトされており、今のところ TypeScript でのみ使用できます。他のプログラミング言語のサポートも計画されています。

次の編集提案のための新しいモデル

よりスマートで、最新の編集に合わせた次の編集提案のための新しいモデルをリリースしました。これにより、受け入れと却下のパフォーマンスが大幅に向上します。詳細については、GitHub ブログ投稿の モデルとその開発 を参照してください。

ビューポート外の次の編集提案のプレビュー

現在のビューポートの外にある次の編集提案を受け取った場合、現在の位置からスクロールせずに提案内容を知ることは困難な場合があります。カーソルが現在ある場所に次の編集提案のプレビューをレンダリングすることで、このエクスペリエンスを改善しました。これにより、提案を確認する際のフローへの影響を軽減できます。

Note: 現在の言語モデルは、カーソルの近くにある次の編集提案に焦点を当てているため、ビューポートの外にある提案はあまり表示されない場合があります。ただし、はるか遠くにある提案を提供できるモデルの開発に積極的に取り組んでいます!

詳細については、VS Code でのインライン提案 を参照してください。

ソース管理

ソース管理リポジトリビューでのスタッシュ (実験的)

Settings: setting(scm.repositories.explorer:true), setting(scm.repositories.selectionMode:single)

このマイルストーンでは、Stashes ノードを追加することで、Source Control Repositories ビューに表示されるリポジトリアーティファクトのリストを引き続き拡張しました。このノードの下で、スタッシュの完全なリストを表示し、各スタッシュを表示、適用、およびポップできます。コンテキストメニューには、各スタッシュを削除するアクションも含まれています。

Stashes ノードとそのコンテキストメニューを示す Source Control Repositories ビューのスクリーンショット。

setting(scm.repositories.selectionMode:single) および setting(scm.repositories.explorer:true) 設定を設定することで、実験的なリポジトリエクスプローラーを有効にできます。ぜひ試してみて、リポジトリエクスプローラーで他にどのようなリポジトリアーティファクトを見たいかをお知らせください。

詳細については、VS Code でのソース管理の使用 を参照してください。

デバッグ

チャットへの変数の添付

VS Code のチャットコンテキストに変数を添付できるようになりました。これを行うには、Variables および Watch ビューでデータを右クリックするか、チャットの Add Context ボタンを使用します。

ターミナル

ターミナルの提案が安定版にロールアウト

Terminal Suggest が安定版ユーザー向けに有効になり、シェルコマンドの入力中にインライン補完とコンテキストヒントが提供されるようになりました。提案では、関連する引数値がグループ化されるようになったため、オプションフラグとそのパラメーターがリスト内で整理された状態になります。

認証

Microsoft 認証のクロスプラットフォームネイティブブローカーサポート

Setting: setting(microsoft-authentication.implementation)

このマイルストーンでは、最新の MSAL ライブラリを採用し、以下でネイティブエクスペリエンスを通じてサインインできるようになりました:

  • Intel Mac
  • Linux x64 (Debian ベースの特定のディストリビューションのみ)

VS Code へのサインインを求めるネイティブブローカーダイアログウィンドウのスクリーンショット。

これは、以下の既存のサポートに加えて提供されます:

  • Windows x64
  • macOS M シリーズ (ARM)

macOS および Linux のサポートには、マシンが Intune に登録されており、ネイティブブローカーの使用にオプトインしている必要があります。

これにより、優れたシングルサインオンフローが可能になり、Microsoft 認証セッションを取得するための推奨される方法となります。MSAL チームは、残りのプラットフォーム (Windows ARM、Linux ARM、および追加のディストリビューション) についても時間をかけてこれを有効にする予定ですので、ご期待ください!

NOTE: ブローカー経由での認証に問題がある場合は、setting(microsoft-authentication.implementation)msal-no-broker に変更して、代わりにブラウザーを使用して認証することができます。

classic Microsoft 認証が利用不可に

先月述べたように、使用率が低く、Entra ID チームによって推奨されていないため、setting(microsoft-authentication.implementation)classic オプションを削除しました。

リマインダー: setting(microsoft-authentication.implementation) 設定は、問題が発生した場合にユーザーが Microsoft アカウントのネイティブブローカー認証をオプトアウトできるようにするために存在していました。この設定の値は次のとおりです:

  • msal - 利用可能な場合はブローカー認証で MSAL を使用します (デフォルト)
  • msal-no-broker - ブローカー認証なしで MSAL を使用します

言語

TypeScript 7.0 プレビュー

次期 TypeScript 7 リリース に対する VS Code のサポートを改善するために、TypeScript チームと引き続き協力しました。TypeScript 7 はネイティブコードで完全に書き直されており、パフォーマンスが劇的に向上しています。

TypeScript 7 プレビューでは、ほぼ完全な型チェックがサポートされており、TypeScript チームはエディター機能の追加にも取り組んでいます。最近のハイライトには、自動インポート補完、名前変更のサポート、参照コードレンズなどがあります。

TypeScript (Native Preview) 拡張機能 をインストールすることで、今日から TypeScript 7.0 を試すことができます。次に、JavaScript または TypeScript ファイルで TypeScript (Native Preview): Enable (Experimental) コマンドを実行して、すべての IntelliSense をネイティブプレビューを使用するように切り替えます。TypeScript 7 の完全なアップデートと TypeScript プロジェクトの一般的な方向性については、最新の TypeScript 7 ブログ投稿 を確認してください。

TypeScript 7 の VS Code サポートを改善するために、TypeScript チームと引き続き緊密に連携する予定です。TypeScript 7 の準備ができたら、VS Code の JavaScript および TypeScript IntelliSense を強化するデフォルトのエクスペリエンスとして切り替えるという長期的な計画があります。古い TS バージョンを使用する必要がある場合、または TypeScript 7 に簡単に移植できない TypeScript サービスプラグインなどのエディター機能が必要な場合は、TypeScript 7.0+ と並行して、当面の間、既存の TypeScript バージョンのサポートを継続する予定です。

リモート開発

Remote Development 拡張機能 を使用すると、Dev Container、SSH 経由のリモートマシン、または Remote Tunnels、または Windows Subsystem for Linux (WSL) をフル機能の開発環境として使用できます。

ハイライトは次のとおりです:

  • SSH 再接続猶予時間の制御

これらの機能の詳細については、Remote Development リリースノート を参照してください。

エンタープライズ

VS Code の エンタープライズ機能 の詳細については、ドキュメントを参照してください。

エージェントツールの自動承認の制御

Setting: setting(chat.tools.eligibleForAutoApproval)

特定のエージェントツールは、明示的なユーザー承認なしに使用するとリスクが生じる可能性があります。特に、破壊的なアクションを実行したり、機密データにアクセスしたり、バックグラウンドで任意のコードを実行したりできるツール (たとえば、runTask) はそうです。

新しい setting(chat.tools.eligibleForAutoApproval) 設定を使用して、自動承認の対象となるツールを定義できるようになりました。ツールが自動承認から拒否された場合、ユーザーはチャットでこのツールを常に承認するオプションを持たず、使用ごとに明示的に承認する必要があります。

組織は、エージェントを使用する際のセキュリティを強化するために、ユーザー全体にエンタープライズポリシーを介してこの動作を強制できます。

ポリシーによるエージェントの使用の無効化

エンタープライズポリシーによってチャットでのエージェントの使用が無効になっている場合、エージェントピッカーは、それらが利用できない理由をより適切に伝えるようになりました。

エンタープライズポリシーによりエージェントモードが利用できないことを示すエージェントピッカーのスクリーンショット。

Codespaces での GitHub Enterprise ポリシーのサポート

VS Code に適用されるエンタープライズまたは組織のポリシーを GitHub で指定できます。たとえば、組織の開発者が使用する MCP レジストリ URL を構成 できます。

このリリースでは、GitHub Codespaces で VS Code を使用する場合のこれらのポリシーのサポートを追加しました。開発者が Codespace を開くと、VS Code をローカルで使用する場合と同様に、同じポリシーが自動的に適用されます。

拡張機能への貢献

GitHub プルリクエスト

プルリクエストと問題の作業、作成、管理を可能にする GitHub Pull Requests 拡張機能の進歩がさらに進んでいます。新機能は次のとおりです:

  • プルリクエストまたは問題の Webビューがアクティブな場合のプルリクエストと問題の暗黙的なコンテキスト。
  • プルリクエストと問題は、"Add Context" を介してチャットセッションにコンテキストとして明示的に追加できます。
  • Copilot プルリクエストは、ボタン 1 つでレビューの準備完了、承認、自動マージの設定としてマークできます。

リリースのすべてについて知るには、拡張機能の 0.124.0 の変更ログ を確認してください。

提案された API

寄稿されたチャットコンテキスト

拡張機能がチャットのコンテキストプロバイダーを提供できるようにする新しい API 提案があります。これにより、拡張機能は独自のドメインからリッチなコンテキストを提供して、チャットセッションで使用できるようになります。たとえば、GitHub Pull Request 拡張機能は次のコンテキストを提供します:

  • 現在のリポジトリ、ブランチ、プルリクエストに関する情報を含むワークスペースコンテキスト。
  • プルリクエストまたは問題の Webビューがアクティブな場合の暗黙的なプルリクエストと問題のコンテキスト。
  • ユーザーが "Add Context" を介して追加した場合の明示的なプルリクエストと問題のコンテキスト。

API はまだ初期段階にあるため、変更が予想されます。提案のどの部分が拡張機能作成者のニーズを解決するかについてのフィードバックをお待ちしています。提案はこちらにあります: vscode.proposed.chatContextProvider.d.ts

エンジニアリング

ビルドのロールアウト

Insiders ビルドリリースの 4 時間の時間枠での段階的なロールアウトを開始しました。つまり、Insiders ユーザーとして、通常よりも少し遅れて更新通知を受け取る可能性があります。急いでいる場合は、いつでも Check for Updates を実行して、更新を強制的に適用できます。

November 2025 (1.107) リリースを 24 時間の時間枠で Stable ユーザーにロールアウトします。Insiders と同様に、いつでも Check for Updates を実行して、更新を強制的に適用できます。

Web サイトの検索機能の改善

ドキュメント全体を簡単かつ迅速にナビゲートできる高速なクライアント側検索により、Web サイト を改善しました。

この機能の背後にあるライブラリをオープンソース化しました: docfind をダウンロードして、今すぐプロジェクトに使用できます!この技術の背後にあるイノベーションに関するブログ投稿をフォローアップします。

TypeScript として直接実行されるように更新されたビルドスクリプト

このイテレーションでは、ビルドスクリプトをクリーンアップして、作業と保守を容易にしました。これらのビルドスクリプトは、コンパイルされた TypeScript、ts-node を使用して実行される TypeScript ファイル、および JavaScript が混在していました。これらのスクリプトの多くは型チェックされておらず、importexport を使用した最新のモジュールではなく commonjs (require) を使用していました。さらに悪いことに、TypeScript ビルドスクリプトの多くは、コンパイルされた JS 出力をソース管理にチェックインする必要がありました。なんてこった!

ありがたいことに、Node 22.18+ では スクリプトを TypeScript として直接実行 できるようになりました。これにより、ビルドスクリプトを最新の TypeScript に段階的に変換できます。新しい TypeScript コードを Node で直接実行できるように、次の tsconfig オプションを使用しました:

{
  "compilerOptions": {
     "target": "esnext",
     "module": "nodenext",
     "noEmit": true, // .js ファイルを生成しない
     "erasableSyntaxOnly": true, // Node が削除できる TypeScript 構文のみを許可。たとえば、Enum や名前空間は許可されません
     "allowImportingTsExtensions": true, // .ts ファイルのインポートを許可
     "verbatimModuleSyntax": true // スクリプトが Node によって直接実行されるときに、インポートが有効であることを確認
  }
}

GitHub Copilot は、古い commonjs ファイルをモジュールに変換したり、型注釈を追加したりするなど、必要な変更の多くを自動化するのに役立ちました。

心に留めておくべきことの 1 つは、Node は TypeScript コードを実行できますが、実際には型チェックを行わないということです。そのためには、依然として tsc を使用する必要があります。vscode の場合、実際には ts-go を使用しており、すべてのビルドスクリプトを 1 秒未満で完全に型チェックできます。

node build/hygiene.ts を直接実行できるのは非常に素晴らしいことです。TypeScript に完全に切り替えることで、ビルドスクリプトを最新化し、タイプセーフをもたらすことができ、理解と変更がはるかに簡単になります。さらに、以前はチェックインしておく必要があった約 15,000 行のコンパイル済み JS コードを削除できました!

Copilot 拡張機能の統合

Setting: setting(chat.extensionUnification.enabled)

インライン提案が GitHub Copilot Chat 拡張機能から提供されるように完全にロールアウトしました。この変更の一環として、GitHub Copilot 拡張機能はすべてのユーザーに対してデフォルトで無効になります。

インライン提案で問題が発生した場合は、報告してください。setting(chat.extensionUnification.enabled)false に設定することで、一時的に以前の動作に戻すことができます。これにより、GitHub Copilot 拡張機能が再度有効になります。

2026 年 1 月に GitHub Copilot 拡張機能を完全に廃止する予定であり、その時点で setting(chat.extensionUnification.enabled) 設定も削除されることに注意してください。

注目すべき修正

  • vscode#233635 - 他のウィンドウを閉じるアクションを追加
  • vscode#262817 - 左端のグループから "Move Editor into Previous Group" を実行すると、左側に新しいグループが作成されるはずです
  • vscode#264569 - window.activeBorder の色を設定および削除しても、ウィンドウの境界線の色がリセットされない
  • vscode#140186 - リモートコンテナーがワークスペースとして開かれているときにローカルターミナルを開くことができない
  • vscode#228359 - ターミナルを再起動すると、ターミナルが閉じてしまうことがよくある
  • vscode#232420 - Python3.13 でターミナルカーソルが間違った場所にある
  • vscode#247568 - ファイル名にコロンが含まれるファイルでターミナル Ctrl+Click を実行してもファイルが開かず、先行するゼロが削除される
  • vscode#275011 - 信頼されたワークスペース上の WSL で VS Code を開くと、奇妙なターミナルメッセージが表示される
  • vscode#275417 - reveal:never, close:true のタスクが WSL で機能しなくなった
  • vscode#277311 - コマンドパレットの「最近使用した」リストからコマンドを削除する "X" ボタンを追加
  • vscode#282222 - SCM - git blame/timeline/graph ホバーレンダリングを改善。Stanislav Fort (Aisle Research) に感謝します
  • vscode-python-environments#1000 - 環境のアクティブ化が "Command Prompt" で確実に機能しない

ありがとう

問題追跡

問題追跡への貢献:

vscode への貢献:

vscode-copilot-chat への貢献:

vscode-js-debug への貢献:

vscode-pull-request-github への貢献:

  • @vicky1999 (Vignesh)
    • 修正: 狭いエディターペインでのメッセージの折り返し PR #8121
    • 機能: 各コミットのコミットステータスアイコンを表示 PR #8142
    • 機能: PR 概要にコメントリンクのコピーボタンを追加 PR #8150

vscode-python への貢献:

vscode-python-debugger への貢献:

vscode-python-environments への貢献:

language-server-protocol への貢献:

node-native-keymap への貢献:

node-pty への貢献:

python-environment-tools への貢献: