2026 年 2 月(版本 1.110)

發布日期:2026 年 3 月 4 日

下載:Windows: x64 Arm64 | Mac: Universal Intel silicon | Linux: deb rpm tarball Arm snap


安全性更新:下列擴充功能有安全性更新:GitHub.copilot-chat

更新 1.110.1:此更新修復了核心中的這些安全性問題,以及GitHub Copilot Chat 擴充功能中的這些安全性問題

歡迎使用 2026 年 2 月版的 Visual Studio Code。此版本讓代理程式(Agents)能實際應用於更長且更複雜的任務,為您提供更多的控制權與可視性、代理程式的全新擴充方式,以及更聰明的對話階段管理。

祝您開發愉快!



如果您想在線上閱讀這些發行說明,請前往 code.visualstudio.com 上的 Updates

Insiders:想儘快嘗試新功能嗎?
您可以下載每晚更新的 Insiders 版本,並在最新更新發布時立即試用。
下載 Insiders


代理程式控制

無論您是在偵錯代理程式的行為、調整批准流程,還是將工作移交給背景程序,這些更新都能讓您對代理程式的執行方式擁有更高的可視性與控制權。

背景代理程式

透過背景代理程式,您可以將任務交給 Copilot CLI,同時在 VS Code 中進行追蹤。我們進行了多項改進,使背景代理程式的能力與體驗與本機及雲端代理程式保持一致。

  • 上下文壓縮:當上下文視窗達到極限時,Copilot 會自動壓縮對話記錄。您現在也可以使用 /compact 斜線指令手動為背景代理程式觸發壓縮。

  • 使用 /斜線指令:聊天自訂選項(如提示詞檔案掛鉤技能)現在也可作為斜線指令在背景代理程式對話階段中使用。

    Screenshot showing slash commands for background agents.

  • 重新命名背景代理程式對話階段:您現在可以重新命名背景代理程式對話階段,以便更輕鬆地進行追蹤。

    Screenshot showing support for renaming background agent sessions.

Claude 代理程式

上個月我們加入了Claude 代理程式,讓您能使用 GitHub Copilot 訂閱中包含的 Claude 模型與 Claude Agent SDK 互動。

本月,我們透過新功能與改進擴展了此體驗:

  • 引導與排隊:讓您能在對話中發送後續訊息,以改變代理程式的方法或排入額外的請求。

  • 對話階段重新命名

    Screenshot of the session rename action on the chat session item.

  • 包含壓縮功能的上下文視窗渲染

    Screenshot of the context window control.

  • 額外的斜線指令

    • /compact:按需進行壓縮
    • /agents:管理自訂代理程式
    • /hooks:管理 Claude 掛鉤
  • 新增 getDiagnostics 工具:讓代理程式存取編輯器與工作區的問題

  • 顯著的效能改進

更多改進計畫中。請在 GitHub 上分享您的意見反應!

代理程式偵錯面板 (預覽)

使用掛鉤、技能與自訂代理程式等不同的代理程式自訂功能時,有時很難理解當您發送訊息給代理程式時發生了什麼。代理程式偵錯面板讓您對聊天對話階段以及聊天自訂設定如何載入有更深入的了解。

代理程式偵錯面板會即時顯示聊天事件,包括聊天自訂事件、系統提示詞、工具呼叫等。您可以精確看到哪些提示詞檔案、技能、掛鉤與其他自訂設定已載入到對話階段,讓代理程式設定的理解與疑難排解變得更加容易。此面板取代了舊有的診斷聊天動作,提供更豐富、更詳細的檢視。

Screenshot showing the Agent Debug panel with a list of chat events and a chart view.

透過命令面板使用 Developer: Open Agent Debug Panel 開啟此面板,或選取聊天檢視頂部的齒輪圖示並選擇 View Agent Logs

該面板還包含一個圖表檢視,顯示事件的視覺化層級結構,讓您能快速理解聊天對話階段期間發生事件的結構與順序。

Screenshot showing the flow chart view in the Agent Debug panel.

此體驗尚處於預覽階段,歡迎試用並分享您的意見反應!

注意:代理程式偵錯面板目前僅適用於本機聊天對話階段。日誌資料不會持久保存,因此您只能查看目前 VS Code 對話階段中的聊天日誌。

用於啟用自動批准的斜線指令

您現在可以直接使用斜線指令在聊天輸入框中切換全域自動批准,無需進入設定。

  • /autoApprove:啟用所有工具的全域自動批准
  • /disableAutoApprove:停用全域自動批准

/yolo/disableYolo 是相同指令的別名。

警告:全域自動批准會跳過所有工具確認提示,讓代理程式執行工具與終端機命令而不需等待您的批准。這可以加快較長、多步驟的任務,但意味著您將失去取消潛在破壞性動作的機會。請確保在啟用前了解相關的安全性影響,並考慮使用終端機沙盒 (terminal sandboxing) 以增加保護。

編輯與詢問模式的變更

設定 chat.editMode.hidden 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織層級管理。請聯絡您的管理員進行變更。

隨著代理程式的演進,代理程式模式現在能處理編輯模式能做的所有事情,且效能與可靠性更高。編輯模式現在預設從代理程式選擇器中隱藏,讓使用者能受益於最強大的模式,而無需在選項之間做選擇。您可以透過停用 chat.editMode.hidden 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織層級管理。請聯絡您的管理員進行變更。 設定來將其恢復。

詢問模式現在由自訂代理程式定義支援,使其成為一個完全代理化的體驗。這解決了之前的限制,例如在詢問模式與代理程式模式之間切換時需要建立新對話階段的要求。

這兩項變更都展示了如何自訂您自己的代理程式。如果您偏好編輯模式或想要自己版本的詢問模式,請透過定義其工具、提示詞與語言模型來建立符合您需求的自訂代理程式。當您停用 chat.editMode.hidden 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織層級管理。請聯絡您的管理員進行變更。 時,您可以在代理程式選擇器中選擇 View edit agent 動作來檢視驅動編輯模式的代理程式宣告,這可以作為您自己自訂代理程式的起點。

自訂代理程式文件中了解如何建立自訂代理程式。

詢問工具

askQuestions 工具在聊天互動期間呈現問題輪播 UI,現已移至 VS Code 核心。這提高了取消請求時的可靠性,並使該工具能在不同上下文中(包括子代理程式)一致運作。

Screenshot showing the ask questions tool with a carousel of questions and a question input box.

當輪播啟用時,您現在可以發送引導訊息,而無需先回覆或關閉待處理的問題。這使您能夠即時重新導向代理程式的回應,即使是在問題序列的中間。使用鍵盤導覽問題:⌥N (Windows, Linux Alt+N)(下一個)與 ⌥P (Windows, Linux Alt+P)(上一個)。

聊天期間防止自動暫停

VS Code 現在會要求作業系統在執行聊天請求時不要自動暫停機器。您可以離開電腦,而不必擔心代理程式的回應會被中斷。

請注意,關閉未插電筆記型電腦的蓋子仍會觸發暫停。

代理程式擴充性

代理程式的效用取決於您賦予它們的工具與自訂設定。此版本讓擴充代理程式的功能變得更容易,從可安裝的外掛程式套件到瀏覽器自動化與新的程式碼感知工具。

代理程式外掛程式 (實驗性)

設定 chat.plugins.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織層級管理。請聯絡您的管理員進行變更。 chat.plugins.marketplaces 在 VS Code 中開啟 在 VS Code Insiders 中開啟 chat.plugins.paths 在 VS Code 中開啟 在 VS Code Insiders 中開啟

VS Code 現在支援代理程式外掛程式 (plugins),這是預先封裝好的聊天自訂設定套件。外掛程式可包含技能、指令、代理程式、MCP 伺服器與掛鉤。

您可以直接從 VS Code 內的擴充功能檢視搜尋並安裝代理程式外掛程式。在搜尋框中輸入 @agentPlugins 或從命令面板執行 Chat: Plugins 命令。

Screenshot showing the Agent Plugins view in VS Code.

預設情況下,VS Code 會從 copilot-pluginsawesome-copilot 儲存庫擷取外掛程式。您可以透過下列設定配置更多來源:

  • chat.plugins.marketplaces 在 VS Code 中開啟 在 VS Code Insiders 中開啟 :透過指定 GitHub 或標準 git 儲存庫來增加額外的外掛程式市集。此設定也支援 Claude 風格的市集,例如 anthropics/claude-code
  • chat.plugins.paths 在 VS Code 中開啟 在 VS Code Insiders 中開啟 :透過指定路徑來註冊本機外掛程式目錄,並啟用或停用它們。

代理程式外掛程式文件中深入了解外掛程式相關內容。

代理瀏覽器工具 (實驗性)

設定 workbench.browser.enableChatTools 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織層級管理。請聯絡您的管理員進行變更。

在上一個版本中,我們在 VS Code 電腦版中新增了一個整合瀏覽器,讓您能直接在編輯器內與網頁互動。但如果您的代理程式能自動使用此瀏覽器,並在建置網站的同時驗證變更,那會如何呢?

在此版本中,我們為代理程式新增了一組讀取並與整合瀏覽器互動的工具。當代理程式與頁面互動時,它會看到頁面內容的更新,以及主控台中的任何錯誤與警告。這些工具開箱即用,無需安裝任何額外的相依項目。

  • 頁面導覽: openBrowserPage, navigatePage
  • 頁面內容與外觀: readPage, screenshotPage
  • 使用者互動: clickElement, hoverElement, dragElement, typeInPage, handleDialog
  • 自訂瀏覽器自動化: runPlaywrightCode

這些工具賦予代理程式同時編寫與驗證 Web 應用程式的能力,並為代理程式完成了開發迴圈。

預設情況下,代理程式開啟的頁面會在私人的記憶體內對話階段中執行。這讓您可以控制代理程式可以存取哪些瀏覽資料。若要讓代理程式存取整合瀏覽器中的特定網頁,您可以明確地將頁面共享給代理程式,以提供臨時存取權限與任何已儲存的資料。

若要試用這些新工具,請啟用 workbench.browser.enableChatTools 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織層級管理。請聯絡您的管理員進行變更。,並在聊天工具選擇器中啟用瀏覽器工具。

透過瀏覽器代理程式測試指南開始進行逐步教學。

從聊天中建立代理程式自訂設定

您現在可以使用代理程式模式中的新 /create-* 斜線指令,直接從聊天對話中產生代理程式自訂設定檔案。

  • /create-prompt:產生可重複使用的提示詞檔案
  • /create-instruction:產生專案慣例的指令檔案
  • /create-skill:將多步驟工作流程擷取到技能套件中
  • /create-agent:建立專門的自訂代理程式角色
  • /create-hook:為生命週期自動化建立掛鉤設定

每個指令都會引導您完成建立過程,並讓您選擇使用者層級(帳戶範圍)或工作區層級(專案特定)的儲存位置。

這些指令還能從正在進行的對話中擷取模式。例如,在偵錯問題幾個回合後,使用 /create-skill 將程序捕捉為可重複使用的技能,或使用 /create-instruction 將修正內容變為專案慣例。

您不需要記住確切的斜線指令。您也可以使用自然語言,例如「將此工作流程儲存為技能」或「從中擷取指令」,代理程式會識別您的意圖並啟動正確的建立流程。

相同的產生選項也可從提示詞、指令、技能與代理程式的快速選擇選單中獲得,以閃亮圖示表示。

用於使用情況與重新命名的工具

我們更新了 usages 工具,並新增了 rename 工具。這些工具重複使用現有的擴充功能或 LSP 功能,允許代理程式以高精度與最佳效能導覽並重構程式碼。

代理程式應能自動使用這些新工具。不過,我們發現代理程式強烈偏好使用 grep,這在此場景中效果較差。您可以透過明確 #-提及工具名稱來幫助代理程式,例如 Use #rename and change the name of fib to fibonacci,或者設定一個 SKILL.md 檔案。

Screenshot showing the rename tool having changed all occurrences of the fib function.

更聰明的對話階段

當代理程式能記住上下文、有效委派研究並保持內聯編輯同步時,長時間執行與多回合任務的效果更好。這些改進使對話階段更具彈性與情境感知能力。

用於規劃的對話階段記憶

由 Plan 代理程式建立的計畫現在會持久保存到對話階段記憶中,並在對話過程中保持可用。當您要求改進時,代理程式會基於現有的計畫進行構建,而不是從頭開始。

計畫在同一個對話階段中的無關訊息後也會被召回,因此您可以在不重複上下文的情況下返回計畫。在較長的實作工作中,即使舊的對話記錄為了釋放上下文空間而被壓縮,計畫在記憶中仍然可以存取。

上下文壓縮

隨著對話增加,累積的訊息與上下文會填滿模型的上下文視窗。上下文壓縮會摘要對話記錄以釋放空間,讓您可以在同一個對話階段中繼續工作,而不會遺失重要細節。

VS Code 會在上下文視窗達到極限時自動壓縮對話,但您也可以手動觸發壓縮。手動壓縮適用於本機、背景與 Claude 代理程式對話階段。若要手動壓縮,請使用以下方法:

  • 在聊天輸入欄位中鍵入 /compact。您可以選擇在指令後新增自訂指令以引導摘要的生成方式,例如 /compact focus on the database schema decisions

  • 選取聊天輸入框中的上下文視窗控制項,然後選擇 Compact Conversation

Screenshot showing the context window control and the compact option.

在文件中進一步了解上下文壓縮

使用 Explore 子代理程式進行程式碼庫搜尋

設定 chat.exploreAgent.defaultModel 在 VS Code 中開啟 在 VS Code Insiders 中開啟

Plan 代理程式現在總是將程式碼庫研究委派給專屬的 Explore 子代理程式。Explore 是一個唯讀代理程式,僅使用搜尋與檔案讀取工具,並專注於快速、平行的程式碼庫探索。透過將研究卸載給 Explore,Plan 代理程式可以產生參考您工作區中特定檔案與程式碼路徑的計畫。

Explore 預設在快速模型(Claude Haiku 4.5, Gemini 3 Flash)上執行,以保持研究快速,而 Plan 代理程式則使用完整模型進行規劃。您可以使用 chat.exploreAgent.defaultModel 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定覆寫模型。將滑鼠懸停在聊天中的探索任務上,即可查看目前用於研究的模型。

注意:Explore 無法直接作為獨立代理程式呼叫。它僅作為按需使用的子代理程式提供。

內聯聊天與聊天對話階段

當代理程式對話階段已經變更檔案時,內聯聊天現在總會將新訊息排入該對話階段,而不是隔離地進行變更。這確保了完整的上下文被使用,對於審查代理程式編輯內容也很有用。

分叉聊天工作階段

您現在可以分支(fork)聊天對話階段,以建立一個繼承原始對話記錄的獨立新階段。當您想要探索替代方案、提出次要問題,或在不遺失原始上下文的情況下將長對話分支到不同方向時,這非常有用。

有兩種方法可以分支對話階段:

  • 分支整個對話階段:在聊天輸入框中鍵入 /fork,建立一個包含完整對話記錄的新對話階段。
  • 從檢查點分支:將滑鼠懸停在任何聊天請求上並選擇 Fork Conversation,建立一個僅包含直到該點為止的對話的新對話階段。

Screenshot showing the Fork Conversation button on a chat request.

分支後的對話階段是完全獨立的——一個對話階段的變更不會影響另一個。進一步了解分支聊天對話階段

聊天體驗

聊天介面的一些小改進:更整潔的模型選擇器、減少來自工具輸出的視覺混亂,以及即使您全神貫注於另一個檔案也能觸達您的通知。

重新設計的模型選擇器

我們重新設計了語言模型下拉式選單,以改進為任務選擇正確模型的流程。新的下拉式選單將模型組織為清晰的區塊:

  • Auto 總是在列表頂部顯示。
  • 精選與最近使用的模型隨後顯示。最多四個最近使用的模型會與為您的帳戶精選的模型一起顯示。隨著您的使用,模型會自動移入此區塊。
  • 其他模型是一個可收合的群組,包含其餘可用的模型。展開它還會顯示底部的 Manage Models 選項。
  • 一個搜尋框讓您能按名稱快速篩選模型。

每個模型條目都會顯示包含模型詳細資訊(如功能與上下文視窗大小)的豐富懸停卡。當前 GitHub Copilot 方案中不可用的模型也會顯示,但無法選取。

透過上下文提示發現功能 (實驗性)

設定 chat.tips.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟

VS Code 現在會在聊天檢視中顯示上下文提示,幫助您發現功能並充分利用 AI 程式設計體驗。提示會在您啟動新聊天對話階段時出現,並根據您的使用模式進行調整。為了避免造成困擾,只會建議您尚未嘗試的功能,使其更具相關性與可操作性。

Screenshot showing a chat tip suggesting to use /create-skill to create a skill.

提示涵蓋了各種功能,包括:

  • 建立自訂代理程式、提示詞與技能
  • 使用訊息排隊與引導
  • 切換到更好的模型
  • 啟用實驗性功能,如 YOLO 模式與自訂思考短語

使用導覽控制項瀏覽可用提示,或關閉您不感興趣的個別提示。一旦您使用了建議的功能,提示就會自動隱藏。您可以透過 chat.tips.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟 完全停用提示。

隨著功能發布,我們會定期新增新的提示,請經常回來查看新鮮建議。

自訂思考短語

設定 chat.agent.thinking.phrases 在 VS Code 中開啟 在 VS Code Insiders 中開啟

在推理或工具呼叫期間顯示的載入文字現在可以自訂。您可以使用預先定義的自訂短語,透過 replace 模式完成現有的預設短語,或是使用 append 模式將自訂短語新增至現有的預設短語中。

更換預設值的範例:

  "chat.agent.thinking.phrases": {
    "mode": "replace",
    "phrases": [
      "Bribing the hamster",
      "Reticulating splines",
      "Untangling the spaghetti"
    ]
  },

此設定讓您可以個性化聊天載入體驗。

可收合的終端機工具呼叫

設定 chat.tools.terminal.simpleCollapsible 在 VS Code 中開啟 在 VS Code Insiders 中開啟

代理程式模式中的終端機工具呼叫現在顯示為可收合的區塊。不再是冗長的終端機輸出雜亂地塞滿對話,每個終端機指令都顯示為一個摘要標頭,您可以展開它以顯示完整輸出。這減少了視覺雜訊,並使掃描多步驟代理程式互動變得更容易。此功能可以透過 chat.tools.terminal.simpleCollapsible 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定停用。

Screenshot showing a terminal tool call in chat displayed as a collapsible section with a summary header.

用於聊天回應與確認的作業系統通知

設定 chat.notifyWindowOnResponseReceived 在 VS Code 中開啟 在 VS Code Insiders 中開啟 chat.notifyWindowOnConfirmation 在 VS Code 中開啟 在 VS Code Insiders 中開啟

先前,針對聊天回應與確認請求的作業系統通知僅在 VS Code 未獲取焦點時出現。這意味著如果您正在 VS Code 中積極處理另一個任務,可能會錯過重要更新,例如收到回應或代理程式需要您的確認才能繼續執行時。

您現在可以透過將設定值設為 always,將這些通知配置為即使視窗獲取焦點時也會出現。

內聯聊天懸停模式

設定 inlineChat.renderMode 在 VS Code 中開啟 在 VS Code Insiders 中開啟

內聯聊天正從「行間」UI 過渡到基於懸停的 UI。您可以透過 inlineChat.renderMode 在 VS Code 中開啟 在 VS Code Insiders 中開啟 啟用它,這使得內聯聊天輸入更像重新命名的體驗。提示詞提交後,進度與結果會顯示在右上角。

內聯聊天暗示 (Affordance)

設定 inlineChat.affordance 在 VS Code 中開啟 在 VS Code Insiders 中開啟

為了提供啟動內聯聊天的更簡單方法,我們新增了兩種顯示在選取內容旁的暗示。它們與燈泡圖示結合,且不會干擾您的作業。

inlineChat.affordance 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定有三個可能的值:

關閉
無:文字選取時不顯示暗示
編輯器
在編輯器中選取內容旁顯示選單
裝訂線 (Gutter)
在編輯器裝訂線(行號區域)選取內容旁顯示選單

協助工具

此版本改進了螢幕閱讀器支援、鍵盤導覽與對聊天互動的感知,讓每位開發人員都能有效地使用 VS Code 的 AI 功能。

切換存取檢視中的思考內容

螢幕閱讀器使用者現在可以切換在聊天回應存取檢視中包含思考內容 ⌥T (Windows, Linux Alt+T)。這讓您能選擇在閱讀回應時是否包含模型的推理過程,提供靈活性以追蹤完整的思考鏈或僅關注最終輸出。

聊天問題輪播現在完全對螢幕閱讀器使用者友善:

  • 問題會宣告其位置(例如:「問題 1/3」)
  • 使用 Alt+NAlt+P 在問題間導覽
  • 使用 ⇧⌘A (Windows, Linux Ctrl+Shift+A) 在問題輪播與聊天輸入之間切換焦點
  • 在螢幕閱讀器模式下,焦點不再自動移動,以防止中斷。

聊天問題與確認的通知

設定 chat.notifyWindowOnConfirmation 在 VS Code 中開啟 在 VS Code Insiders 中開啟 accessibility.signals.chatUserActionRequired 在 VS Code 中開啟 在 VS Code Insiders 中開啟

當聊天提出問題或需要確認時,VS Code 現在會發出輔助功能訊號,並在啟用時顯示作業系統通知。即使在另一個視窗工作,這也能幫助您掌握待處理的動作。

切換 TODO 清單焦點的快速鍵

使用 ⇧⌘T (Windows, Linux Ctrl+Shift+T) 快速切換代理程式 TODO 清單與聊天輸入的焦點。這對於螢幕閱讀器使用者來說特別有用,可以取得待處理任務的概述並返回聊天輸入。

存取檢視中保留游標位置

當您在內容串流(如聊天回應期間)時關閉存取檢視,再次開啟時會保留您的游標位置。這防止游標跳回頂部,讓您能從上次中斷的地方繼續閱讀。

搜尋與篩選輔助功能說明

在任何搜尋或篩選對話方塊中按 Alt+F1 以開啟上下文輔助功能說明。這包括以下內容的說明:

  • 編輯器搜尋與取代
  • 終端機搜尋
  • 跨檔案搜尋
  • 輸出、問題與偵錯主控台篩選器

說明內容解釋了可用的鍵盤快速鍵、導覽模式與特定上下文的行為。搜尋小工具在獲取焦點時也會宣告「按 Alt+F1 獲取輔助功能說明」(由 accessibility.verbosity.find 在 VS Code 中開啟 在 VS Code Insiders 中開啟 控制)。

快速輸入螢幕閱讀器改進

移至行對話方塊(⌃G (Windows, Linux Ctrl+G))與其他快速輸入框現在能更完美地與螢幕閱讀器搭配運作:

  • 輸入時會宣告字元
  • 方向鍵導覽在輸入欄位內運作正常
  • 導覽清單項目時有正確的宣告
  • 導覽後宣告行與列的位置

螢幕閱讀器的引導指示器

當您在回應串流時發送引導訊息,螢幕閱讀器使用者現在會收到一個 aria-status 宣告,指出已進行引導。

輔助功能技能

一項新的內建輔助功能技能有助於確保新功能包含正確的輔助功能支援。當您要求代理程式建立新功能並使其可存取時,它會自動參考輔助功能準則與模式。

聊天中的核取記號

設定 accessibility.chat.showCheckmarks 在 VS Code 中開啟 在 VS Code Insiders 中開啟

此迭代中,為了簡化聊天檢視並使其更一致,工具呼叫與可收合片段前的核取記號現在預設移除。 accessibility.chat.showCheckmarks 在 VS Code 中開啟 在 VS Code Insiders 中開啟 將會在聊天中重新啟用核取記號,如果您希望將它們作為聊天中的指示器。

編輯器體驗

視窗編輯器 (實驗性)

設定 workbench.editor.useModal 在 VS Code 中開啟 在 VS Code Insiders 中開啟 extensions.allowOpenInModalEditor 在 VS Code 中開啟 在 VS Code Insiders 中開啟

我們正在為那些您通常短暫開啟然後返回當前任務的編輯器實驗一種新的視窗編輯器體驗。視窗編輯器浮動在編輯器上方,不會影響編輯器索引標籤的配置。若要關閉視窗編輯器,請按 Escape。視窗具有將編輯器移回索引標籤的動作,以及最大化視窗體驗的動作。

Screenshot showing a modal settings editor.

視窗體驗適用於以下編輯器:

  • 設定
  • 鍵盤快速鍵
  • 設定檔管理
  • AI 與語言模型管理
  • 工作區信任管理

workbench.editor.useModal 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定為 some 以選擇體驗此功能。

注意:設定編輯器與鍵盤快速鍵編輯器顯示一個按鈕,用於將關聯的 JSON 檔案開啟為文字編輯器。

另一個設定 extensions.allowOpenInModalEditor 在 VS Code 中開啟 在 VS Code Insiders 中開啟 將視窗編輯器的使用擴展到擴充功能。此體驗仍在開發中,未來可能會有所變更,但我們希望現在就開放它以供回饋。

Screenshot showing a modal extensions editor.

在此視窗編輯器中,標題列中的一個控制項允許您在您在「擴充功能」檢視中擁有的清單中的所有擴充功能之間導覽。同樣適用於 MCP 伺服器。未來的版本可能會看到擴充功能清單與搜尋功能也移入視窗中。試用並分享您的回饋。

可配置的通知位置

設定 workbench.notifications.position 在 VS Code 中開啟 在 VS Code Insiders 中開啟

先前,VS Code 通知出現在螢幕右下角。由於聊天檢視的預設位置也在右側,通知可能會遮住聊天介面。

您現在可以將通知的位置配置為 top-right(右上)、bottom-right(右下)或 bottom-left(左下)。預設值仍為 bottom-right。此設定讓您能選擇最適合您工作流程的位置。

設定編輯器清理

我們已將 VS Code 聊天設定移至設定編輯器中自己的頂層條目,並附有子類別。GitHub Copilot Chat 擴充功能條目保留在「擴充功能」下的各自條目中。

顯示的設定清單現在也限於所選的目錄條目,這意味著一旦您選擇了目錄條目,您就不會再意外地捲動到下一個條目。

最後,實驗性設定已移至每個區塊的末尾,以便先顯示穩定的設定。

程式碼編輯

遠距離下一個編輯建議

下一個編輯建議 (NES) 透過建議不僅在游標處的編輯,也包括附近的編輯,預測您接下來會做的變更,來擴充虛擬文字。我們持續推動此體驗,推出了「遠距離下一個編輯建議」,將 NES 擴充到預測與建議檔案中任何地方的編輯,而不僅僅是您目前游標位置附近。

閱讀關於遠距離下一個編輯建議的部落格文章,深入了解其建構過程,從建立訓練資料集、優化 UX 到評估成功等等。請確保在 VS Code 中啟用 NES ( github.copilot.nextEditSuggestions.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織層級管理。請聯絡您的管理員進行變更。) 與延伸 NES 範圍 ( github.copilot.nextEditSuggestions.extendedRange 在 VS Code 中開啟 在 VS Code Insiders 中開啟 )。

NES 主動性

Copilot 狀態列項目現在包含下一個編輯建議的主動性選項。此選項讓您能選擇:獲取更多可能相關性較低的建議,或是獲取更少但更有可能實用的建議。

Screenshot showing the NES eagerness option in the Copilot status bar menu.

最初,此選項主要影響建議的時間。隨著 NES 模型演進,它將越來越多地將您的主動性偏好納入考量,以提供更細緻的建議。

原始碼控制

AI 合著認證 (Commits)

設定 git.addAICoAuthor 在 VS Code 中開啟 在 VS Code Insiders 中開啟

當您提交包含 AI 產生貢獻的程式碼時,VS Code 可以自動附加 Co-authored-by: 尾註。此外,Git Blame 懸停提示現在顯示來自提交尾註的合著者,包括非 AI 的 Co-authored-by 條目。

使用下列其中一個值來配置 git.addAICoAuthor 在 VS Code 中開啟 在 VS Code Insiders 中開啟

  • off(預設):不新增合著者尾註
  • chatAndAgent:為使用 Copilot Chat 或代理程式模式產生的程式碼新增尾註
  • all:為所有 AI 產生的程式碼(包括內聯補全)新增尾註

VS Code 僅為您從 VS Code 內部進行的提交新增合著者尾註。此設定不會修改在外部 Git 工具或命令列中進行的提交。

偵錯

JavaScript 除錯器

自訂屬性替換

如果物件定義了使用 Symbol.for('debug.properties') 的方法,則這些屬性預設會顯示在偵錯器中。這讓您可以提供更易理解的複雜物件檢視。

Screenshot showing custom debug properties displayed in the debugger.

原始物件屬性會摺疊在 ... 清單項目下。

模擬焦點視窗與事件監聽器中斷點

先前在偵錯瀏覽器時,您可以在 Event Listener Breakpoints 檢視中設定中斷點。我們已將此檢視重新命名為 Browser Options

我們新增了一個 Emulate a focused page 的額外選項。勾選後,將焦點從瀏覽器視窗移出將不再導致瀏覽器元素失去焦點。這對於偵錯依賴懸停或焦點狀態的元素非常有用。

終端機

Kitty 圖形協定

設定 terminal.integrated.enableImages 在 VS Code 中開啟 在 VS Code Insiders 中開啟 terminal.integrated.gpuAcceleration 在 VS Code 中開啟 在 VS Code Insiders 中開啟 terminal.integrated.windowsUseConptyDll 在 VS Code 中開啟 在 VS Code Insiders 中開啟

VS Code 終端機現在支援 Kitty 圖形協定,實現直接在終端機中進行高保真影像渲染。支援此協定的程式可以傳輸與顯示具備豐富功能的影像:

  • 影像格式:PNG, 24-bit RGB, 與 32-bit RGBA
  • 顯示配置:將影像縮放到特定的欄/行尺寸、裁切來源區域、套用子儲存格像素偏移,並控制 z-index 堆疊順序
  • 傳輸:支援區塊傳輸與 zlib 壓縮的直接內聯 base64
  • 影像管理:一步完成傳輸與顯示、儲存影像並稍後放置在不同位置、按 ID 刪除或一次全部刪除,並重新傳輸以更新現有影像
  • 游標控制:選擇游標在渲染後是移動經過影像還是保持在原位
  • 終端機整合:影像隨文字捲動,並在終端機重設或清除時正確清理

若要啟用圖片算繪功能,請將 terminal.integrated.enableImages 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定為 true,並確保 terminal.integrated.gpuAcceleration 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定為 onauto。在 Windows 上,您還需要啟用 terminal.integrated.windowsUseConptyDll 在 VS Code 中開啟 在 VS Code Insiders 中開啟

諸如 kitten icat (macOS/Linux) 或 VT CLI 等工具可用於在終端機中顯示圖片。

Screenshot showing an image rendered in the VS Code terminal using the Kitty graphics protocol.

注意:目前尚未支援某些 Kitty 圖形協定功能,包括動畫、相對定位、Unicode 佔位符以及基於檔案的傳輸。請參閱 xterm.js 討論以獲取最新的實作狀態。

Ghostty 對外部終端機的支援

設定 terminal.external.osxExec 在 VS Code 中開啟 在 VS Code Insiders 中開啟 , terminal.external.linuxExec 在 VS Code 中開啟 在 VS Code Insiders 中開啟

Ghostty 現已支援作為 macOS 和 Linux 上的外部終端機。您可以使用 macOS 上的 terminal.external.osxExec 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定,或 Linux 上的 terminal.external.linuxExec 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定,將其設為預設的外部終端機。

// macOS
"terminal.external.osxExec": "Ghostty.app",

// Linux
"terminal.external.linuxExec": "ghostty"

設定完成後,像是終端機:開啟新外部終端機等指令,以及在外部終端機中啟動的偵錯設定,都會在 Ghostty 中開啟。

Screenshot showing Ghostty launched as an external terminal from VS Code.

外部終端機的工作區資料夾選擇

當您在多根工作區中使用 ⇧⌘C (Windows, Linux Ctrl+Shift+C)終端機:開啟新外部終端機指令開啟外部終端機時,VS Code 現在會提示您選擇一個工作區資料夾。所選資料夾將作為外部終端機的工作目錄。

Screenshot showing the workspace folder selection prompt when opening an external terminal in a multi-root workspace.

終端機沙盒改進 (預覽)

設定 chat.tools.terminal.sandbox.enabled 在 VS Code 中開啟 在 VS Code Insiders 中開啟 , chat.tools.terminal.sandbox.linuxFileSystem 在 VS Code 中開啟 在 VS Code Insiders 中開啟 , chat.tools.terminal.sandbox.macFileSystem 在 VS Code 中開啟 在 VS Code Insiders 中開啟 , chat.tools.terminal.sandbox.network 在 VS Code 中開啟 在 VS Code Insiders 中開啟

現在可以透過啟用 chat.tools.terminal.sandbox.network 在 VS Code 中開啟 在 VS Code Insiders 中開啟 中的 allowTrustedDomains 來選定受信任的網域以進行網路隔離。改進了對受限網域的偵測,並提供明確的回饋以指出哪些網域遭到封鎖。

在 macOS 上啟用終端機沙盒無需安裝任何軟體,而在 Linux 上,您也可以在不安裝 ripgrep 的情況下啟用它。

語言

統一的 JavaScript 與 TypeScript 設定

為準備即將發布的 TypeScript 6.0 和 7.0 版本,我們已整合並清理了內建的 JavaScript 與 TypeScript 設定 ID。過去,許多設定同時存在 javascript.*typescript.* 兩種版本。這是因為這些設定是在我們引入語言專用設定的標準方法之前所建立的。部分設定名稱也不一致。

現在所有這些設定都已移至 js/ts.* 首碼之下。這意味著預設情況下,您只需更新一個設定值,即可同時變更 JavaScript 和 TypeScript 檔案中的行為。如果您希望在 JavaScript 和 TypeScript 檔案中採用不同行為,仍可使用語言專用設定

例如,與其設定

"javascript.format.enable": false,
"typescript.format.enable": true

您現在可以對統一的設定使用語言專用的覆寫:

"[javascript][javascriptreact]": {
    "js/ts.format.enabled": false
},
"[typescript][typescriptreact]": {
    "js/ts.format.enabled": true
}

您也可以使用 [javascriptreact] 來僅為 JSX 檔案自訂設定。

舊有的 javascript.*typescript.* 設定仍然有效,但現在已被標記為已棄用;若已設定新的統一 js/ts 設定,舊設定將被覆寫。

我們理解這是一個重大的變更,但我們認為這對於 VS Code 的長期品質來說是正確的做法。統一設定讓變更 JavaScript 和 TypeScript 設定變得更輕鬆,也支援現代化的功能,例如語言專用設定。

Python

Python Environments 擴充功能全面推廣給所有使用者

Python Environments 擴充功能在經歷了一年的預覽後,現已全面向所有使用者開放。該擴充功能提供了一個統一的介面,可直接在 VS Code 中管理 Python 環境、套件和解譯器,無論您使用的是 venv、conda、pyenv、poetry 還是 pipenv。

主要功能包括

  • 快速建立:使用您的預設管理工具和最新的 Python 版本,只需單擊即可建立環境
  • Python 專案:為單體儲存庫 (monorepos) 和多服務工作區將環境指派給特定資料夾
  • uv 整合:安裝 uv 後,可加快環境建立和套件安裝速度
  • 內建套件管理:從「環境管理員」檢視中搜尋、安裝及解除安裝套件
  • 可攜式設定:環境設定使用管理工具類型而非硬編碼的路徑,使 settings.json 可以在不同機器間共用

預計該擴充功能將在未來幾週內自動啟用,或者您也可以透過 python.useEnvsExtension 設定立即選擇啟用。

如需更多詳細資訊,請閱讀公告部落格文章或參閱Python 環境說明文件

對擴充功能的貢獻

GitHub Pull Requests

GitHub Pull Requests 擴充功能取得了更多進展,使您能夠處理、建立和管理提取請求與問題。新功能包括:

  • 現在可以同時開啟多個提取請求 (pull request) 與問題說明。
  • 可以將 githubPullRequests.autoRepositoryDetection 設定為 true,以包含工作區之外的儲存庫。
  • 現在,沒有對應問題的儲存庫會在「問題」檢視中隱藏。

查看該擴充功能 0.130.0 版本的變更紀錄,以了解此版本的所有更新。

延伸模組開發

Webview 與自訂編輯器現在可以使用 ThemeIcons 作為圖示路徑

Webview 面板與自訂編輯器現在可以使用 ThemeIcon 作為其編輯器分頁的圖示。

webviewPanel.iconPath = new vscode.ThemeIcon('octoface');

Screenshot showing the 'octoface' theme icon used for a webview tab icon.

可攜式模式偵測 API 已定案

env.isAppPortable API 現已穩定,所有擴充功能皆可使用,無需 enabledApiProposals

使用此 API 可偵測 VS Code 是否在可攜式模式下執行;當應用程式從包含 data 目錄的資料夾執行時,該模式即會啟用。

if (vscode.env.isAppPortable) {
  // Running in portable mode - adjust behavior accordingly
}

提議的 API

聊天項目控制器 (Chat item controller) API

我們持續改進聊天會話 API。此 API 讓擴充功能能夠為 VS Code 的內建聊天會話檢視貢獻項目。此版本的顯著變更包括:

  • 新增了 ChatSessionItemControllerNewItemHandler,讓控制器能夠指定新會話所使用的 URI。

  • 新增了 ChatSessionProviderOptions.newSessionOptions,用於設定新會話的預設選項。

我們也大幅優化了 API 的實作,以支援大量的會話。

工程相關

用於 VS Code 工程的 TypeScript-Go

我們已持續在 vscode 儲存庫的開發工作中採用 TypeScript-Go (tsgo)

截至本次迭代,我們預設 vscode 工作區使用 TSGo 進行開發。我們已經觀察到效能有所提升,這也有助於我們測試 TSGo 的語言工具。

我們現在也使用 TypeScript-Go (tsgo) 在開發期間編譯 VS Code 的內建擴充功能。因此,我們每個內建擴充功能的建置與完整型別檢查現在都能在一秒內完成。

使用 esbuild 進行擴充功能打包

我們已將大部分內建擴充功能遷移至使用 esbuild 代替 webpack 進行打包。Esbuild 被用於打包這些擴充功能的桌面版與網頁版。

此次遷移簡化並加速了我們的建置流程。目前僅剩下少數幾個擴充功能待遷移,我們希望在三月份完成這項工作。

已棄用的功能與設定

本版新增的棄用項目

  • 編輯模式 (Edit Mode) 自 VS Code 1.110 版本起正式棄用。使用者可透過 VS Code 設定暫時重新啟用編輯模式: chat.editMode.hidden 在 VS Code 中開啟 在 VS Code Insiders 中開啟 此設定由組織管理。請聯絡您的管理員以進行變更。。此設定將持續支援至 1.125 版本。從 1.125 版本開始,編輯模式將被完全移除,且無法再透過設定啟用。

即將棄用的項目

值得注意的修正

  • vscode#251722:擴充功能提供的樹狀檢視項目之內嵌動作,即使在 "workbench.list.horizontalScrolling": true 時,也能位於可見捲動區域內。

謝謝您

議題追蹤

對我們議題追蹤的貢獻:

vscode 的貢獻:

vscode-copilot-chat 的貢獻

vscode-css-languageservice 的貢獻

vscode-js-debug 的貢獻

vscode-json-languageservice 的貢獻

vscode-languageserver-node 的貢獻

vscode-pull-request-github 的貢獻

vscode-python-debugger 的貢獻

vscode-python-environments 的貢獻

vscode-test 的貢獻

debug-adapter-protocol 的貢獻

language-server-protocol 的貢獻:


我們非常感謝大家在第一時間體驗我們的新功能,請經常回來查看,了解最新消息。

如果您想閱讀先前 VS Code 版本的發布說明,請前往 code.visualstudio.com 上的 Updates 頁面。

© . This site is unofficial and not affiliated with Microsoft.