Visual Studio Code 1.119
發布日期:2026 年 5 月 6 日
更新 1.119.1:此更新修復了這些 安全性問題。
下載:Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap
歡迎使用 Visual Studio Code 1.119 版本。此版本著重於更流暢的代理互動、增強的可觀測性,以及更有效的信任與安全性控制。
-
代理-瀏覽器互動:讓代理程式可以發現並請求整合式瀏覽器存取權。
-
優化的 Token 使用量:使用輕量級模型來管理代理程式的待辦清單 (todo lists)。
-
OpenTelemetry 追蹤:使用 OpenTelemetry 監控代理程式的工作階段。
-
信任與開發者效率:減少因網路存取或暫存資料夾寫入請求而受到的中斷。
-
Markdown 預覽:在 Markdown 原始檔與預覽之間快速切換。
祝您開發愉快!
代理程式體驗
與代理程式共享瀏覽器分頁
當代理程式可以存取即時瀏覽器時,它們能即時驗證變更並更快地進行迭代。對於網頁開發,代理程式可以編輯程式碼、重新載入頁面,並在單次互動中確認修正結果。對於設計工作流程,代理程式可以對比呈現出的輸出與您的意圖,並即時調整版面或樣式。透過 在 VS Code 中使用整合式瀏覽器與代理程式 開始體驗。
代理程式不會自動獲得 整合式瀏覽器 的存取權。您需要明確地與代理程式共享瀏覽器頁面,它才能與其互動。這有助於保護敏感資料的隱私。
在此版本中,我們新增了與代理程式共享瀏覽器的新方式:
將瀏覽器分頁作為上下文附加
現在可以透過建議的上下文 (suggested context)、上下文選擇器及拖放操作等典型入口點,將瀏覽器分頁明確地附加到聊天中。

當瀏覽器分頁被附加時,它會進入共享狀態,代理程式即可讀取並與頁面互動。完成後,請使用瀏覽器中的共享按鈕停止共享。

代理程式發起的頁面共享請求
代理程式現在會掌握您開啟了多少個尚未共享的瀏覽器分頁。當代理程式需要與頁面互動時,它們可以請求共享開啟的分頁,您可以透過提示核准或拒絕該請求。
當代理程式嘗試在與現有未共享分頁相同的網域上開啟新分頁時,會出現提示,詢問您是否要重複使用現有的分頁。此舉旨在鼓勵重複利用分頁並減少混亂。

Visual Studio Code Agents (Insiders)
注意:Visual Studio Code Agents 目前處於預覽階段,僅適用於 VS Code Insiders。
Visual Studio Code Agents 是一個隨 VS Code Insiders 提供的配套體驗。它提供了一個專注的、代理原生的環境,您可以在其中跨儲存庫執行平行工作階段,並對多步驟編碼任務進行迭代。我們於 1.115 版本首次引入 VS Code Agents,並持續根據使用者回饋進行優化。
此版本的更新包括:
-
重新設計的新工作階段儲存庫選擇器:當您開始新工作階段時,現在可以輕鬆地在本地資料夾、儲存庫或遠端選項之間進行切換。

-
子工作階段改進:建立與管理子工作階段的功能持續改善,包括在子工作階段分頁與生命週期處理等方面的修復。
-
網頁與行動裝置優化:我們持續對 Agents 網頁端(於 1.118 引入)進行迭代,以使瀏覽器體驗與桌面版保持一致。這包括行動裝置體驗的改善,讓您可以從行動裝置的瀏覽器建立並管理工作階段及其變更。
-
環境管理與連續性:我們持續投資於 VS Code 與 Agents 之間的連結,並演進環境的管理方式。這將在未來版本中持續呈現。
-
進度 UI/UX:當代理程式正在執行任務時,其進度現在更加明顯,包含旋轉的進度訊息以及聊天輸入框的邊框動畫。
-
開發者樂趣:我們正在迭代提升體驗的機會,以激發開發者的樂趣,包括在新的工作階段頁面上加入一個有趣的彩蛋。啟用 sessions.developerJoy.enabled 看看您是否能找到它!
您的回饋有助於我們形塑 Agents 的體驗,請繼續透過 在 vscode GitHub 儲存庫提出問題 來分享您的看法。您也可以瀏覽 現有的 issue,看看其他人回報了什麼,並針對特定主題提供您的回饋。
代理程式工作階段的 OpenTelemetry 追蹤
設定: github.copilot.chat.otel.enabled , github.copilot.chat.otel.otlpEndpoint
隨著代理程式工作階段變得更長且更具自主性,了解代理程式的操作、每個步驟花費的時間以及 Token 的耗用位置,對於優化成本與偵錯非預期行為至關重要。OpenTelemetry 是業界標準的可觀測性架構。
Copilot Chat 代理程式工作階段(包含本地代理程式、Copilot CLI 背景代理程式及 Claude 代理程式)現在會發出遵循 GenAI 語意慣例 的 OpenTelemetry 追蹤、指標與事件。因此,您可以在任何相容 OTLP 的後端(例如 Aspire Dashboard)中監控代理程式行為、延遲與 Token 使用量。
每個使用者請求都會產生一個 invoke_agent 根 Span(例如 invoke_agent claude),並包含巢狀的 chat、execute_tool 與 execute_hook 子 Span。子代理程式的呼叫會自動成為呼叫方代理程式 execute_tool Span 的父系,讓您能在單一關聯的追蹤中完整檢視代理程式的工作內容。Span 會報告模型與 Token 使用量,包括快取讀取與快取建立的細項分析。
若要嘗試此功能,請啟用 github.copilot.chat.otel.enabled 並將 github.copilot.chat.otel.otlpEndpoint 指向您的收集器。

在 VS Code 文件中了解如何 使用 OpenTelemetry 監控代理程式使用量。
聊天體驗
顯示 Copilot CLI 與 Claude 代理程式回應的模型詳細資訊
設定: github.copilot.chat.agent.modelDetails.enabled
了解是哪個模型處理了回應,以及該回應如何計入您的使用量,有助於您掌控成本與品質。
聊天檢視中的 Copilot CLI 與 Claude 代理程式 回應,現在會在每個回應上顯示模型及其乘數 (multiplier)。徽章會在每個回應完成時即時出現,無需重新載入視窗,且當您在工作階段中途切換模型時,徽章也會更新。
當您在 Copilot CLI 中使用 Auto 模型選擇時,徽章會顯示實際使用的模型(例如 Claude Sonnet 4.6)而非 auto。當工作階段從歷程記錄重建時,解析後的模型也會被保留。
此行為預設為啟用。若要關閉此徽章,請停用 github.copilot.chat.agent.modelDetails.enabled 設定並重新載入視窗。
優化待辦清單管理的 Token 使用量(實驗性)
設定: github.copilot.chat.agent.backgroundTodoAgent.enabled
待辦清單 (Todo lists) 透過提供已完成事項與待辦事項的明確記錄,幫助代理程式在複雜的多步驟任務中保持正軌。然而,主模型每呼叫一次工具來更新待辦清單都會消耗 Token,而在長工作階段中這些成本會不斷累積。
透過將待辦清單管理卸載給輕量級背景代理程式,主模型可以專注於實際任務,而較小的模型則負責同步追蹤進度。這能在不犧牲引導代理程式保持專注的前提下,降低整體的 Token 使用量。
當啟用此設定後,背景代理程式會監控主代理程式的活動,並更新待辦清單以反映已完成與進行中的工作。主代理程式將不再擁有待辦清單工具,從而節省了對話的 Token 成本。
注意:若手動將待辦清單工具新增至聊天請求中(例如使用
#todo),或者自訂代理程式在其工具清單中指定了該工具,則背景代理程式將被覆寫且不會執行。
此功能預設為停用。若要嘗試此功能,請啟用 github.copilot.chat.agent.backgroundTodoAgent.enabled 設定。
基於使用量的計費更新
GitHub Copilot 將從 6 月 1 日起轉向 基於使用量的計費 (usage-based billing)。為此,本版本包含聊天狀態儀表板、聊天輸入通知及模型選擇器的內部變更,以支援顯示計費與點數資訊。這些 UI 更新尚未對使用者顯示,並將在基於使用量的計費正式推出時生效。
信任與安全性
允許代理程式沙盒中的網路存取
設定: chat.agent.sandbox.enabled 此設定由組織層級管理。請聯絡您的管理員以進行變更。
代理程式沙盒化 (Agent sandboxing) 透過限制代理程式工具可存取的內容來保護您的系統,但嚴格的網路封鎖可能會在代理程式需要安裝套件、呼叫 API 或執行開發伺服器時造成阻礙。
chat.agent.sandbox.enabled 此設定由組織層級管理。請聯絡您的管理員以進行變更。 設定現在具備 allowNetwork 模式,該模式在保持檔案系統限制的同時移除了網路網域封鎖,因此您可以在不被頻繁的網路存取請求打斷的情況下,獲得沙盒保護。
"chat.agent.sandbox.enabled": "allowNetwork"
當沙盒允許網路存取時, chat.agent.allowedNetworkDomains 此設定由組織層級管理。請聯絡您的管理員以進行變更。 與 chat.agent.deniedNetworkDomains 此設定由組織層級管理。請聯絡您的管理員以進行變更。 設定將被忽略。
在 VS Code 文件中深入了解 代理程式沙盒化。
針對工作階段允許的指令,自動核准寫入暫存資料夾
設定: chat.tools.terminal.blockDetectedFileWrites
針對常規檔案寫入的頻繁核准提示可能會減慢代理程式的工作流程。當 chat.tools.terminal.blockDetectedFileWrites 設定為其預設值 outsideWorkspace 時,寫入工作區外部的終端機指令需要核准,即使您已選擇 允許工作階段中的所有指令 (Allow All Commands in Session) 也是如此。
當 允許工作階段中的所有指令 處於作用中時,寫入作業系統暫存資料夾(macOS 和 Linux 為 /tmp,Windows 為 %TEMP%)的操作現在免除此檢查。
這意味著在暫存資料夾中放置暫存檔案的常見代理程式工作流程不再會中斷工作階段,而寫入工作區外部其他位置的操作仍需要確認。
語言
將目前編輯器切換至 Markdown 預覽
我們讓在目前編輯器與 Markdown 預覽之間來回切換變得更容易。VS Code 早就具備此功能 一段時間了,但經常被忽略。這些新的按鈕與指令使其更易於被發現。
在 Markdown 檔案中,選擇工具列中的此按鈕,或執行 Markdown: Switch to Preview View 指令。

當預覽開啟時,您可以選擇 Switch to Editor View 按鈕或指令,切換回原始碼檢視。

重新整理 Markdown 設定
為了協助您探索並管理 VS Code 內建 Markdown 支援 的設定,我們在設定編輯器的 Extensions > Markdown Language Features 下為其建立了幾個基本群組。

所有設定 ID 保持不變,但現在所有與 內建 Markdown 預覽 相關的設定都列在 Preview 子區段下。
工程相關
完成將 Webview 遷移至使用 CSS 錨點定位 (Anchor positioning)
VS Code 的 Webview 現在使用 錨點定位 來視覺化定位於工作台中。這改善了效能並使重新佈局 (relayouts) 更具回應性,特別是在有許多作用中 Webview 時。這也讓我們修復了一些棘手且長期存在的問題,例如在網頁版上,當工作台移動時 Webview 會跑掉位置。
以下是在切換至錨點定位前,單一 Webview 的典型重新佈局呼叫

此處的 Webview 定位是使用 JavaScript 完成的,該程式碼呼叫了 getBoundingClientRect。此呼叫相對緩慢,因為它會觸發瀏覽器的樣式重新計算與重新佈局。
透過改用錨點定位,瀏覽器現在會根據 CSS 為我們處理 Webview 的定位。

型別檢查現在使用 TypeScript 7 以實現更快的開發迭代
上一次迭代 我們將 VS Code 的主要監視 (watch) 工作遷移至使用 TypeScript 7。本次迭代,我們完成了所有內建擴充功能與核心程式碼遷移至使用 TypeScript 7 的作業。
透過將 Copilot 擴充功能遷移至使用 TypeScript 7,我們將型別檢查時間從 22 秒縮短至 4 秒。這些顯著的速度提升,使開發者與代理程式都能在 VS Code 程式碼庫中更快速地進行迭代。
已棄用的功能與設定
本版新增的棄用項目
無
即將棄用的項目
- Edit Mode 自 VS Code 版本 1.110 起正式棄用。使用者可透過 VS Code 設定 chat.editMode.hidden 暫時重新啟用 Edit Mode。此設定將維持支援至 1.125 版本。從 1.125 版本開始,Edit Mode 將被完全移除,且無法再透過設定啟用。
謝謝您
對我們議題追蹤的貢獻:
- @gjsjohnmurray (John Murray)
- @RedCMD (RedCMD)
- @IllusionMH (Andrii Dieiev)
- @albertosantini (Alberto Santini)
對 vscode 的貢獻:
- @64johnlee (john lee): 修復:在啟發式對話框 (elicitation dialog) 的 Markdown 內容中啟用文字選取 PR #313730
- @aanil677: 修復 README 中的細微語法問題 PR #312480
- @AshtonYoon (Ashton Yoon): markdown: 修復 #287050 中引入的捲動同步回歸問題 PR #307763
- @iideprived (Herbert Smith): debug: 觸發中斷點選擇器預設選取第一個中斷點 PR #313453
- @Jah-yee (RoomWithOutRoof): 修復:解決 NoChangeError 工具名稱插補與錯字 PR #309709
- @maruthang (Maruthan G): webview: 尊重自訂編輯器的預設 localResourceRoots PR #312492
- @OrenMe (Oren Me): 新增 Markdown 自訂功能的結構化預覽 PR #312545
- @shaypet: 為 TitleAndDescriptionProvider 新增 compareBranch 以增強 PR 上下文 PR #312326
- @xAndreiLi (Andrei Li): feat(plugins): 允許儲存庫邊界內的元件路徑 PR #308776
- @yemohyleyemohyle
- Yemohyle/新增至遙測 PR #311837
- Yemohyle/新增至擴充功能遙測 PR #313159
- @yogeshwaran-c (Yogeshwaran C)
- 將 'hint' 與 'info' 搜尋關鍵字新增至 editor.hover.enabled PR #313491
- 將 'pane' 搜尋關鍵字新增至編輯器群組設定 PR #313490
- @mizdra: 修復因匯入透過 require(esm) 載入的模組 'vscode' 而導致的死結 PR #285417
對 vscode-pull-request-github 的貢獻
- @mohamedamara1 (Mohamed Amara): 從 PR 概覽 #5824 顯示連結的問題 PR #6835
我們非常感謝大家在第一時間體驗我們的新功能,請經常回來查看,了解最新消息。
如果您想閱讀先前 VS Code 版本的發布說明,請前往 code.visualstudio.com 上的 Updates 頁面。