Visual Studio Code 1.121

LinkedInXBluesky 上關注我們


發布日期:2026 年 5 月 20 日

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


歡迎使用 Visual Studio Code 1.121 版本。此版本新增了內建 Mermaid 與 HTML 預覽功能,簡化了代理程式 (Agents) 的終端機工具行為,並允許您在遠端機器上執行代理程式工作階段。

  • 遠端代理程式:從「代理程式」視窗監控並控制遠端機器上的代理程式工作階段。

  • 模型可配置性:配置哪些模型處理輕量級任務,例如產生提交訊息、標題等。

  • Mermaid 圖表預覽:直接在 Markdown 預覽與筆記本中呈現 Mermaid 圖表。

  • HTML 檔案預覽:無需安裝擴充功能,即可在整合瀏覽器中預覽本機 HTML 檔案。

  • 終端機工具最佳化:透過更強的輸出壓縮與背景終端機清理,減少資源與 Token 的消耗。

祝您開發愉快!


代理程式

代理程式視窗 (預覽)

我們持續改進「代理程式」視窗,這是我們在上一版本中於 VS Code 穩定版中引入的代理程式驅動輔助視窗。

您可以透過多種方式開啟「代理程式」視窗,包括點選 VS Code 標題列中的**開啟代理程式 (Open in Agents)** 按鈕。若要進一步了解其運作方式及功能,請參閱代理程式視窗說明文件

您的意見回饋對於完善代理程式功能非常有幫助。如果您已經開始使用並提供了回饋,我們非常感謝!請持續透過 GitHub 發送問題回報或瀏覽現有問題

我們也持續在代理程式視窗中開發更廣泛的擴充功能支援,包括擴充功能啟用後的功能解鎖,以及各種擴充功能在此環境中的行為。無論您是想針對跨專案執行代理程式的新場景提供點子,還是分享您現有的擴充功能在代理程式視窗中的運作體驗,我們都歡迎透過 GitHub issues 與您合作。

遠端代理程式 (預覽)

「代理程式」視窗現在支援實驗性功能,可在您擁有且可透過 SSH 或開發通道 (Dev Tunnels) 連接的遠端機器上執行代理程式工作階段。請在我們的說明文件中深入了解遠端代理程式工作階段

Screenshot showing the Agents window remote tab for connecting to a remote machine.

連線至遠端

您可以透過兩種方式將代理程式視窗連線至遠端機器:

  • SSH:從您現有的 ~/.ssh/config 項目中選擇,或輸入 user@host
  • 開發通道 (Dev Tunnels):選擇您已透過在目標機器執行 code tunnel 所建立的通道。

運作原理

此功能與 VS Code 的遠端開發擴充功能類似但並不完全相同。代理程式視窗會連線到遠端,下載並安裝 VS Code CLI (SSH),或是連接到您啟動的開發通道中所執行的 CLI 伺服器。它會啟動一個稱為「代理程式主機」(agent host) 的輕量級處理程序,該處理程序託管一個建立在 Copilot SDK 之上的新代理程式迴圈。

值得注意的是,遠端代理程式主機是一個長期執行的處理程序。即使您的用戶端中斷連線,正在執行的工作階段仍會繼續在遠端執行,因此您可以合上筆記型電腦,讓遠端代理程式繼續運作。

代理程式主機協定 (Agent Host Protocol)

代理程式視窗與代理程式主機之間的連線採用一種稱為 代理程式主機協定 (Agent Host Protocol, AHP) 的新型開放協定。我們正以獨立規格的方式公開開發此協定。

AHP 的核心設計原則是讓多個用戶端能夠同時協調代理程式工作階段。這也是它與 ACP 等其他協定的不同之處。代理程式主機負責管理權威狀態、將其同步到每個已連線的用戶端,並透過純粹的 Reducer 對所有變更進行排序。

由於 AHP 是一種開放協定,任何人都可以建立一個能連線到 VS Code CLI 代理程式主機的用戶端,或是建立一個能讓 VS Code 連線的 AHP 代理程式主機。

使用 OpenTelemetry 與 Grafana 進行代理程式可觀測性監控

與 Azure Managed Grafana 團隊合作,現在已有一個預先建置的 Azure Managed Grafana 儀表板,用於監控 VS Code 中代理程式發出的 OpenTelemetry 訊號。將 VS Code 指向一個轉發至 Azure Application Insights 的 OTel Collector,然後匯入 Azure Managed Grafana 儀表板,即可視覺化代理程式操作、Token 使用量、聊天工作階段、工具呼叫,以及各模型的反應時間與首字元時間 (TTFT)。

請參閱使用 Grafana 監控 AI 程式撰寫代理程式以取得端對端設定,並參閱使用 OpenTelemetry 監控代理程式使用量以了解如何從 VS Code 啟用匯出。

Screenshot showing the GitHub Copilot Grafana dashboard with panels for operations, tokens, chat sessions, tool calls, and per-model latency.

Claude 代理程式自動權限模式 (預覽)

設定 github.copilot.chat.claudeAgent.allowAutoPermissions 在 VS Code 中開啟 在 VS Code Insiders 中開啟

Claude 代理程式現在支援自動模式 (Auto mode),讓 Claude 無需權限提示即可執行。額外的分類器請求會在動作執行前進行審核,若動作超出您的請求範圍、針對未識別的基礎設施,或看似由 Claude 讀取的惡意內容所驅動,系統將會進行阻擋。這對於長期執行的任務非常有用,既能減少提示疲勞,又能維持背景安全檢查。

Claude agent auto mode

若要在權限模式選擇器中查看「自動」選項,請啟用 github.copilot.chat.claudeAgent.allowAutoPermissions 在 VS Code 中開啟 在 VS Code Insiders 中開啟

注意:如果您希望完全無需人工介入且沒有任何安全檢查("YOLO 模式"),請啟用 github.copilot.chat.claudeAgent.allowDangerouslySkipPermissions 在 VS Code 中開啟 在 VS Code Insiders 中開啟 以顯示「略過所有權限」(Bypass all permissions) 選項。

語言模型

此版本包含了數項關於如何設定與管理 VS Code 內語言模型的改進,讓您可以更好地控制在不同任務中使用哪些模型。請在我們的說明文件中深入了解語言模型

設定公用程式模型 (Utility models)

設定 chat.utilityModel 在 VS Code 中開啟 在 VS Code Insiders 中開啟 , chat.utilitySmallModel 在 VS Code 中開啟 在 VS Code Insiders 中開啟

VS Code 會在背景使用公用程式模型來處理聊天相關任務,例如產生標題、摘要、提交訊息、重新命名建議、提示分類與意圖偵測。預設情況下,這些任務會使用 GitHub Copilot 提供的公用程式模型。

您可以針對這些流程使用您自己的可用模型,包括「自備金鑰」(Bring Your Own Key, BYOK) 模型。

  • chat.utilityModel 在 VS Code 中開啟 在 VS Code Insiders 中開啟 :覆蓋用於一般公用程式流程的模型。
  • chat.utilitySmallModel 在 VS Code 中開啟 在 VS Code Insiders 中開啟 :覆蓋用於快速、輕量級公用程式流程的模型。建議此設定使用快速且低成本的模型。

若未特別配置,上述兩項設定均會使用預設值 (Default),即保留 GitHub Copilot 提供的公用程式模型。

BYOK 的自訂端點提供者 (Insiders 版)

我們現在推出一個新的 BYOK 提供者——「自訂端點提供者」,讓您可以透過單一配置將任何與 Chat Completions、Responses 或 Messages 相容的端點接入 Copilot Chat。它取代了已標記為棄用的舊版 OpenAI 相容 (customoai) 提供者,該舊版僅支援 Chat Completions。

Screenshot showing the dropdown options for adding a new model in the Language Models editor, with the new Custom Endpoint option.

當您新增來自此提供者的模型時,您可以選擇它屬於哪個 API 系列 (chat-completions, responsesmessages)。

Screenshot showing the Custom Endpoint model configuration form with an API type dropdown.

注意:自訂端點提供者目前處於預覽階段,僅在 VS Code Insiders 版本中可用。

整合式瀏覽器

快速在整合瀏覽器中開啟 HTML 檔案

過去,預覽 HTML 檔案需要安裝擴充功能,對於如此常見的操作而言是不必要的阻礙。現在,您可以透過在「檔案總管」中對檔案按右鍵,選擇**在整合瀏覽器中開啟 (Open in Integrated Browser)**,即可輕鬆開啟本機 HTML 檔案;當檔案已開啟時,也可以對編輯器分頁按右鍵執行此操作。當 HTML 檔案為使用中狀態時,您也可以點選編輯器標題列中的**預覽 (Preview)** 圖示。

Screenshot showing the editor title bar with an HTML file open and an Open in Integrated Browser icon.

新增元素至聊天的體驗優化

我們重新設計了元素選擇 UI,以支援更豐富的功能與主題。

選取一系列元素

您現在可以按住並拖曳來選取一系列元素,更輕鬆地選取共享容器元素。

透過右鍵選單附加元素

您現在可以在頁面的任何位置按右鍵,將元素快速附加到聊天中。

Screenshot showing a context menu opened on an element with an Add Element to Chat item.

終端機

支援代理程式的終端機指令

命令列工具過去無法判斷終端機指令是由人工還是由 VS Code 的代理程式流程發起的,這意味著進度動畫、互動式提示與詳細的格式可能會阻礙或混淆代理程式工作階段。

VS Code 現在會為代理程式啟動的終端機指令設定 VSCODE_AGENT 環境變數。CLI 可以檢查此變數以切換為機器可讀的輸出、隱藏進度動畫,或跳過原本會阻礙工作階段的提示。

如果您維護的指令稿或 CLI 已經針對 CI 或其他代理程式調整過行為,您可以使用相同的模式來處理從 Copilot Chat 發起的指令。

終端機工具的背景執行指示器

過去,當工具呼叫回傳後,聊天終端機指令仍在執行時,聊天 UI 看起來像是指令已經結束,導致很難分辨工作是否仍在進行中。

現在,當終端機仍處於作用中狀態時,工具呼叫會顯示 **正在背景執行 <command> - 顯示 (Show)**。**顯示 (Show)** 動作可讓您開啟並聚焦於基礎終端機。一旦指令完成,標題會回到正常的完成狀態。

這能更清楚地呈現指令是否仍在背景中執行,特別是對於非同步執行或是超過逾時後提升為背景執行的指令。

背景代理程式終端機的清理

過去,當您進行包含多個終端機指令的長時間聊天工作階段時,背景終端機可能會在每個指令完成後累積,使終端機清單充斥過時的項目並消耗資源。

VS Code 現在會在聊天代理程式建立的背景終端機完成指令後自動刪除它們,同時在聊天 UI 中保留指令輸出。如果您透過 **顯示 (Show)** 開啟了背景終端機,它會保持開啟狀態,以便您繼續檢查或與其互動。

這能讓終端機清單保持整潔,並減少多輪工作階段的資源使用量。

擴大終端機工具輸出的壓縮範圍

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

諸如 pytestjestcargo testtsc 以及套件安裝流程等指令,通常會在顯示重要結果之前產生大量進度輸出,這不僅浪費 Token,也讓模型更難找到相關資訊。

聊天終端機工具現在會在將輸出傳回模型之前,壓縮更多類型的詳細指令輸出。擴大的覆蓋範圍包括常見的測試執行器、建置工具、Linter、Docker 指令與套件管理員,因此重複的進度資訊與其他低價值輸出會被更頻繁地刪減。

長期的終端機執行結果現在對模型來說更容易解讀,且較不容易將 Token 花費在樣板化的輸出上。

敏感的終端機提示將保留在終端機內

終端機指令中的密碼、通關密碼、PIN 碼或驗證碼提示可能會帶來風險:如果代理程式試圖自行處理這些提示,可能會意外擷取或重放機密資訊。

當聊天終端機指令遇到敏感提示時,VS Code 現在會攔截它。在預設權限模式下,聊天視窗會顯示確認對話方塊,讓您聚焦於終端機以直接輸入密碼。在自動核准流程中,VS Code 會取消指令並告知模型不要重試或請求該密碼。

這能讓憑證遠離聊天上下文,並防止代理程式意外洩露或重放敏感輸入。

編輯器

快速建議預設設定變更

Copilot 的行內建議始終與建議控制項的選取項目對齊。這非常有用,因為您可以快速按兩次 Tab 鍵來同時接受建議與 Copilot 的隱形文字。

然而,我們發現當您開始輸入時,在許多情況下,建議控制項會彈出並選取第一個(按字母順序排列的)可用全域符號。這通常不是您想輸入的內容,而且會導致 Copilot 提供帶有該錯誤前綴的建議,從而增加體驗的雜訊。

我們決定變更快速建議的預設設定 ( editor.quickSuggestions 在 VS Code 中開啟 在 VS Code Insiders 中開啟 )。如果有可用的行內完成提供者(例如 Copilot),則在編輯器中輸入字母將不再自動觸發建議控制項。在其他所有情況下,建議控制項會像以前一樣彈出。您可以透過配置來恢復舊行為。

"editor.quickSuggestions": {
  "other": "on",
  "comments": "off",
  "strings": "off"
}

語言

Markdown 預覽與筆記本中的 Mermaid 圖表

我們已將 Matt Bierner 的 Markdown Preview Mermaid Support 擴充功能合併到 VS Code 中,成為一個名為 Mermaid Markdown Features 的新內建擴充功能。此擴充功能為 VS Code 的內建 Markdown 預覽、筆記本中的 Markdown 儲存格以及聊天視窗新增了 Mermaid 圖表呈現功能。

Mermaid 圖表可以使用您 Markdown 中的 mermaid 圍籬式程式碼區塊建立。

```mermaid
flowchart LR
  Sleep[Sleep] --> Wake{Awake?}
  Wake -->|No| Sleep
  Wake -->|Hungry| Snack[Get treat]
  Wake -->|Not in in Sun?| Move[Move to sun]
  Wake -->|Human is typing| Keyboard[Sleep on keyboard]
  Snack --> Sleep
  Move --> Sleep
  Keyboard --> Sleep
```

這就是圖表在 Markdown 預覽中的樣子。

Screenshot showing a rendered Mermaid diagram in the Markdown preview.

呈現後的 Mermaid 圖表也支援平移與縮放,這使得在大圖表中檢查細節時,無需離開預覽頁面。您也可以對圖表按右鍵複製其 Mermaid 原始碼。

Markdown 預覽中的 YAML 前言 (frontmatter)

設定 markdown.preview.frontMatter 在 VS Code 中開啟 在 VS Code Insiders 中開啟

我們新增了控制 YAML 前言如何在 Markdown 預覽中呈現的選項。預設情況下,VS Code 不會隱藏前言,而是將前言顯示為預覽頂部的表格。

Screenshot showing Markdown frontmatter rendered as a table in the preview.

您可以使用 markdown.preview.frontMatter 在 VS Code 中開啟 在 VS Code Insiders 中開啟 設定來選擇前言的顯示方式:

  • table(預設):將前言呈現為表格。
  • codeBlock:將前言呈現為 YAML 程式碼區塊。
  • hide:從預覽中隱藏前言。

呈現的前言還具有一個右鍵選單項目,可從預覽中快速開啟此設定。

已棄用的功能與設定

本版新增的棄用項目

即將棄用的項目

謝謝您

對我們議題追蹤的貢獻:

vscode 的貢獻:


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

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

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