VS Code 1.140單一會話管理多儲存庫

微軟於 9 月 30 日發布 Visual Studio Code 1.140。這次更新幾乎全部圍繞在代理功能上:Copilot 的代理執行架構整個換了,單一會話現在可以同時開啟多個資料夾,代理也能把工作委派給遠端主機,另外還釋出了一個名為 HydraFusion 的多模型協調研究預覽。

執行環境搬進獨立行程

1.140 把 Copilot 的代理執行環境(官方稱為 Copilot harness)改成以 Agent Host Protocol(AHP)為基礎的架構,並在獨立行程中運作。最直接的效果是:多個 VS Code 視窗可以連到同一個代理會話,關掉其中一個視窗不會連帶把整個會話結束掉。

在這個架構之上,多資料夾會話以實驗功能的形式上線。一個會話可以同時處理好幾個儲存庫,或是幾個彼此獨立的 worktree,每個對話都有自己專屬的資料夾、終端機、工作與變更紀錄。開啟它需要三個設定項目:

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

從命名來看,VS Code 的代理主機除了自家 Copilot 之外,也替 Claude 與 Codex 的代理預留了同等的開關。

工作交給遠端,模型自動換檔

遠端委派同樣是實驗功能,開關是 chat.remoteAgentHostsEnabled 與 chat.remoteSessions.tools.enabled。開啟之後,代理會多出四個工具:列出可用的遠端主機、建立遠端會話、查詢會話狀態、對遠端會話傳送訊息。用法上可以理解成本機代理擔任排程角色,把耗時的工作丟到遠端主機上執行。

HydraFusion 是一套自我調節系統,由它決定該用哪個模型、走哪種流程:簡單的工作由單一模型一次做完;難度較高的工作會升級給更強的模型處理;也可以讓另一個模型負責挑錯與修改。微軟把它定位為研究預覽,目前並未公布排程規則與效能數據。

幾個省時間的小改動

  • worktree:新設定 git.worktreeSymlinkFolders 讓多個 worktree 共用被 git 忽略的目錄,例如 node_modules,不必每開一個 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 裡讓代理跨儲存庫修改一項功能,不是得開好幾個視窗來回切換,就是得把幾個儲存庫暫時拼成一個工作區。多資料夾會話正是針對這種拆法設計的,修改介面時前後端一起處理的場景會順手不少。

worktree 共用 node_modules 對網路環境較敏感的開發者幫助更直接。中國大陸安裝相依套件大多得走鏡像來源,一個中型前端專案重新安裝一次動輒要花好幾分鐘,若同時開三、四個 worktree 讓代理並行嘗試不同方案,原本要裝三、四遍,現在只要裝一遍。

企業端的 autoTier 主要是用來控管成本。預設鎖在 efficiency 等級,員工日常的自動完成與問答走的是較便宜的模型,有需要時再手動切到 intelligence。至於中國大陸企業實際能用到哪些模型、HydraFusion 會不會調度到 Claude 或 Codex 以外的模型,這次的更新說明裡並未提及,仍要以各自帳號中實際可選的模型為準。

這些功能大多掛著「實驗性」標籤,預設並未開啟。想試用得自己到設定裡手動打開,在團隊全面推行之前,先在一兩個儲存庫上跑一段時間會比較穩妥。

參考來源:Visual Studio Code 1.140 更新說明、CocoLoop;設定項目名稱與預設值以官方更新說明為準。