2026 年 1 月(版本 1.109)
發布日期:2026 年 2 月 4 日
更新 1.109.1:此更新修復了這些安全性問題。
更新 1.109.2:此更新修復了與聊天相關的問題。
更新 1.109.3:此更新修復了這些問題,並引入了幾項值得注意的功能
- 訊息導向與排隊:在請求執行時發送後續訊息
- 代理鉤子 (Agent hooks):在代理生命週期的關鍵點執行自定義 Shell 指令
- Claude 相容性:直接在 VS Code 中重複使用您的 Claude 設定檔
- 將技能用作斜線指令:從聊天中隨需呼叫代理技能
更新 1.109.4:此更新修復了這些問題。
更新 1.109.5:此更新修復了這些問題,並新增了用於改善背景代理的這些功能
- 支援斜線指令,包括提示檔、鉤子與技能
- 重新命名背景代理工作階段的能力
- 所有使用者現在皆可使用 Kitty 鍵盤支援
下載:Windows:x64 Arm64 | Mac:Universal Intel silicon | Linux:deb rpm tarball Arm snap
歡迎閱讀 2026 年 1 月版的 Visual Studio Code。在此版本中,我們持續進化 VS Code,使其成為多代理開發的家園。
-
聊天 UX - 透過更快的串流傳輸、改進的推理結果以及翻新的編輯器內聯聊天,聊天體驗更順暢、更敏捷
-
代理工作階段管理 - 現在可以更輕鬆地將任務委派給本機、背景與雲端代理,並在需要時介入
-
代理自定義 - 使用代理編排建構您自己的工作流程,並透過代理技能與組織級的自定義功能獲得一致的結果
-
代理擴充性 - 透過 Claude 代理支援與全新的 Anthropic 模型功能來重複使用您的知識,並享受 MCP Apps 帶來的豐富聊天互動
-
代理最佳化 - 代理透過 Copilot Memory 運作更智慧,並體驗透過外部索引實現的更快程式碼搜尋
-
代理安全性與信任 - 透過沙盒與有效的自動核准規則,讓您放心地執行終端機指令
-
工作台與生產力 - 使用全新的整合式瀏覽器,無需離開編輯器即可測試您的應用程式
-
終端機增強功能 - 改善生活品質的改進,使您的終端機體驗更平滑、更可靠
-
程式碼與編輯器 - 幾項有影響力的改進,讓日常編碼更順暢
-
擴充功能與 API - 為擴充功能開發者提供建構更豐富體驗的新功能
祝您開發愉快!
觀看我們的 VS Code 1.109 發布亮點影片以了解這些功能!
如果您想在線上閱讀這些發行說明,請前往 code.visualstudio.com 上的 Updates。
Insiders:想儘快嘗試新功能嗎?
您可以下載每晚更新的 Insiders 版本,並在最新更新發布時立即試用。
下載 Insiders
即將到來的活動
代理工作階段日 (Agent Sessions Day)
歡迎參加 2 月 19 日的代理工作階段日,親眼見證這些最新更新的展示!探索 VS Code 如何演變為統一的代理 UX,同時忠於其開放、可擴充與開發者選擇的核心價值。

聊天 UX
更快的回應、更清晰的推理與更少的摩擦。此版本帶來了串流改進,可即時顯示進度;改進了不會干擾您的內聯聊天;並能更清楚地了解模型的思考過程,讓您在 AI 運作時保持專注。
訊息導向與排隊(實驗性)
設定: chat.requestQueuing.enabled , chat.requestQueuing.defaultAction
更新 1.109.3:在處理較長任務時,您通常會在目前任務完成前想到下一個任務,或是注意到代理走向錯誤的方向。先前,您必須等待回應完成或完全取消它。現在,您可以在請求仍在進行時發送後續訊息。

當請求進行中時,傳送按鈕會變更為具有三個選項的下拉式選單
- 加入佇列 (Add to Queue):您的訊息會排隊,並在目前回應完成後自動傳送。
- 訊息導向 (Steer with Message):向目前請求發出訊號,在完成主動工具執行後進行切換,然後立即處理您的新訊息。當代理走向錯誤方向時,請使用此功能重新導向。
- 停止並傳送 (Stop and Send):完全取消目前請求,並立即傳送您的新訊息。
當您有多個待處理訊息時,透過拖放即可變更處理順序。
使用 chat.requestQueuing.defaultAction 將傳送按鈕的預設動作設定為 steer(預設)或 queue。
在文件中深入了解訊息導向與排隊。
Anthropic 模型現在顯示思考權杖 (thinking tokens)
設定: chat.thinking.style , chat.agent.thinking.collapsedTools , chat.agent.thinking.terminalTools , chat.tools.autoExpandFailures
你們當中有許多人正在 VS Code 中使用 Anthropic 的 Claude 模型。這些模型現在支援思考權杖,讓您可以更清楚地了解模型的推理過程。
在此版本中,我們增強了聊天 UX,以更有效地呈現思考權杖。更多資訊,更少干擾!
-
根據您的喜好選擇詳細或精簡的思考風格 ( chat.thinking.style )。
-
您會看到模型的思考過程與工具呼叫與回應交錯出現 ( chat.agent.thinking.terminalTools )。
-
失敗的工具呼叫會自動展開以顯示更多內容 ( chat.tools.autoExpandFailures )。
-
各種視覺增強功能使追蹤模型活動更直觀,例如可捲動的思考內容與閃爍動畫。
聊天回應中的 Mermaid 圖表
聊天回應現在可以使用 renderMermaidDiagram 工具渲染互動式 Mermaid 圖表。這讓模型可以使用流程圖、序列圖與其他視覺化效果來直觀地拆解複雜概念。這些圖表是互動式的,因此您可以平移與縮放以詳細探索它們,或在全尺寸編輯器中開啟以獲得更好的觀看效果。
使用以下控制項與 Mermaid 圖表互動
- 平移與縮放 - 按住 Alt/Option 並使用滑鼠滾輪進行縮放,或在觸控板上捏合縮放。按住 Alt/Option 並拖曳以在圖表周圍平移。
- 點擊縮放 - 按住 Alt/Option 並點擊以放大。加入 Shift 鍵以縮小。
- 在編輯器中開啟 - 使用按鈕在全尺寸編輯器中開啟圖表,以獲得更好的大型圖表觀看體驗。
- 複製來源 - 在圖表上按右鍵並選擇
Copy diagram source以複製其 Mermaid 原始程式碼。

提問工具 (Ask Questions tool)(實驗性)
設定: chat.askQuestions.enabled
代理現在可以在聊天對話中利用 askQuestions 工具提出澄清問題,而不是在不清楚時進行假設。它會直接在聊天中呈現一個或多個問題,包含單選/多選選項、自由文字輸入,並為快速決策反白顯示建議的答案。

使用鍵盤透過 Up 和 Down 在答案之間導航,或輸入與對應答案匹配的數字(使用 Escape 跳過剩餘問題)。
我們翻新了我們的「計畫代理 (Plan agent)」,也利用了 askQuestions 工具,以確保您的實作計畫符合您的期望及更多要求!
規劃代理程式
內建的計畫代理讓您在開始編碼前建立結構化的實作計畫。這有助於確保 AI 理解任務需求,並產出符合您期望的高品質程式碼。
-
計畫代理現在遵循結構化的 4 階段迭代工作流程,以產出更高品質的實作計畫
- 探索 (Discovery) - 自主探索您的程式碼庫,搜尋相關檔案並了解專案結構。
- 對齊 (Alignment) - 在承諾計畫前暫停以提出澄清問題,及早發現歧義。
- 設計 (Design) - 草擬包含明確步驟、檔案位置與程式碼片段的全面實作計畫。
- 細化 (Refinement) - 在規劃過程中新增驗證標準並記錄所做的決策。
-
您現在可以透過在聊天中輸入
/plan,後接您的任務描述來呼叫計畫代理。這為在切換到實作前規劃複雜任務提供了快速入口。
內容視窗詳細資訊
為了追蹤模型如何使用其內容視窗,您現在可以在聊天輸入區看到內容視窗指標。將滑鼠懸停在指標上,即可查看依類別分類的權杖使用情況細目。

內聯聊天 UX 翻新(預覽)
設定: inlineChat.affordance , inlineChat.renderMode
我們持續翻新內聯聊天體驗,並推出了兩項預覽功能
- 一種讓您在選取文字時更容易觸發內聯聊天的可供性 ( inlineChat.affordance )
- 一種更輕量且更易於使用的上下文渲染方式 ( inlineChat.renderMode )
模型選擇器中的模型描述
在模型選擇器中懸停或聚焦於某個模型時,您現在可以一目了然地看到其詳細資訊。

終端機指令輸出
更豐富的指令詳細資訊
為了讓正在執行的指令更清晰,終端機工具現在顯示更多詳細資訊
-
內聯 Node、Python 與 Ruby 的語法反白顯示

-
工作目錄

-
指令意圖的描述

輸出串流
當指令需要時間執行時,終端機輸出現在會自動展開,讓您即時了解正在發生的事情。快速指令會保持摺疊以減少視覺干擾。
互動式輸入
嵌入式終端機現在是完全互動式的。您可以聚焦終端機並直接輸入,這在指令提示確認或需要使用者輸入時非常有用。游標現在可見,清楚標示終端機何時準備好接收輸入。
刪除所有隱藏的終端機
終端機面板中的 隱藏終端機 (Hidden Terminals) 項目現在包含一個刪除圖示,可一鍵清除所有隱藏終端機。

告訴我們您對我們新主題的看法(實驗性)
我們正在開發新的實驗性 VS Code Light 與 VS Code Dark 主題,透過使用陰影與透明度來增加焦點並為 UI 帶來輕盈感。這些主題仍在開發中。
透過在 vscode 儲存庫中提供回饋,讓我們知道哪些有效以及我們可以在哪裡改進。
VS Code Dark(實驗性):

VS Code Light(實驗性):

編輯模式現已隱藏(實驗性)
設定: chat.editMode.hidden
編輯模式現在預設從聊天中的代理下拉式選單中隱藏。使用代理提供了編輯模式功能的超集合,並為程式碼編輯任務產生更好的結果。
如果您的組織已停用代理模式,編輯模式仍會在代理下拉式選單中可見。您也可以透過停用 chat.editMode.hidden 設定來手動恢復編輯模式。
代理工作階段管理
委派、監控與切換而不失去焦點。您現在可以在本機、背景與雲端環境中並行執行多個代理工作階段,所有內容皆在單一統一視圖中顯示。在工作階段之間跳轉、一目了然地追蹤進度,並讓代理獨立運作,同時保持您的生產力。
在代理類型之間切換與委派
VS Code 使在不同環境中啟動代理工作階段變得容易:在本機 VS Code 中、在背景中、在雲端中或與其他代理提供者一起。我們透過在聊天輸入區引入新的工作階段類型選擇器,使在這些不同代理類型之間切換變得更容易。
選擇器有兩個主要目的
- 選擇您要啟動的代理工作階段類型
- 將進行中的工作階段移交給不同的代理類型(例如,在本機規劃任務並在雲端進行實作)

提示:我們新增了一個用於建立新本機聊天工作階段的
workbench.action.chat.newLocalChat指令。將此指令綁定到鍵盤快速鍵,以獲得更快的存取速度。
追蹤代理工作階段
在使用多個代理時,追蹤您的主動代理工作階段至關重要,特別是當您在不同環境中有多個並行工作階段時。
代理工作階段視圖
我們進一步改進了 VS Code 中的「代理工作階段視圖」,以使此任務更容易
- 並排顯示時調整工作階段列表的大小
- 多選工作階段以批量執行操作
- 更好的堆疊視圖以改進工作階段導航與應用篩選器
代理狀態指標
設定: chat.agentsControl.enabled , chat.agentsControl.clickBehavior
在您有多個主動工作階段的情況下,能夠快速查看哪些工作階段需要您的注意非常重要。我們在 VS Code 指令中心新增了一個代理狀態指標 ( chat.agentsControl.enabled ),以提供代理工作階段更新的可視性。
該指標顯示不同類型的狀態資訊:進行中、未讀與需要您注意的工作階段。選取該指標即可快速開啟並篩選工作階段列表。

我們也更新了指令中心中的聊天按鈕,讓您可以設定點擊時的行為 ( chat.agentsControl.clickBehavior )。預設情況下,它現在會循環切換不同的聊天視圖狀態:側邊欄、最大化或隱藏。
子代理程式
設定: chat.customAgentInSubagent.enabled
代理可以使用子代理執行子任務,將複雜任務分解為更小的部分。子代理的好處是它們在各自專用的內容視窗中運作,不會計入主代理的內容視窗。
子代理現在可以並行執行,這可以顯著加快可拆分為獨立任務的處理速度。

為了提供對不同子代理正在執行工作的更多可視性,聊天對話現在顯示詳細資訊,例如其正在執行的任務、用於子代理的自定義代理,以及目前使用的工具。您可以展開子代理資訊以顯示其正在執行的全部詳細資訊,包括為其提供的完整初始提示與其傳回的結果。
搜尋子代理(實驗性)
設定: github.copilot.chat.searchSubagent.enabled
搜尋您的程式碼庫通常涉及多個迭代的任務,這會迅速增加您的內容視窗限制。我們新增了對搜尋子代理的支援,它在隔離的代理迴圈中執行,使其能夠迭代地優化搜尋、嘗試多個查詢並探索您工作區的不同部分。
這提高了單次搜尋不足的複雜查詢的搜尋結果品質。它還保留了主代理的內容視窗,使其能在搜尋子代理執行其工作時繼續運作。
雲端代理程式
當您啟動新的雲端代理工作階段時,您現在有更多選項可以設定您的工作階段。從不同模型中選擇、使用您的其中一個自定義代理,或從可用的合作夥伴代理中選擇(在可用的情況下)。
-
雲端代理的模型選擇

-
第三方編碼代理(預覽)
如果您有設定第三方編碼代理(例如 Claude 與 Codex)作為 GitHub Copilot 訂閱的一部分,VS Code 將在選取雲端代理類型後顯示這些選項。

在 GitHub Changelog 中深入了解第三方編碼代理的可用性與啟用方式。
-
雲端代理的自定義代理
從您的目標 GitHub 儲存庫預設分支中可用的自定義代理中進行選擇。

-
多根工作區與空工作區改進
在多根工作區視窗或空工作區視窗中時,您現在可以選取要用於雲端代理的資料夾。

-
結帳 (Checkout) 一律顯示
即使未安裝 GitHub Pull Requests 擴充功能,代理工作階段的 Checkout 選項現在也會顯示。當您選取此操作時,它會在需要時安裝 GitHub Pull Requests,然後移交給它以執行結帳。
背景代理
與本機與雲端代理對齊,我們對背景代理進行了多項改進
-
背景代理的自定義代理

-
附加影像作為內容

-
多根工作區改進
在多根工作區中時,您現在可以選取要用於背景代理的資料夾。

-
在每回合結束時自動提交 (Auto-commit)
我們更新了背景代理迴圈,在每回合結束時將變更提交到 Git 工作樹。這使我們能夠移除背景工作階段的 Keep/Undo 操作,並簡化了在工作集中顯示已變更檔案的方式。
-
背景代理的 /斜線指令
-
重新命名背景代理工作階段
更新 1.109.5:您現在可以重新命名您的背景代理工作階段,以便更輕鬆地追蹤它們。

代理工作階段歡迎頁面(實驗性)
設定: workbench.startupEditor
最後但同樣重要的是,我們正在試驗一個新的歡迎頁面,並需要您的幫助使其變得更好。當您有多個代理並行運作時,追蹤最近的工作階段至關重要。新的歡迎頁面將您的代理工作階段置於前端與中心位置。

透過將 workbench.startupEditor 設定為 agentSessionsWelcomePage 來啟用歡迎頁面作為您的啟動編輯器。告訴我們您的想法,並在 vscode 儲存庫中發送您的回饋給我們!
代理程式自訂 (Agent Customization)
塑造 AI 如何處理您的程式碼庫,並在您的團隊中共享。代理技能現在讓您可以將領域專業知識封裝為可重複使用的工作流程,組織級說明確保一致性,而新的控制項讓您可以精細控制代理如何與何時被呼叫。
代理鉤子(預覽)
設定: chat.hooks.enabled
更新 1.109.3:鉤子讓您可以在代理工作階段的關鍵生命週期點執行自定義 Shell 指令。與引導代理行為的說明或自定義提示不同,鉤子會以確定的結果執行您的程式碼。使用它們來執行安全性原則、自動化程式碼品質檢查、建立稽核線索或注入特定於專案的內容。
VS Code 支援八種在工作階段期間特定點觸發的鉤子事件,包括用於攔截工具呼叫的 PreToolUse 與 PostToolUse、用於工作階段生命週期的 SessionStart 與 Stop,以及用於追蹤巢狀代理使用的 SubagentStart 與 SubagentStop。

VS Code 使用與 Claude Code 與 Copilot CLI 相同的鉤子格式,因此您可以跨工具重複使用現有的鉤子設定。
若要開始使用,請在聊天中使用 /hooks 斜線指令來設定新鉤子,或手動建立鉤子檔。例如,您可以建立一個 PreToolUse 鉤子,在每次檔案編輯後執行 linter,或在危險的終端機指令執行前封鎖它們。
在文件中深入了解代理鉤子。
將技能用作斜線指令
代理技能現在可作為聊天中的斜線指令,與提示檔一起提供。在聊天輸入中輸入 / 以查看所有可用的技能與提示,並選擇一項技能以立即呼叫它。您可以在指令後新增額外內容,例如 /webapp-testing for the login page 或 /github-actions-debugging PR #42。
預設情況下,所有技能都會出現在 / 選單中。在您的技能檔案中使用 user-invocable 與 disable-model-invocation frontmatter 屬性來控制每項技能的存取方式
- 設定
user-invocable: false可從選單中隱藏技能,同時仍讓模型自動載入它。 - 設定
disable-model-invocation: true可在選單中顯示技能,但防止模型自行載入它。
在文件中深入了解將技能用作斜線指令。
使用 /init 設定您的 AI 工作區
透過像 copilot-instructions.md 或 AGENTS.md 這樣始終開啟的自定義說明,您可以確保 AI 使用您專案的慣例來生成程式碼。
若要使用基於您程式碼庫的初始說明集來準備您的專案,您現在可以使用聊天中的 /init 斜線指令來生成或更新您的工作區說明。
當您執行 /init 時,代理會發現您工作區中的現有 AI 慣例(例如 copilot-instructions.md 或 AGENTS.md),分析您的專案結構與程式碼模式,並生成為您的專案量身打造的全面工作區說明。/init 指令是作為貢獻提示檔實作的,因此您可以透過修改底層提示來自定義其行為。
代理技能現已正式發布
設定: chat.useAgentSkills , chat.agentSkillsLocations
代理技能現已正式發布並預設啟用。技能提供專業能力、領域知識與改進的工作流程,以幫助 AI 產出高品質的輸出。每個技能資料夾都包含針對特定領域(如測試策略、API 設計或效能最佳化)的經過測試的說明。
您現在可以像管理提示檔、說明或自定義代理一樣,在 VS Code 中管理技能。使用 Chat: Configure Skills 指令查看所有可用技能,或使用 Chat: New Skill File 在您的工作區或使用者主目錄中建立新技能。

預設情況下,VS Code 會在您工作區的 .github/skills 與 .claude/skills 資料夾,或使用者主目錄的 ~/.copilot/skills 或 ~/.claude/skills 資料夾中尋找技能定義。您可以透過 chat.agentSkillsLocations 設定,指定 VS Code 應尋找技能的自定義路徑。
如果您是擴充功能開發者,您也可以透過將技能包含在擴充功能中,並使用 package.json 中的 chatSkills 貢獻點註冊它們,來封裝並散佈技能
{
"contributes": {
"chatSkills": [
{
"path": "./skills/my-skill"
}
]
}
}
path 必須指向包含 SKILL.md 檔案的目錄,且 SKILL.md frontmatter 中的 name 欄位必須與父目錄名稱相符。例如,如果路徑為 ./skills/my-skill,則該目錄必須包含一個在 frontmatter 中具有 name: my-skill 的 SKILL.md。在 代理技能文件中深入了解所需的資料夾結構。
組織級說明
設定: github.copilot.chat.organizationInstructions.enabled
先前,VS Code 已經新增了對組織級自定義代理的支援。在此版本中,VS Code 現在也支援組織級自定義說明。如果您的 GitHub 組織已為 Copilot 設定了自定義說明,它們會自動套用到您的聊天工作階段,確保整個團隊的一致指導。
此功能預設啟用。您可以透過將 github.copilot.chat.organizationInstructions.enabled 設定為 false 來停用組織說明。
在文件中深入了解自定義說明。
自定義代理檔案位置
設定: chat.agentFilesLocations
與其他自定義檔案(例如提示檔、說明與技能)一樣,您現在可以設定 VS Code 尋找自定義代理定義 (.agent.md) 的位置。
預設情況下,VS Code 會在您工作區的 .github/agents 資料夾中搜尋代理檔案。透過新的 chat.agentFilesLocations 設定,您可以新增額外的目錄進行搜尋,使跨專案組織與共享代理變得更容易,或將它們保留在工作區外的中心位置。
{
"chat.agentFilesLocations": {
"~/.vscode/agents": true,
"shared/team-agents": true
}
}
控制自定義代理的呼叫方式
設定: chat.customAgentInSubagent.enabled
自定義代理現在在 frontmatter 標頭中支援額外屬性,讓您可以更精細地控制代理的呼叫方式。這對於設定代理編排以自信地處理複雜任務特別有用。
-
user-invocable:控制代理是否可以從聊天中的代理下拉式選單中選取。設定為false可建立僅能以程式設計方式或作為子代理存取的代理。 -
disable-model-invocation:啟用時,防止代理被其他代理呼叫為子代理。這對於應僅由使用者明確觸發的代理很有用。 -
agents:限制目前代理可以呼叫哪些子代理。指定時,代理只能將工作移交給列出的代理。使用agent工具啟用子代理呼叫。
將自定義代理用作子代理目前仍受設定保護。啟用 chat.customAgentInSubagent.enabled 以啟用自定義代理作為子代理。
---
name: my-internal-agent
user-invocable: false
---
This agent can only be invoked as a subagent
以下範例顯示了一個只能呼叫 Modify 與 Search 子代理的代理
---
name: Foo
tools: ['agent']
agents: ['Modify', 'Search']
---
This agent can only use the Modify and Search subagents.
自定義代理的多模型支援
自定義代理現在可以在 frontmatter 標頭中指定多個模型。使用清單中第一個可用的模型,如果偏好的模型不可用,則提供備用選項。
---
name: my-agent
model: ['Claude Sonnet 4.5 (copilot)', 'GPT-5 (copilot)']
---
This agent prefers Claude Sonnet 4.5 but falls back to GPT-5 if unavailable.
聊天自定義診斷
聊天自定義檔案可以來自各種位置,包括您的使用者設定檔、工作區、擴充功能與您的 GitHub 組織。在排查自定義代理、提示、說明或技能的問題時,確定目前載入了哪些檔案以及載入期間是否發生任何錯誤可能具有挑戰性。
新的診斷視圖透過顯示所有目前載入的自定義代理、提示檔、說明檔與技能,協助您排查聊天自定義問題。若要存取它,請在聊天視圖中按右鍵並選擇 Diagnostics。這會開啟一個 Markdown 文件,列出所有主動的自定義檔案、它們的載入狀態以及載入期間發生的任何錯誤。

語言模型編輯器
VS Code 中的語言模型編輯器為管理與設定聊天中使用的語言模型提供了一個集中式介面。此迭代中,我們進一步增強了此體驗
-
每個提供者多個設定:為同一個模型提供者建立多個設定,每個設定具有不同的 API 金鑰。這對於分隔個人與工作帳戶,或針對不同專案使用不同的 API 金鑰很有用。例如,您可能有一個帶有您個人 API 金鑰的 Gemini 設定,以及另一個帶有您團隊 API 金鑰的 Gemini 設定。

-
設定來自 Azure 提供者的模型:在設定 Azure 模型時,VS Code 會開啟
chatLanguageModels.json設定檔並插入一個程式碼片段範本。此程式碼片段包含必要的屬性,例如模型 ID、名稱、端點 URL 與權杖限制。然後,您可以為要新增的每個模型填入值。 -
管理提供者群組:透過選取設定動作來設定現有的提供者群組,例如更新 API 金鑰。您也可以透過使用移除動作來完全移除提供者群組。
-
其他 UI 改進:多項可用性改進,例如用於切換模型可視性的鍵盤存取、內容功能表動作與用於批量操作的多選。
-
語言模型設定檔:模型設定現在儲存在專用的
chatLanguageModels.json檔案中。透過選取語言模型編輯器右上角的檔案圖示直接開啟此檔案。這使您可以輕鬆查看、編輯或共享您的模型設定。
-
模型提供者設定 UI:模型提供者可以宣告其設定結構描述,而 VS Code 提供了供使用者輸入其設定的 UI。請參閱 聊天模型提供者設定以了解此新提案 API 的詳細資訊。來自 GitHub Copilot Chat 擴充功能的現有模型設定會自動遷移。
語言模型設定
設定: github.copilot.chat.implementAgent.model , inlineChat.defaultModel
-
計畫實作的預設模型(實驗性)
您現在可以為計畫代理的實作步驟設定預設語言模型 ( github.copilot.chat.implementAgent.model )。保持設定為空以使用預設模型。模型值應為
Model Name (vendor)格式的合格模型名稱,例如GPT-5 (copilot)或Claude Sonnet 4.5 (copilot)。
-
內聯聊天的預設模型
預設情況下,編輯器內聯聊天使用所選提供者的預設模型。這使擴充功能能夠提供專為內聯聊天場景量身打造的模型。
如果您偏好使用不同的模型,可以使用 inlineChat.defaultModel 設定來進行設定。此設定讓您可以為內聯聊天選擇一致的預設語言模型,這樣每當您啟動內聯聊天工作階段時,就會自動使用您偏好的模型,無需每次手動選取。

-
為代理移交指定語言模型
代理移交現在支援選用的
model參數,讓您可以指定移交執行時要使用的語言模型。這使您能夠直接從.agent.md檔案控制用於特定代理工作流程的模型。模型值應為
Model Name (vendor)格式的合格模型名稱,例如GPT-5 (copilot)或Claude Sonnet 4.5 (copilot)。
代理自定義技能(實驗性)
設定: chat.agentCustomizationSkill.enabled
一項全新的 agent-customization(代理自訂)技能教導代理程式如何協助您自訂您的 AI 編碼體驗。當您詢問有關建立自訂代理程式、指令、提示詞或技能時,代理程式會自動載入此技能以提供精確的指導。
此技能涵蓋範圍
- 自訂代理程式 (Custom Agents) - 建立包含工具、模型和行為 Frontmatter 設定的
.agent.md檔案 - 自訂指令 (Custom Instructions) - 撰寫帶有
applyTo模式的.instructions.md檔案,以進行特定情境的指導 - 提示詞檔案 (Prompt Files) - 為常見任務建立可重複使用的
.prompt.md範本 - 技能 (Skills) - 將領域專業知識封裝在
SKILL.md檔案中 - 工作區指令 (Workspace Instructions) - 在
copilot-instructions.md和AGENTS.md中設定全專案通用的慣例
代理程式擴充性
此版本新增了 Claude Agent 支援,讓您可以直接利用 Anthropic 的代理程式 SDK。此外,可在聊天中呈現互動式視覺化內容的 MCP Apps,以及新的供應商功能,為您擴展代理程式的能力提供了更多方式。
Claude 相容性
如果您同時使用 VS Code 和 Claude,您不再需要維護多套設定檔。VS Code 現在可以直接讀取 Claude 的設定檔,因此您的代理程式、技能、指令和掛鉤 (hooks) 可以在兩個工具之間運作,無需重複設定。
VS Code 會偵測以下 Claude 檔案位置
- 指令 (Instructions): 工作區根目錄中的
CLAUDE.md檔案、.claude/CLAUDE.md以及~/.claude/CLAUDE.md。VS Code 也會從.claude/rules資料夾讀取指令檔案。詳情請參閱 自訂指令。 - 代理程式 (Agents): 位於
.claude/agents資料夾中的.md檔案,遵循 Claude 子代理程式格式。詳情請參閱 自訂代理程式檔案位置。 - 技能 (Skills): 位於
.claude/skills和~/.claude/skills資料夾中的技能定義。詳情請參閱 代理程式技能。 - 掛鉤 (Hooks): 位於
.claude/settings.json和~/.claude/settings.json中的掛鉤設定。詳情請參閱 代理程式掛鉤。
此相容性涵蓋了指令、代理程式、技能和掛鉤,讓使用多種 AI 工具的團隊可以共用一套設定檔。
代理程式協作 (Agent orchestration)
代理程式協作是一種強大的模式,用於建立複雜的 AI 工作流程,讓多個專業代理程式共同達成目標。與其依賴單一代理程式處理所有事務,協作將工作分配給針對特定角色優化的代理程式,例如規劃、實作、程式碼審查或研究。
這種方法提供了幾個關鍵優勢
- 情境效率:每個子代理程式都在自己專屬的內容視窗中運作,防止內容溢出
- 專業化:不同的代理程式可以使用針對其任務優化的不同模型
- 平行執行:獨立任務可以在多個子代理程式之間平行執行
圖片來源 https://github.com/ShepAlderson/copilot-orchestra 由 @ShepAlderson 提供
VS Code 具備建立代理程式協作流程所需的所有基礎模組,包括 自訂代理程式、子代理程式,以及對 如何呼叫代理程式 的額外控制。
社群已經創造了許多優秀的代理程式協作系統範例,您可以直接使用或根據需求進行調整
-
Copilot Orchestra - 一個多代理系統,具有一個「指揮官 (Conductor)」,透過完整的開發週期協調規劃、實作和程式碼審查子代理程式
-
GitHub Copilot Atlas - 一個擴展的協作系統,擁有專業代理程式,如負責規劃的「Prometheus」、負責研究的「Oracle」、負責實作的「Sisyphus」以及負責快速程式碼庫探索的「Explorer」
Claude Agent (預覽版)
在此版本中,我們推出了 Claude Agent 支援(目前為預覽版)。這讓您能夠使用 GitHub Copilot 訂閱中包含的 Claude 模型,將任務委託給 Claude Agent SDK。

此整合使用了 Anthropic 官方的 Claude Agent 框架,這意味著它與其他 Claude Agent 實作共享相同的提示詞、工具和整體架構。您可以在 Anthropic 文件 中了解更多關於 Claude Agent SDK 的資訊。
此整合尚在積極開發中,我們計畫在未來幾個月內增加更多功能和改進。同時,我們非常期待您能分享在使用 VS Code 中的 Claude Agent 時的意見回饋,以及您希望接下來看到的功能。歡迎隨時在 GitHub 上提供建議!
Anthropic 模型
設定: github.copilot.chat.anthropic.thinking.budgetTokens , github.copilot.chat.anthropic.toolSearchTool.enabled , github.copilot.chat.anthropic.contextEditing.enabled
我們對 VS Code 中的 Anthropic 模型支援進行了幾項改進
-
具備交錯思考的 Messages API:Anthropic 模型現在使用 Messages API,該 API 支援交錯思考 (interleaved thinking)。這使 Claude 能夠在工具呼叫之間進行推理,從而在複雜的多步驟任務中提供更周到且具情境的回答。您可以透過 github.copilot.chat.anthropic.thinking.budgetTokens 設定來配置思考預算,或將其設為
0以完全停用擴充思考。 -
工具搜尋工具 (Tool search tool):我們啟用了 工具搜尋工具,以協助 Claude 從龐大的可用工具庫中發現並選擇與您任務最相關的工具。此功能可透過 github.copilot.chat.anthropic.toolSearchTool.enabled 設定來切換。
-
情境編輯 (實驗性功能):我們新增了對 情境編輯 的支援,以協助更有效率地管理較長的對話。此功能會清除先前回合的工具結果和思考 Token,有助於推遲摘要總結並在聊天對話中維持更多情境。您可以透過啟用 github.copilot.chat.anthropic.contextEditing.enabled 設定來試用。
支援 MCP Apps
在此版本中,VS Code 新增了對 MCP Apps 的支援。MCP Apps 允許伺服器在客戶端顯示豐富的互動式 UI。
當伺服器回傳 Apps 時,它們會自動顯示。如果您是 MCP 伺服器開發人員,您可以透過查看以下內容來進一步了解 MCP Apps:

支援 MCP 套件的自訂登錄基礎網址 (registry base URLs)
VS Code 現在支援 MCP 伺服器清單檔案中的 registryBaseUrl 屬性。這使得組織可以從私人或替代的套件登錄庫部署 MCP 伺服器,例如內部的 Azure DevOps 摘要或自訂 PyPI 儲存庫。
代理程式最佳化
更聰明的情境、更快速的搜尋、更好的結果。有了 Copilot Memory,代理程式能記住跨對話中重要的內容。外部索引將快速的語意搜尋帶入了非 GitHub 的工作區。此外,在獲得您許可的情況下,代理程式現在可以在需要時讀取您工作區之外的檔案。
Copilot Memory (預覽版)
設定: github.copilot.chat.copilotMemory.enabled
如果您發現自己不斷向 AI 提供相同的情境,現在可以使用 Copilot Memory 來儲存並在跨對話中回憶重要資訊。
透過新的記憶工具,您的聊天現在可以直接存取和更新 Copilot Memory。這使代理程式能夠從您儲存的記憶中檢索相關情境,並在您工作時儲存新的學習內容。將 github.copilot.chat.copilotMemory.enabled 設定為 true 以啟用記憶工具。
記憶工具應該能夠識別何時將特定資訊儲存為記憶(例如「有疑問時務必詢問釐清問題」),以及何時檢索相關記憶以豐富其回應。

您可以從 GitHub Copilot 設定 中檢視並管理您所有的記憶。
非 GitHub 工作區的外部索引 (預覽版)
設定: github.copilot.chat.advanced.workspace.codeSearchExternalIngest.enabled
非託管於 GitHub 的工作區,現在可以在使用代理程式時遠端建立索引,以加快程式碼搜尋速度。當您在非 GitHub 工作區使用 #codebase 時,VS Code 會為您的程式碼庫建立索引,從而啟用快速的語意搜尋,提供與 GitHub 託管儲存庫相同強大的程式碼搜尋能力。
索引會在第一次請求時建立,根據儲存庫大小和您的網路連線速度,可能需要幾分鐘。後續的請求會快得多,因為它們會使用快取索引。當您修改並儲存檔案時,索引會自動更新。
我們將在接下來的幾週內逐步推出外部索引功能。請注意,任何託管於 GitHub 的工作區已支援遠端索引,不需要在首次請求時進行昂貴的索引建立呼叫。
讀取工作區之外的檔案
在獲得您許可的情況下,代理程式現在可以讀取檔案並列出您當前工作區之外的目錄。先前,存取嘗試會被自動拒絕。現在,當代理程式需要存取外部檔案或資料夾時,VS Code 會提示您允許或拒絕該請求。
您也可以允許整個對話期間的存取,以避免未來在同一資料夾下讀取時出現重複提示。

效能改進
在此迭代中,我們進行了大量的效能改進
-
大型聊天:長的聊天對話現在開啟和捲動應該會更順暢。我們也優化了對話的保存方式,使其整體上更加可靠。
-
平行相依任務:透過代理程式執行任務時,相依任務現在會並行處理而非順序執行。這可以顯著縮短具有多個獨立建置步驟之專案的建置時間。查看我們的
microsoft/vscode儲存庫 來感受差異!
代理程式安全與信任
安心執行代理程式指令。新的終端機沙盒限制了代理程式執行指令的檔案和網路存取,自動核准規則跳過了安全操作的確認步驟,且改良的介面清楚顯示了正在執行什麼以及原因,讓您隨時掌控一切。
終端機沙盒 (實驗性功能)
設定: chat.tools.terminal.sandbox.enabled , chat.tools.terminal.sandbox.linuxFileSystem , chat.tools.terminal.sandbox.macFileSystem , chat.tools.terminal.sandbox.network
代理程式擁有與您使用者帳戶相同的權限。為了協助降低代理程式執行終端機指令相關的風險,我們引進了實驗性的終端機沙盒功能。終端機沙盒將檔案系統存取限制為僅限您的工作區資料夾,並讓您將網路存取限制為僅限受信任的網域。
注意:終端機沙盒目前僅支援 macOS 和 Linux。在 Windows 上,沙盒設定不會產生任何影響。
若要啟用終端機沙盒,請將 chat.tools.terminal.sandbox.enabled 設定為 true。
啟用沙盒後
- 預設情況下,指令對當前工作目錄擁有讀取和寫入存取權
- 指令執行時無需標準確認對話方塊,因為它們在受控環境中運作
- 預設情況下,所有網域的網路存取皆被封鎖
在我們的文件中深入了解如何設定 終端機沙盒。
終端機工具生命週期改進
此版本進行了幾項變更,以解決圍繞不正確背景終端機行為的問題
-
您現在可以手動將終端機工具呼叫推送到背景,騰出代理程式以繼續進行其他工作。

-
當呼叫終端機工具時,代理程式現在必須填寫一個
timeout屬性(0 表示無逾時)。這提供了一個額外的逃生機制,以便在發生意外情況時將控制權交回給代理程式。 -
新的
awaitTerminal工具使代理程式能夠等待背景終端機完成,這同樣需要timeout屬性。只要模型利用此工具,預期應可防止過去為了等待背景指令結束而使用的echo "successful"和sleep n呼叫。 -
新的
killTerminal工具使代理程式能夠終止背景終端機,以便在完成工作後進行清理。這旨在防止代理程式有時為了達成相同目的而採取的繞路做法(例如終止進程),例如當它想停止舊的、執行中的伺服器指令時。 -
針對當前工作目錄運作方式進行了幾項指令變更,因為作用中的非背景終端機始終保留當前工作目錄,而背景終端機始終從工作區目錄啟動。
終端機自動核准
設定: chat.tools.terminal.enableAutoApprove 此設定由組織管理。請聯絡您的管理員以進行更改。
當啟用終端機自動核准( chat.tools.terminal.enableAutoApprove 此設定由組織管理。請聯絡您的管理員以進行更改。)時,以下指令預設為自動核准:
Set-Locationdirodxxd- 標記與單一輸入檔案docker- 所有安全子指令npm,yarn,pnpm- 所有安全子指令
終端機增強功能
一個更流暢、功能更強大的終端機。聊天中的終端機指令現在顯示更豐富的詳細資訊,包括語法標示和工作目錄。對 Kitty 鍵盤協定的支援改進了終端機應用程式中的按鍵處理,新的選項讓您可以自訂黏性捲動 (sticky scroll) 並在受限工作區中使用終端機。
選擇性忽略黏性捲動
設定: terminal.integrated.stickyScroll.ignoredCommands
有些指令在不需要該行為時也會出現在黏性捲動中,例如 clear 指令。從此版本開始,您可以自訂哪些指令會被忽略,且其中已包含一些常見的代理程式 CLI(在正常緩衝區中執行),例如 copilot、claude、codex 和 gemini。
移除對 winpty 的支援
對 winpty 的支援已從 node-pty 中移除,這意味著終端機將無法在 Windows 10 版本 1809(2018 年秋季)之前的 Windows 版本上運作。ConPTY 是終端機的現代化機制,因此我們建議升級至較新版本的 Windows 10 或移至 Windows 11。您或許可以透過設定 "terminal.integrated.windowsUseConptyDll": true 來讓終端機運作,但請注意這目前是實驗性功能。
允許在受限工作區中開啟終端機
設定: terminal.integrated.allowInUntrustedWorkspace
當未授予工作區信任時,會封鎖開啟終端機以保護使用者免受攻擊,例如透過 .env 檔案設定變數來執行程式碼的攻擊。注重安全的使用者通常會設定其 Shell 以防止這種可能性,因此現在有一個新的選擇性設定,允許在受限工作區中開啟終端機。
新的 VT 功能
設定: terminal.integrated.enableKittyKeyboardProtocol
Kitty 鍵盤協定 已經實作,並將在此版本中推送到穩定版。此功能旨在修復傳統編碼按鍵方式的許多限制,具體包括:
- 允許終端機編碼更多修飾鍵和多重修飾鍵,而不僅僅是 alt 和 ctrl
- 處理按下和釋放事件,以及重複按下(按住一個鍵)
- 消除許多按鍵的歧義,例如 Escape,它通常發送
ESC(\x1b) 序列,這恰好也是所有跳脫序列的開頭。
這需要終端機中執行的程式支援該協定,並在執行時請求啟用它。您會立即注意到的巨大好處是,shift+enter 應該可以在某些代理程式 CLI 中運作,而無需執行類似 /terminalSetup 的指令。
設定: terminal.integrated.enableWin32InputMode (實驗性功能)
與上述類似,有一個實驗性版本的 win32 輸入模式,它達成了類似的效果,但專門針對 Windows 及其偽終端後端 ConPTY 進行了調校。在此版本中它將保持關閉,如果您遇到任何問題,請告訴我們。
其他
- 獨立控制粗體和弱體 SGR 屬性 (
SGR 222,SGR 221)。此序列很少使用,但它定義明確,使用時可能會導致輸出損毀,因此我們決定支援它。
編碼與編輯器
小幅精進累積成大改進。按兩下選擇括號或字串內容。自訂括號配對顏色。將程式碼片段限定於特定檔案。正確偵測 TypeScript shebang。這些聚焦的改進讓日常編輯變得更順暢一點。
括號配對前景顏色
您現在可以使用新的 editorBracketMatch.foreground 顏色主題 Token 自訂配對括號的文字顏色。先前,您只能自訂背景 (editorBracketMatch.background) 和邊框 (editorBracketMatch.border) 顏色。新的顏色 Token 讓您可以透過改變括號字元本身的顏色,讓配對的括號更醒目。
該設定預設為 null,意味著括號會繼承其正常的文字顏色。在 settings.json 中的 workbench.colorCustomizations 下進行配置
{
"workbench.colorCustomizations": {
"editorBracketMatch.foreground": "#ff0000"
}
}
雙擊選擇括號和字串內容
您現在可以在開括號後方或關括號前方按兩下,以選取其中的所有內容。這對字串也有效 - 在起始引號後方或結束引號前方按兩下,即可選取字串內容。這提供了一種快速方式來選取、複製或替換括號或字串內的內容,而無需手動移動游標。
TypeScript 的重新命名建議
TypeScript 的重新命名建議現在在輸入覆寫現有的宣告時也能運作。在以下影片中,使用者透過輸入新的識別碼名稱來將宣告 let index = 0; 變更為 let chunkIndex = 0;,而不是使用重新命名重構。下一個編輯建議仍會建議使用 Shift+Tab 將 index 重新命名為 chunkIndex。
注意:此功能目前僅適用於 TypeScript。
改進鬼影文字 (ghost text) 可見度
當顯示少於三個連續非空白字元的簡短建議時,內嵌建議(鬼影文字)現在會顯示虛線底線。此視覺指示器讓編輯器中更容易區分鬼影文字與實際程式碼。當建議為單一字元(例如 ))時特別有用,因為這可能會與現有程式碼混淆。

程式碼片段檔案模式
您現在可以使用 include 和 exclude Glob 模式 來控制程式碼片段顯示在哪些檔案中。使用此功能將程式碼片段限制在特定檔案或專案情境,防止它們出現在不相關的檔案中。
例如,建立一個僅出現在 Travis CI 設定檔中的程式碼片段
{
"Travis CI node_js": {
"include": ".travis.yml",
"prefix": "node",
"body": ["language: node_js", "node_js:", " - $1"],
"description": "Node.js configuration for Travis CI"
}
}
如果模式包含路徑分隔符,它們會匹配絕對檔案路徑,否則它們僅匹配檔案名稱。include 和 exclude 都可以是單一模式或模式陣列。使用 exclude 來防止程式碼片段出現在特定檔案中,即使它們本來會符合該程式碼片段的語言範圍。
改進 shebang 語言偵測
VS Code 現在改進了 shebang 語言偵測支援,特別是針對使用帶有額外標記的 /usr/bin/env 的檔案。帶有 shebang(如 #!/usr/bin/env -S deno -A)的檔案現在被正確偵測為 TypeScript。這實現了更好的語言支援,即使沒有 .ts 副檔名,也能針對使用 Deno 或 Bun 等執行階段編寫的 TypeScript 腳本提供更好的支援。
工作台與生產力
無需切換視窗即可測試、除錯和發布。新的整合式瀏覽器讓您可以直接在 VS Code 中預覽和檢查 localhost 網站,並配備完整的 DevTools 和驗證支援。
整合式瀏覽器 (預覽版)
設定: workbench.browser.openLocalhostLinks , simpleBrowser.useIntegratedBrowser , livePreview.useIntegratedBrowser
VS Code 長期以來一直包含 Simple Browser,用於在開發期間開啟基礎網頁,例如 localhost 網站。然而,由於它依賴於 iframe,因此存在多項限制:網站驗證無法進行,且常見的網站(如 Google、GitHub 和 Stack Overflow)無法開啟。
此版本為 VS Code 桌面版引入了一個新的整合式瀏覽器,克服了這些限制。您現在可以像在一般瀏覽器中一樣登入網站並瀏覽任何頁面。
亮點包括:
- 永久資料儲存,具有可配置的範圍(全域、工作區或記憶體內/暫存)
- 新增元素至聊天:選取一個元素並將其傳送給代理程式以尋求協助
- 全功能 DevTools
- 鍵盤快速鍵
- 頁面內搜尋
以及更多功能……
要嘗試此功能,請執行 Browser: Open Integrated Browser 指令。如果您想更廣泛地使用整合式瀏覽器,您可以啟用 workbench.browser.openLocalhostLinks ,以直接在新的瀏覽器中開啟 localhost 連結(如上所示)。
您也可以透過 simpleBrowser.useIntegratedBrowser 設定將整合式瀏覽器配置為取代 Simple Browser,或是透過 livePreview.useIntegratedBrowser 設定供 Live Preview 擴充功能使用。
工作區開啟時還原編輯器
設定: workbench.editor.restoreEditors
先前,VS Code 在重新開啟工作區時總是會還原所有開啟的編輯器。透過新的 workbench.editor.restoreEditors 設定,您可以控制在開啟工作區時是否還原編輯器。當此設定停用時,VS Code 會以乾淨的編輯器區域啟動,而不是重新開啟您上次會話的索引標籤。
注意:為了防止資料遺失,髒(未儲存)的編輯器始終會還原,而不受此設定影響。
進階設定
設定: workbench.settings.alwaysShowAdvancedSettings
您現在可以設定 VS Code 始終在設定編輯器中顯示進階設定,而無需每次都套用 @tag:advanced 篩選器。啟用 workbench.settings.alwaysShowAdvancedSettings 設定,即可預設顯示進階設定。
透過拖放匯入設定檔
您現在可以透過將 .code-profile 檔案拖放到 VS Code 視窗中來匯入設定檔。這提供了與拖放 .code-workspace 檔案類似的體驗,使共用和套用設定檔變得更容易。
輸出通道篩選器改進
輸出面板篩選器現在支援負向模式和多重篩選器。使用 ! 來排除輸出中的特定行,例如 !debug 會隱藏所有包含 "debug" 的行。您也可以用逗號組合多種模式以進行更精確的篩選。
依來源篩選問題
「問題」面板現在支援依診斷的來源或擁有者進行篩選。這在您想要專注於特定類型的問題(例如建置錯誤)同時暫時隱藏來自其他來源(如拼字檢查器或 Linter)的診斷時非常有用。例如,在篩選方塊中輸入 source:ts 僅顯示 TypeScript 診斷,或使用 !source:cSpell 隱藏所有拼字檢查器警告。
擴充功能編輯器顯示設定預設值
擴充功能編輯器中的「功能貢獻」索引標籤現在會顯示由擴充功能提供的設定預設值。這使得更容易查看擴充功能提供了哪些預設設定,例如特定於語言的編輯器配置。
在 git worktree 中包含額外檔案 (實驗性功能)
設定: git.worktreeIncludeFiles
使用背景代理程式時,會建立一個 git worktree 以隔離變更。透過新的 git.worktreeIncludeFiles 設定,您可以指定在 worktree 建立後複製到 worktree 資料夾的額外檔案或 Glob 模式。當您的專案依賴於被 git 忽略且不屬於 git 儲存庫的檔案(例如本機設定檔或建置產物)時,這非常有用。
SCM 檢視中的「全部摺疊」動作
在原始程式碼控制 (SCM) 檢視的「變更」區段中以樹狀結構檢視檔案時,您現在可以使用根節點內容選單中的 全部摺疊 動作,一次摺疊所有已展開的目錄結構,讓您更容易瀏覽大量的變更。
Git: 刪除指令
新的 Git: 刪除 指令讓您可以直接從命令選擇區對當前開啟的檔案執行 git rm。這會將檔案從工作目錄和 Git 索引中移除,然後關閉編輯器。這提供了一個比一般檔案刪除更安全的替代方案,因為 git rm 僅在沒有未提交變更的已提交檔案上才能成功。
停用 blame 編輯器裝飾游標懸停
設定: git.blame.editorDecoration.hoverEnabled
您現在可以停用當您將滑鼠移至編輯器中內嵌 Git blame 裝飾上時出現的懸停快顯視窗。將 git.blame.editorDecoration.hoverEnabled 設定為 false,以保持內嵌 blame 註解可見,同時防止懸停快顯出現。如果您發現快顯視窗分散注意力,但仍希望一眼就能看到 blame 資訊,這非常有用。
自動任務預設為停用
設定: task.allowAutomaticTasks
為了提高安全性並防止開啟工作區時意外執行 tasks.json 中定義的任務, task.allowAutomaticTasks 設定現在預設為 off 而非 on。
若要恢復先前的行為,請在您的使用者設定中將 task.allowAutomaticTasks 設定為 on。
無障礙功能改進
在無障礙視圖中動態串流聊天回應和思考
無障礙視圖現在會隨著 AI 模型產生內容而動態串流聊天回應內容。螢幕閱讀器使用者可以即時跟進回應,無需手動重新整理或重新開啟無障礙視圖。這現在也包含思考內容,使螢幕閱讀器體驗與視覺顯示保持一致。
無障礙視圖中的穩定游標位置
當無障礙視圖中的內容更新時(例如在串流聊天回應期間或使用終端機時),游標位置現在保持穩定。這防止了可能干擾螢幕閱讀器導覽的焦點變更,讓您在附加新內容時能按照自己的步調閱讀。
新聊天對話的 ARIA 警示
建立新的聊天對話時,螢幕閱讀器使用者現在會收到 ARIA 警示通知,以告知他們新的聊天情境。
無障礙視圖中改進的工具呼叫資訊
無障礙視圖中的工具呼叫現在包含更完整的資訊,使螢幕閱讀器使用者更容易理解 AI 代理程式正在執行哪些動作。
宣告游標位置指令
螢幕閱讀器使用者現在可以使用新的 Announce Cursor Position 指令(透過 Ctrl/Cmd+Alt+Shift+G)快速存取並聆聽他們當前的行和列位置。
企業級改進
在我們的文件中深入了解 VS Code 的企業功能。
改進 GitHub 組織原則執行
此版本包含了 GitHub 組織原則執行可靠性的改進。當登入多個帳戶時,原則現在會根據偏好的 GitHub Copilot 帳戶正確套用。此外,即使在啟動時暫時斷網,組織原則現在也能持續執行,確保無論連線狀態如何,受管理的限制都能有效維持。
擴充功能與 API
為擴充功能作者提供新的基礎模組。最終確定的 Quick Input 按鈕 API 讓您對輸入位置和切換狀態擁有更多控制。建議使用的 API 讓聊天模型供應商能夠宣告設定結構,而新的聊天資源供應商讓擴充功能能夠貢獻動態提示詞、代理程式和技能。
GitHub Pull Requests
GitHub Pull Requests 擴充功能也有更多進展,讓您能夠處理、建立與管理 Pull Request 和 Issue。
查看擴充功能 0.128.0 版本的變更紀錄,了解該版本的所有內容。
最終確定的 Quick Input 按鈕位置 API
當您在 QuickPick 或 InputBox 上設定 buttons 屬性時,您現在可以使用新的 location 屬性指定每個按鈕的位置。這允許您將按鈕放置在:
Title:快速輸入的頂部標題區域(未指定時的預設值)Inline:渲染在輸入方塊的右側Input:渲染在輸入方塊內部的右側
最終確定的 Quick Input 按鈕切換 API
您現在可以透過在 QuickInputButton 上將 toggle 屬性設定為 { checked: boolean },在快速輸入中建立切換按鈕。切換按鈕保持開/關狀態,您可以使用新的 checked 屬性讀取和更新它。這對於具有兩種狀態的動作非常有用,例如啟用或停用功能、套用篩選器或切換模式。
提議的 API
聊天模型供應商配置
我們引進了一項新的建議 API,使聊天模型供應商擴充功能能夠透過 languageModelChatProviders 貢獻點宣告其配置需求。有了此 API,VS Code 提供了一個內建 UI 供使用者輸入其配置(例如 API 金鑰和模型設定),並透過該 API 將此配置傳遞給擴充功能。
此方法將在未來版本中取代現有的 managementCommand 屬性。與其讓擴充功能透過指令實作自己的配置 UI,它們現在可以宣告自己的配置結構,並讓 VS Code 處理使用者體驗。
VS Code 為原始屬性類型(如 string、number 和 boolean)提供原生 UI 控制項。對於像 array 和 object 這樣的複雜類型,VS Code 會開啟相應的配置檔案,並允許使用者直接在 JSON 編輯器中輸入配置,並具備完整的結構驗證和 IntelliSense 支援。詳情請參閱 語言模型編輯器 的配置體驗。
基礎配置
對於僅需要 API 金鑰的供應商,配置非常簡單
{
"contributes": {
"languageModelChatProviders": [
{
"vendor": "my-provider",
"displayName": "My Provider",
"configuration": {
"properties": {
"apiKey": {
"type": "string",
"secret": true,
"description": "API key for My Provider",
"title": "API Key"
}
},
"required": ["apiKey"]
}
}
]
}
}
自訂模型的進階配置
對於支援帶有自訂端點之使用者定義模型的供應商,您可以定義更複雜的結構
{
"contributes": {
"languageModelChatProviders": [
{
"vendor": "my-provider",
"displayName": "My Provider",
"configuration": {
"properties": {
"apiKey": {
"type": "string",
"secret": true,
"description": "API key for authentication",
"title": "API Key"
},
"models": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "string",
"description": "Unique model identifier"
},
"name": {
"type": "string",
"description": "Display name for the model"
},
"url": {
"type": "string",
"description": "Model endpoint URL"
},
"maxInputTokens": {
"type": "number",
"description": "Maximum input tokens supported by the model"
},
"maxOutputTokens": {
"type": "number",
"description": "Maximum output tokens supported by the model"
},
"toolCalling": {
"type": "boolean",
"description": "Whether the model supports tool calling"
},
"vision": {
"type": "boolean",
"description": "Whether the model supports vision capabilities"
}
},
"required": ["id", "name", "url", "maxInputTokens", "maxOutputTokens"]
}
}
},
"required": ["apiKey"]
}
}
]
}
}
註冊語言模型聊天供應商時,擴充功能會收到使用者提供的配置
vscode.lm.registerLanguageModelChatProvider('my-provider', {
provideLanguageModelResponse: (
messages,
options,
extensionToken,
configuration,
token
) => {
// configuration contains the values the user entered in VS Code's UI
const apiKey = configuration.apiKey;
const models = configuration.models;
// Use configuration to make API calls...
}
});
配置結構中的 secret 屬性指示欄位應安全儲存並在 UI 中遮罩。VS Code 會自動為這些欄位處理安全儲存。
此 API 仍處於提案階段。您可以在此處找到提案:vscode.proposed.lmConfiguration.d.ts。
聊天提示詞檔案 API
我們引進了一項新的建議 API,使擴充功能能夠貢獻動態聊天資源。有了此 API,擴充功能可以程式設計方式提供與使用者定義檔案並列顯示的提示詞檔案、自訂代理程式、指令和技能,從而實現根據專案情境生成提示詞或從外部來源提取資源等場景。
該 API 為每種資源類型引進了 ChatResource 介面和供應商註冊方法
// Register a provider for skills
vscode.chat.registerSkillProvider({
onDidChangeSkills: onDidChangeEvent,
provideSkills(context, token): ChatResource[] {
return [{ uri: vscode.Uri.parse('my-extension:/skills/debugging/SKILL.md') }];
}
});
// Similar methods exist for other resource types:
// - registerCustomAgentProvider() for .agent.md files
// - registerInstructionsProvider() for .instructions.md files
// - registerPromptFileProvider() for .prompt.md files
此 API 仍處於提案階段。您可以在此處找到提案:vscode.proposed.chatPromptFiles.d.ts。
聊天項目控制器 API
我們持續迭代 聊天工作階段項目 API。此 API 讓擴充功能能夠貢獻項目到 VS Code 的內建聊天工作階段檢視。
在此迭代中,我們引進了一項新的基於控制器的 API,取代了先前基於供應商的模型。控制器 API 讓擴充功能能夠將變更推送到 VS Code,而不是由 VS Code 從擴充功能拉取它們。它也將 ChatSessionItems 變更為託管物件,因此您可以透過更新其屬性將變更推送給它們。
這裡有一個簡短的範例,展示如何使用此 API
import * as vscode from 'vscode';
export function activate(context: vscode.ExtensionContext) {
// Create a new controller with a unique id
const controller = vscode.chat.createChatSessionItemController(
'myExtension.chatSessions',
// Refresh function. This is invoked when the controller is registered and
// when the user presses the refresh button.
async (token: vscode.CancellationToken) => {
// Fetch sessions from your backend/storage
const sessions = await fetchSessionsFromBackend();
// Create managed chat session items
const items = sessions.map(session =>
controller.createChatSessionItem(
vscode.Uri.parse(`my-scheme://session/${session.id}`),
session.title
)
);
// Tell VS Code about these items by updating `controller.items`. They will now show
// in the chat sessions UI
controller.items.replace(items);
// The chat session items are live. This means you can update them just by updating properties on them
setTimeout(() => {
const currentTime = new Date().toLocaleTimeString();
for (const item of controller.items) {
item.label = `${item.label} - ${currentTime}`;
}
}, 10000);
}
);
// We can also listen for changes in a chat session item's archived state
controller.onDidChangeChatSessionItemState(item => {
console.log(`Session ${item.label} archived: ${item.archived}`);
});
}
聊天輸出渲染器 API 更新
我們持續致力於聊天輸出渲染器 API。此 API 讓擴充功能能夠使用 webview 在聊天回應中渲染自訂的互動式內容。
除了大量的錯誤修復外,我們現在也將渲染器作為 ChatOutputWebview 傳遞,而不僅僅是直接傳遞 Webview。這讓擴充功能能夠監視 webview 何時被處置,以便它們可以清理任何相關的資源。當 webview 再次變得可見時,它將由 VS Code 重新建立。
查看 聊天輸出渲染器範例擴充功能 以獲取關於如何使用此 API 的詳細資訊。
可攜模式偵測
新的 env.isAppPortable 屬性讓擴充功能能夠偵測 VS Code 是否正在以 可攜模式 執行。當應用程式從包含 data 目錄的資料夾執行時,會啟用可攜模式,從而允許自包含的安裝,且不會在主機系統上留下痕跡。
if (vscode.env.isAppPortable) {
// Running in portable mode - adjust behavior accordingly
}
此 API 仍處於提案階段。您可以在此處找到提案:vscode.proposed.envIsAppPortable.d.ts。
工程相關
macOS 的 DMG 映像
VS Code 現在提供 macOS 的 DMG 映像,以提供原生的拖放安裝體驗。這些映像適用於所有支援的架構,可從 VS Code 網站 取得。

Windows 11 內容選單整合
在安裝具有內容選單支援的 VS Code 時,在 Windows 11 檔案總管中按一下右鍵將會在頂層內容選單中新增一個項目,無需選擇 顯示更多選項 即可存取 VS Code。使用者和系統安裝程式皆支援此新項目。

重新設計 Windows 安裝佈局
我們重新設計了 Windows 上的安裝佈局,以解決與應用程式內更新相關的長期可靠性問題。最顯著的是,舊版本執行了原子檔案取代操作,如果被系統關機、使用者介入或其他意外事件中斷,可能會失敗,有時導致 VS Code 處於損壞狀態。新的實作從 Chromium 的更新客戶端 汲取了靈感,並使用版本化的套件路徑。
避免 macOS 的連續更新
如果在新更新可用時前一個更新仍在等待套用,VS Code 現在會作廢前一個更新並繼續套用新的更新,而不是強制使用者重新啟動應用程式兩次。
Copilot 擴充功能已棄用
GitHub Copilot 擴充功能已被棄用。所有 AI 功能現在完全由 GitHub Copilot Chat 擴充功能提供。當您更新 VS Code 時,已棄用的 Copilot 擴充功能會自動解除安裝,而 Copilot Chat 擴充功能則保持安裝,並提供完整的 Copilot 體驗。

從 npm 套件取用 codicons
Codicons 現在透過 @vscode/codicons npm 套件取用,而不是直接捆綁在 VS Code 儲存庫中,並作為建置程序的一部分進行併入。
值得注意的修正
- vscode#276558 - 修復在
editor.hover.enabled設定為onModifierKeyPressed時按下修飾鍵,懸停無法立即觸發的問題 - vscode#58814 - 檔案描述符洩漏至終端機處理序
謝謝您
議題追蹤
對我們議題追蹤的貢獻:
- @gjsjohnmurray (John Murray)
- @RedCMD (RedCMD)
- @IllusionMH (Andrii Dieiev)
- @albertosantini (Alberto Santini)
Pull Requests
對 vscode 的貢獻:
- @ChaseKnowlden: 鍵盤修飾鍵上的懸停應立即觸發 PR #276582
- @dalisoft (Davlatjon Sh): fix(typescript):
tsserver.useSyntaxServer.always說明 PR #286476 - @hkleungai (Jimmy Leung): vscode-dts: 修復 WebviewPanel.dispose() 的 typedoc PR #289071
- @Infro (John Heilman): 如果使用者選擇一種語言,讓我們實際選擇他們所選的語言。(Yaml vs yaml) PR #288153
- @Ishiezz (Isha Singh): 修復:當引擎不支援時,不要建議隱式啟用訊息 PR #281302
- @KanishkRanjan (Kanishk Ranjan): fix: 穩定設定樹,並修復啟動期間導致早期擴充功能註冊造成鬼影捲動的問題。 PR #278931
- @kiofaw (kiofaw): fix: 將 AsyncIterableObject 取代為 AsyncIterableProducer PR #288079
- @lucas-gomes-santana (Lucas Gomes Santana): 改進非拉丁語系程式碼片段大小寫轉換支援 (fix: #286165) PR #287150
- @newminkyung (minkyung): fix: 螢幕錄影模式 - 鍵盤疊加逾時 PR #238860
- @RedCMD (RedCMD): fix: VB
increaseIndentPatternPR #291176 - @SimonSiefke (Simon Siefke)
- fix: 資料夾配置中的記憶體洩漏 PR #279230
- fix: 抽象任務服務中的記憶體洩漏 PR #289863
- @tamuratak (Takashi Tamura)
- 透過在 NativeEditContext 和 TextAreaEditContext 的下一個動畫影格排程 DOM 更新來優化渲染效能 PR #285906
- fix: 防止在聊天清單中為最終答案渲染思考部分 PR #288178
- @vedbhadani (Ved BHadani): 聊天情境供應商的自動啟用事件 PR #280677
- @daviddossett (David Dossett): 優化按鈕與輸入框 PR #280457
對 vscode-copilot-chat 的貢獻
- @24anisha (Anisha Agarwal): 搜尋子代理程式 - 設定可配置實驗變數 PR #3205
- @alexandear (Oleksandr Redko): tools: 更新驗證失敗的報錯訊息 PR #3113
- @bstee615 (Benjamin Steenhoek): 將激進等級和使用者滿意度分數記錄到遙測 PR #2897
- @DanielFabian (Daniel Fabian): 為文件新增短期快取,並在連結器中按語言進行篩選。 PR #2211
- @kevin-m-kent: 修復 prompttypes 測量 PR #2799
對 vscode-explorer-command 的貢獻
- @ArcticLampyrid (ArcticLampyrid): fix: 使用 ShellExecuteW 取代 CreateProcessW,允許 UAC 對話方塊 PR #17
對 vscode-js-debug 的貢獻
- @nayeemrmn (Nayeem Rahman): fix: 不要為 deno 除錯配置重複 --allow-all PR #2308
對 vscode-python-environments 的貢獻
- @renan-r-santos (Renan Santos): 修復使用
shellStartup時啟用圖示狀態 PR #837 - @StellaHuang95 (Stella Huang)
對 vscode-windows-registry 的貢獻
- @thegecko (Rob Moran):修正小型程式碼範例 PR #33
對 language-server-protocol 的貢獻:
- @asukaminato0721 (Asuka Minato):新增 harper PR #2222
對 python-environment-tools 的貢獻
- @elprans (Elvis Pranskevichus):修正在 merged-usr 系統上環境重複的問題 PR #200
我們非常感謝大家在第一時間體驗我們的新功能,請經常回來查看,了解最新消息。
如果您想閱讀先前 VS Code 版本的發布說明,請前往 code.visualstudio.com 上的 Updates 頁面。