VS Code 1.140、複数リポジトリ管理に対応

Microsoftは9月30日、Visual Studio Code 1.140をリリースした。今回の更新はほぼすべてがエージェント関連だ。Copilotのエージェント実行基盤のアーキテクチャが刷新され、1つのセッションで複数のフォルダを同時に開けるようになったほか、エージェントが作業をリモートマシンに委任できる機能、さらにHydraFusionという複数モデルを使い分けるオーケストレーションのリサーチプレビューも公開された。

実行基盤が独立したプロセスに

1.140では、Copilotのエージェント実行環境(公式には「Copilot harness」と呼ばれる)がAgent Host Protocol(AHP)に基づく構造に変わり、独立したプロセスで動作するようになった。これにより、複数のVS Codeウィンドウが同じエージェントセッションに接続できるようになり、1つのウィンドウを閉じてもセッションごと失われることがなくなった。

この基盤の上に、実験機能として複数フォルダセッションが追加された。1つのセッションで複数のリポジトリや独立したworktreeを同時に扱えるようになり、各チャットはそれぞれ専用のフォルダ、ターミナル、タスク、変更履歴を持つ。有効化する設定項目は3つある。

  • chat.agentHost.copilotAgent.multiRootEnabled
  • chat.agentHost.claudeAgent.multiRootEnabled
  • chat.agentHost.codexAgent.multiRootEnabled

名称から見る限り、VS Codeのエージェントホストは自社のCopilotだけでなく、ClaudeやCodexのエージェントにも同等の設定を用意している。

リモートへの作業委任、モデルは自動で切り替え

リモート委任も実験機能で、chat.remoteAgentHostsEnabledとchat.remoteSessions.tools.enabledで切り替える。有効にすると、エージェントは「利用可能なリモートホストの一覧表示」「リモートセッションの作成」「セッション状態の確認」「リモートセッションへのメッセージ送信」という4つのツールを新たに使えるようになる。使い方としては、ローカルのエージェントが司令塔となり、時間のかかるタスクをリモートマシンに投げるイメージだ。

HydraFusionは、どのモデルをどんな手順で使うかを自動で決める適応型のシステムだ。単純なタスクは1つのモデルで完結させ、難しいタスクはより強力なモデルにエスカレーションする。さらに別のモデルに誤りの指摘や修正を担当させることもできる。Microsoftはこれをリサーチプレビューと位置づけており、スケジューリングのルールや性能データは公表していない。

地味だが時間を節約できる改善点

  • worktree:新設定git.worktreeSymlinkFoldersにより、複数のworktreeがnode_modulesのようなgit管理外のディレクトリを共有できるようになった。worktreeを新しく開くたびに依存関係を入れ直す必要がなくなる(実験機能)。
  • Dev Container:エージェントセッションが使うコンテナは、アイドル状態が5分続くと自動停止する。時間はchat.agentHost.devContainer.idleTimeoutで変更可能。VS Code ServerとCLIのダウンロードもキャッシュされ再利用されるようになった。
  • 企業向け管理:管理者はautoTierでAutoモデルの既定ティアを設定できる。選択肢はefficiency、balance、intelligenceで、開発者が個別に変更することも引き続き可能だ。
  • MCP設定:$COPILOT_HOME/mcp-config.jsonに置くグローバル設定に加え、ワークスペース単位の.mcp.jsonにも対応した。

中国国内の開発チームへの影響

中国国内の多くのチームでは、コードがサービス単位で複数のリポジトリに分かれている。フロントエンド、バックエンド、共通コンポーネントがそれぞれ別のリポジトリというケースが多い。これまでVS Code上でエージェントにリポジトリをまたいだ機能変更をさせようとすると、複数のウィンドウを行き来するか、いくつかのリポジトリを一時的に1つのワークスペースにまとめるしかなかった。複数フォルダセッションはまさにこの構成を前提に設計されており、インターフェースの変更でフロントエンドとバックエンドを同時に触るような場面では作業がかなりスムーズになりそうだ。

worktreeでnode_modulesを共有できるようになったことは、ネットワーク環境の制約を受けやすい開発者にとってより直接的なメリットになる。中国国内では依存パッケージの導入にミラーソースを使うことが多く、中規模のフロントエンドプロジェクトを入れ直すだけで数分かかることも珍しくない。エージェントに複数の案を並行して試させるために3つ4つのworktreeを同時に開く場合、これまでは依存関係を3回も4回もインストールし直す必要があったが、今後は1回で済む。

企業側のautoTierは主にコスト管理が目的だ。既定ではefficiencyに固定され、社員の日常的な補完や質問応答は安価なモデルで処理し、必要に応じて手動でintelligenceに切り替える。中国国内の企業が実際にどのモデルを利用できるのか、またHydraFusionがClaudeやCodex以外のモデルにも処理を振り分けるのかについては、今回の更新情報には記載がなく、各アカウントで実際に選択可能なモデルに準じる。

これらの機能の多くには「実験的」というラベルが付いており、既定では無効になっている。試す場合は設定画面で手動で有効にする必要があり、チーム全体に展開する前に、まずは1つか2つのリポジトリでしばらく運用してみるのが安全だろう。

参考資料:Visual Studio Code 1.140 アップデートノート、CocoLoop;設定項目名と既定値は公式のアップデートノートに準じる。