現已釋出!閱讀關於 11 月新增功能和修復的內容。

2025 年 7 月 (版本 1.103)

釋出日期:2025 年 8 月 7 日

更新 1.103.1:本次更新增加了 GPT-5 提示改進、對 GPT-5 mini 的支援,並修復了這些 問題

更新 1.103.2:本次更新修復了這些 問題

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


歡迎來到 Visual Studio Code 2025 年 7 月版。此版本中有許多更新,希望您會喜歡,其中一些主要亮點包括


如果您想線上閱讀這些發行說明,請訪問 code.visualstudio.com 上的更新頁面。

Insiders:想盡快嘗試新功能?
您可以下載每晚的 Insiders 構建版本,並儘快嘗試最新更新。
下載 Insiders

聊天

GPT 5 可用性

從今天開始,GPT-5 將陸續向所有付費 GitHub Copilot 套餐推出。GPT-5 是 OpenAI 目前功能最強大的模型,在推理、編碼和聊天方面帶來了新的進展。有關 GPT-5 模型可用性的詳細資訊,請參閱 GitHub 更新日誌

開啟“聊天”檢視,然後從模型選擇器中選擇 GPT-5,開始在 VS Code 的聊天對話中使用它。瞭解有關 在 VS Code 中使用語言模型 的更多資訊。

更新 1.103.1:此更新增加了重要的提示改進,以進一步提高模型的質量和效能。

GPT 5 mini 可用性

更新 1.103.1

從本次釋出開始,GPT-5 mini 將陸續向所有 GitHub Copilot 套餐推出。GPT-5 mini 是 OpenAI 更快速、更具成本效益的 GPT-5 變體。有關 GPT-5 mini 模型可用性的詳細資訊,請參閱 GitHub 更新日誌

聊天檢查點

設定chat.checkpoints.enabled

我們引入了檢查點功能,讓您可以恢復聊天對話的不同狀態。您可以輕鬆撤銷編輯,並回退到聊天對話中的特定時間點。如果在一個聊天會話中更改了多個檔案,此功能尤其有用。

選擇一個檢查點後,VS Code 會將工作區更改和聊天曆史記錄回退到該時間點。恢復檢查點後,您還可以重做該操作!

檢查點預設啟用,可以透過 chat.checkpoints.enabled 進行控制。

工具選擇器改進

我們在本迭代中徹底改進了工具選擇器,並採用了一個名為 Quick Tree 的新元件來顯示所有工具。

Screenshot showing the new tool picker using a quick tree, enabling collapsing and expanding nodes.

值得注意的功能

  • 展開或摺疊
  • 配置選項已移至標題欄
  • 粘滯滾動
  • 圖示渲染

讓我們知道你的想法!

工具分組(實驗性)

設定github.copilot.chat.virtualTools.threshold

目前,您可以在單次聊天請求中使用工具的最大數量為 128 個。以前,透過安裝包含大量工具的 MCP 伺服器,您可能會很快達到此限制,需要取消選擇一些工具才能繼續。

在此版本的 VS Code 中,我們為工具數量超過最大限制的情況啟用了一個實驗性的工具呼叫模式。工具會自動分組,並且模型能夠啟用和呼叫工具組。

此行為(包括閾值)可以透過 github.copilot.chat.virtualTools.threshold 設定進行配置。

終端自動批准改進

設定chat.tools.terminal.autoApprove

上個月推出了早期的終端自動批准設定。在此版本中,該功能得到了許多改進。有關 終端自動批准 的更多資訊,請參閱我們的文件。

  • 我們將 allowListdenyList 設定合併到了 chat.tools.terminal.autoApprove 設定中。如果您使用的是舊設定,應該會看到一條警告,要求您遷移到新設定。

  • 正則表示式匹配器現在支援標誌。這允許不區分大小寫,例如在 PowerShell 中,其中大小寫通常不重要

    "chat.tools.terminal.autoApprove": {
      // Deny any `Remove-Item` command, regardless of case
      "/^Remove-Item\\b/i": false
    }
    
  • 關於子命令匹配工作方式曾有一些困惑,現在該設定的描述中有詳細說明,但我們也支援與整個命令列進行匹配。

    "chat.tools.terminal.autoApprove": {
      // Deny any _command line_ containing a reference to what is likely a PowerShell script
      "/\\.ps1\\b/i": { "approve": false, "matchCommandLine": true }
    }
    
  • 自動批准的推理現在已記錄到終端輸出通道。我們計劃 很快在 UI 中顯示此資訊

終端和任務的輸入請求檢測

當您在代理模式下執行任務或終端命令時,代理現在會檢測程序何時請求使用者輸入。您將在聊天中收到響應提示,預設或第一個選項將作為主要操作顯示,其他選項將在下拉列表中提供。這適用於需要多次確認的指令碼和命令,適用於所有支援的 Shell 以及前臺和後臺終端。如果您在存在提示時在終端中鍵入,提示將自動隱藏。當提供選項和描述時(例如 [Y] Yes [N] No),這些將在確認提示中顯示。

在下面的示例中,透過代理運行了一個包含多個使用者輸入提示的指令碼。將顯示確認提示,我接受操作,允許終端指令碼執行完成,並且代理會提供一個關於發生情況的摘要。

Example of input being detected and responded to

針對帶有問題匹配器的任務改進了錯誤檢測

對於使用問題匹配器的任務,代理現在會根據問題匹配器的結果收集和顯示錯誤,而不是依賴語言模型來評估輸出。問題會顯示在聊天進度訊息的下拉列表中,讓您可以直接導航到問題位置。這確保了錯誤僅在與當前任務執行相關時才會被報告。

代理模式下的複合任務支援

代理模式現在支援運行復合任務。當您運行復合任務時,代理會指示每個依賴任務的進度和輸出,包括任何使用者輸入提示。這使得更復雜的流程和對多步任務執行的可見性更佳。

在下面的示例中,運行了 VS Code - Build 任務。將評估每個依賴任務的輸出,並在響應和進度訊息下拉列表中向用戶顯示問題。

Example of agent running the VS Code - Build task

可訪問性:聚焦聊天確認操作

我們添加了一個命令,**聚焦聊天確認** (kb(workbench.action.chat.focusConfirmation)),它將聚焦任何存在的確認對話方塊,或者向螢幕閱讀器使用者宣佈不需要確認。

透過任務列表跟蹤進度(實驗性)

設定chat.todoListTool.enabled

代理模式的優點是您可以給它一個高階任務,讓它來執行。當它規劃工作並將其分解為更小的任務時,跟蹤所有這些獨立任務的進度可能會讓人不知所措。

在此里程碑中,我們在聊天中引入了任務/待辦事項列表功能,以更好地幫助您瞭解哪些任務已完成,哪些任務仍待處理。您可以在聊天檢視的頂部檢視任務列表,從而始終了解正在進行的進度。隨著代理工作的進展,它會更新任務列表。

透過讓代理跟蹤其在待辦事項列表中的工作,給代理一個高階任務來開始使用!

此功能仍處於實驗階段,您可以使用 chat.todoListTool.enabled 設定來啟用它。

改進的模型管理體驗

在此迭代中,我們對負責語言模型訪問的聊天提供商 API 進行了徹底的改進。使用者現在可以選擇要在模型選擇器中顯示哪些模型,從而建立更個性化、更集中的體驗。

Screenshot of the model picker showing various models from providers such as Copilot and OpenRouter

我們計劃在未來幾個月內最終確定此新 API,並希望收到您的反饋。此 API 的最終確定將為擴充套件生態系統開啟大門,允許它們實現自己的模型提供商並進一步擴充套件自帶金鑰(bring your own key)功能。

Azure DevOps 儲存庫遠端索引支援

#codebase 工具現在支援與 Azure DevOps 儲存庫連結的工作區的遠端索引。這使得 #codebase 能夠幾乎即時地搜尋相關程式碼片段,而無需任何初始化。即使對於包含數萬個可索引檔案的較大儲存庫,此功能也有效。以前,此功能僅適用於與 GitHub 連結的儲存庫。

在與 Azure DevOps 透過 git 連結的工作區中工作時,會自動使用遠端索引。請確保您也使用您用於訪問 Azure DevOps 儲存庫的 Microsoft 帳戶登入 VS Code。

我們正在從服務方面逐步推出對此功能的支援,因此並非所有組織都能立即使用。基於推出的成功情況,我們希望儘可能為更多組織啟用 Azure DevOps 的遠端索引。

提高了在終端和任務工具中執行的可靠性和效能

我們將 Copilot 擴充套件中用於在終端中執行任務和命令的工具遷移到了核心的 microsoft/vscode repository。這使得這些工具能夠訪問更低級別、更豐富的 API,使我們能夠解決許多終端掛起問題。此更新的好處還包括將來更容易實現功能,因為我們不再受限於擴充套件 API 的功能,特別是任何需要在聊天檢視中進行自定義 UI 的更改。

任務和終端的輸出輪詢

代理現在透過輸出輪詢等待任務和後臺終端完成,然後再繼續。如果程序花費的時間超過 20 秒,將提示您繼續等待或繼續執行。代理將監視程序長達兩分鐘,總結當前狀態或報告程序是否仍在執行。這提高了在聊天中執行長命令或易出錯命令時的可靠性。

任務意識改進

以前,代理只能監視活動任務。現在,它可以跟蹤和分析活動任務和已完成任務的輸出,包括那些已失敗或已完成執行的任務。此增強功能能夠更好地進行故障排除,並對任務執行歷史提供更全面的見解。

代理感知使用者建立的終端

代理現在能夠感知工作區中的所有使用者建立的終端。這使其能夠跟蹤最近的命令並訪問終端輸出,從而為協助處理終端和進行故障排除提供更好的上下文。

終端內聯聊天改進

終端內聯聊天現在可以更好地檢測您的活動 Shell,即使在子 Shell 中工作時(例如,從 PowerShell 或 zsh 啟動 Python 或 Node)。這種動態 Shell 檢測透過提供與當前 Shell 型別相關的更準確的命令建議,提高了內聯聊天響應的準確性。

Screenshot of terminal inline chat showing node specific suggestions.

改進的測試執行器工具

測試執行器工具已得到重構。它現在會在聊天中內聯顯示進度,並且該工具中的許多錯誤已得到修復。

編輯先前請求

設定chat.editRequests

上個迭代,我們啟用了使用者編輯先前請求的功能,並推出了幾個不同的訪問點。在本迭代中,我們已將內聯編輯作為預設行為。點選請求氣泡即可開始編輯該請求。您可以修改附件,更改模式和模型,並使用修改後的文字重新發送您的請求。

如果您希望透過每個請求上方的工具欄懸停進行編輯,可以使用 chat.editRequests 設定來控制聊天編輯行為。

開啟聊天視窗最大化

設定workbench.secondarySideBar.defaultVisibility

我們為配置輔助側邊欄的預設可見性添加了兩個額外選項,以將其開啟為最大化狀態

  • maximizedInWorkspace:開啟新工作區時將聊天檢視開啟為最大化狀態
  • maximized:始終將聊天檢視開啟為最大化狀態,包括在空視窗中

Screenshot that shows the Chat view maximized.

待處理的聊天確認

為了防止在代理會話正在積極更改檔案或響應您的請求時意外關閉工作區,當我們嘗試退出 VS Code 或關閉其視窗時,如果聊天響應正在進行中,現在會顯示一個對話方塊。

Screenshot of confirmation to exit with running chat.

作業系統通知使用者操作

設定chat.notifyWindowOnConfirmation

我們現在利用作業系統原生通知系統,在需要使用者確認的聊天會話中顯示一個彈出通知。使用 chat.notifyWindowOnConfirmation 啟用此行為。

Screenshot of toast for confirmation of a chat agent.

我們計劃在未來改進此體驗,以便顯示更多資訊並允許您直接從彈出通知中批准。目前,選擇彈出通知會聚焦到產生確認的視窗。

聊天中的數學支援(預覽)

設定chat.math.enabled

聊天現在初步支援渲染數學公式響應

Screenshot of the Chat view, showing inline and block equations in a chat response.

此功能由 KaTeX 提供支援,支援行內和塊狀數學公式。行內數學公式可以透過將標記包裹在單個美元符號 ($...$) 中來編寫,而塊狀數學公式則使用雙美元符號 ($$...$$)。

可以使用 chat.math.enabled 啟用數學渲染。目前,它預設關閉,但我們計劃在進一步測試後,在未來的版本中啟用它。

Context7 整合用於專案腳手架(實驗性)

設定github.copilot.chat.newWorkspace.useContext7

當您使用聊天中的 #new 腳手架一個新專案時,如果已安裝 Context7 MCP 伺服器,您可以確保它使用 **Context7** 的最新文件和 API。

MCP

伺服器自動啟動和信任

設定chat.mcp.autostart

以前,當您新增或更新 MCP 伺服器配置時,VS Code 會在聊天檢視中顯示一個藍色的“重新整理”圖示,讓您可以手動重新整理工具列表。在此里程碑中,您現在可以配置 MCP 伺服器的自動啟動行為,這樣就不必手動重新啟動 MCP 伺服器了。

使用 chat.mcp.autostart 設定來控制此行為。您也可以在圖示的工具提示中更改此設定,並檢視將要啟動的伺服器

Screenshot showing the hover of the refresh MCP server icon, enabling you to configure the auto-start behavior.

首次啟動 MCP 伺服器(在更新或更改後)時,我們現在會顯示一個對話方塊,要求您信任該伺服器。給予這些伺服器信任對於自動啟動功能尤其重要,以防止在不知情的情況下執行不受歡迎的命令。

有關 在 VS Code 中使用 MCP 伺服器 的更多資訊,請參閱我們的文件。

遠端 MCP 伺服器的客戶端憑據流

對於希望支援身份驗證的遠端 MCP 伺服器,理想的流程是使用支援動態客戶端註冊(DCR)的身份驗證提供商。這使得客戶端(VS Code)能夠與該身份驗證提供商自行註冊,從而實現無縫的身份驗證流程。

但是,並非所有身份驗證提供商都支援 DCR,因此我們引入了一種客戶端憑據流,允許您提供自己的客戶端 ID(可選)和客戶端金鑰,這些將在引導您完成身份驗證提供商的身份驗證流程時使用。以下是它的樣子

  • 步驟 1:VS Code 檢測到 DCR 無法使用,並詢問您是否要執行客戶端憑據流

    Screenshot of a modal dialog saying that DCR is not supported but you can provide client credentials manually.

    重要提示:此時,您需要訪問身份驗證提供商的網站並手動建立一個應用程式註冊。在那裡,您將輸入模態對話方塊中提到的重定向 URI。

  • 步驟 2:從身份驗證提供商的門戶,您將獲得一個客戶端 ID,可能還有一個客戶端金鑰。您將在出現的輸入框中輸入客戶端 ID,然後按 Enter

    Screenshot of an input box to provide the client ID for the MCP server.

  • 步驟 3:然後,如果您有客戶端金鑰,請在此處輸入,然後按 Enter(如果沒有,則留空)

    Screenshot of an input box to provide the optional client secret for the MCP server.

    此時,您將透過典型的身份驗證流程來認證您正在使用的 MCP 伺服器。

從“帳戶”選單中移除動態身份驗證提供商

自新增遠端 MCP 身份驗證以來,命令面板中一直有一個名為 **Authentication: Remove Dynamic Authentication Providers** 的命令,它允許您移除與該提供商關聯的客戶端憑據(客戶端 ID 和(如果可用)客戶端金鑰)以及所有帳戶資訊。

我們現在已將此命令公開到“帳戶”選單中。您可以在 MCP 伺服器帳戶中找到它

Screenshot of the Account menu showing the manage dynamic auth option in an account's submenu.

或者在選單的根目錄,如果您還沒有任何 MCP 伺服器帳戶

Screenshot of the Account menu showing the manage dynamic auth option in the root of account menu.

VS Code 現在完全支援最新的 MCP 規範(版本 2025-06-18),支援工具結果中的 resource_link 和結構化輸出。

輔助功能

可訪問的聊天引出

當代理請求使用者輸入時,例如是否繼續等待程序,聊天引出現在對螢幕閱讀器是可訪問的。當提示出現時,您會收到通知,可以使用鍵盤導航到它,並在可訪問檢視中檢視訊息。

控制聊天編輯的檔案開啟

一項新設定 accessibility.openChatEditedFiles,可讓您選擇在代理編輯聊天中的檔案時是否自動開啟它們。啟用此設定可更好地控制哪些檔案顯示在編輯器中。

檢視所有和先前編輯命令

“**檢視所有編輯**”和“**檢視先前編輯**”命令現在可在整個編輯器中使用,方便您檢視代理所做的更改。當停用 accessibility.openChatEditedFiles 時,這些命令尤其有用,允許您在不開啟每個檔案的情況下跟蹤編輯。

側邊欄可見性通知

當主側邊欄或輔助側邊欄顯示或隱藏時,ARIA 通知現在會通知您此更改。透過確保螢幕閱讀器使用者瞭解側邊欄可見性更新,這提高了可訪問性。

使用 Playwright 進行可訪問性測試

我們使用 Playwright 為編輯器添加了自動可訪問性測試。這些測試幫助我們持續驗證 Visual Studio Code 是否符合可訪問性標準和最佳實踐,確保所有使用者的體驗更佳。

編輯器體驗

設定搜尋建議

設定編輯器搜尋框中的 AI 搜尋結果切換(由閃光燈指示)現在對所有使用者都可用。當 AI 搜尋結果已載入並可用時,將啟用該切換。按下切換會在 AI 和非 AI 搜尋結果之間切換。

AI 設定搜尋結果基於語義相似性,而不是字串匹配。例如,當您搜尋“增加文字大小”時,editor.fontSize 會顯示為 AI 設定搜尋結果。

Screenshot of AI results in the Settings editor for "increase text size" showing editor.fontSize setting.

編輯器選項卡上下文選單

我們清理了編輯器選項卡上下文選單,將相關的拆分和移動選項分組到一個子選單中

Screenshot that shows the 'Split and Move' editor tab context menu.

AI 統計資訊(預覽)

設定editor.aiStats.enabled

我們添加了一項實驗性功能,用於顯示基本的 AI 統計資訊。使用 editor.aiStats.enabled 來啟用此功能,它預設是停用的。

此功能會顯示,按專案計算,AI 插入的字元百分比與手動輸入的字元百分比。它還會跟蹤您當天接受了多少次內聯編輯和下一次編輯建議。

Screenshot showing the AI statistic hover information in the Status Bar.

Notebook

筆記本內聯聊天與代理工具

設定inlineChat.notebookAgent

筆記本內聯聊天控制元件現在可以使用完整的筆記本代理工具套件,以實現其他功能,例如執行單元格和在核心中安裝包。

要為筆記本啟用代理工具,請啟用新的實驗性設定 inlineChat.notebookAgent。這目前還需要啟用內聯聊天 v2 的設定 inlineChat.enableV2

在透過 uv 建立的虛擬環境中安裝依賴項

現在,當我們使用 uv 建立的虛擬環境執行 Jupyter Notebook 時,我們支援安裝所需的依賴項。

原始碼管理

Git worktree 支援

設定git.detectWorktrees

為了響應一項長期存在的 功能請求,在此里程碑中,我們添加了 Git worktree 支援。Worktree 允許您同時檢出多個分支,方便測試更改或並行工作而無需切換上下文。

開啟包含 git 儲存庫的資料夾或工作區時,我們現在會自動檢測 worktree 並將其顯示在“原始碼管理儲存庫”檢視中。您現在可以透過命令面板或“原始碼管理儲存庫”檢視中的命令,在新視窗或當前視窗中檢視、建立、刪除和開啟 worktree。您可以透過切換 git.detectWorktrees 設定來停用此功能。

Screenshot of create worktree command in Source Control view.

Screenshot of open and delete worktree commands in the Source Control view.

儲存庫檢視

原始碼管理儲存庫檢視顯示在當前資料夾/工作區中發現的所有原始碼管理提供商。在此里程碑中,我們更新了該檢視的渲染方式,以在視覺上區分儲存庫、子模組和 worktree。我們還顯示了儲存庫、子模組和 worktree 之間的父子關係。

Screenshot of the Source Control Repositories view showing two repositories and a worktree associated with one of the repos.

終端

終端建議中的文件支援

由語言伺服器 (LSP) 支援的終端建議現在包含內聯文件,類似於您在編輯器中看到的。從 Python REPL 開始,您將在鍵入命令時獲得有關命令的有用描述和用法詳細資訊。

您目前需要這些設定才能在終端中啟用 LSP 建議

語音聽寫

現在,終端支援自然語言輸入,包括 Gemini 和 Claude 擴充套件啟用的終端,我們在終端中重新引入了語音聽寫。您可以使用 **Terminal: Start Dictation in Terminal** 和 **Terminal: Stop Dictation in Terminal** 命令來開始或停止聽寫。

改進的 Shell 整合診斷

Shell integration 是許多整合終端功能的基石,例如 粘滯滾動快速修復 以及 代理模式 理解終端內部發生的事情的能力。

此版本改進了您在將滑鼠懸停在終端並選擇 顯示詳細資訊 時看到的診斷資訊。現在您應該可以看到檢測到的 shell 型別和當前工作目錄。

Screenshot of the detailed terminal tab hover showing the shell type like pwsh and the current working directory.

如果這些豐富功能中的某一項未按預期工作,這裡是首先要檢視的地方之一。

語言

Python

Python 3.13 及更高版本的 Shell 整合支援

我們現在支援在使用 3.13 或更高版本 Python 時進行 Shell 整合。啟用後,PyREPL 將自動停用以確保相容性。如果您希望繼續使用 PyREPL,可以停用 Shell 整合。

Screenshot showing the Python shell integration setting in the Settings editor.

Python 環境擴充套件改進

在向穩定使用者進行受控推出期間,Python Environments Extension 繼續收到錯誤修復和改進。要在推出期間使用 Python Environments 擴充套件,請確保已安裝該擴充套件,並將以下內容新增到您的 VS Code settings.json 檔案中:"python.useEnvironmentsExtension": true

TypeScript 5.9

VS Code 現在包含 TypeScript 5.9.2。此主要更新帶來了一些新的語言改進,包括支援 defer 匯入,以及工具改進,例如許多 DOM API 的改進文件

請檢視 TypeScript 5.9 釋出部落格以瞭解此更新的更多詳細資訊。

JavaScript 和 TypeScript 的可展開懸停提示

當您將滑鼠懸停在 JavaScript 或 TypeScript 中的符號上時,VS Code 會嘗試顯示該符號最有用的 IntelliSense 型別資訊。型別可能非常複雜,因此我們面臨的一個挑戰是找到一個平衡點:既要顯示足夠多的詳細資訊以提供幫助,又不能顯示過多資訊而導致混亂。很難找到一個一刀切的解決方案,而且您想要的型別詳細資訊級別也可能根據您正在處理的內容而變化。

因此,在本迭代中,我們添加了新的 UI,讓您可以更好地控制型別在懸停提示中的顯示方式。當您將滑鼠懸停在符號上時,現在可以單擊懸停控制元件左側的小 + 圖示來將其介面和複雜型別展開為其組成部分。例如,您可以使用此功能直接在懸停提示中檢視介面的屬性。

懸停提示可以多次展開,這會遞迴地展開前一次展開中的型別。如果您展開得過多,只需單擊 - 圖示即可返回到前一個級別。另請注意,並非所有型別都可展開,並且我們仍然需要對支援的展開程度有所限制。如果您發現可展開的懸停提示在某些情況下不起作用,請告知我們

對擴充套件的貢獻

GitHub 拉取請求

GitHub Pull Requests 擴充套件方面取得了更多進展,該擴充套件使您能夠處理、建立和管理拉取請求和問題。

請檢視該擴充套件的 0.116.0 版本的更改日誌,瞭解該版本中的所有內容。

拉取請求標題清理

我們簡化了拉取請求描述標題中的按鈕欄。複製操作現在位於 PR 連結的右鍵上下文選單中。

Screenshot of the simplified PR header when opening the PR details.

在聊天中顯示程式碼代理 PR

設定githubPullRequests.codingAgent.uiIntegration

當您啟動程式碼代理會話(透過 #copilotCodingAgent 或使用 委託給程式碼代理 操作)時,拉取請求將顯示為聊天檢視中的卡片。

Screenshot of a coding agent PR card in the Chat view.

為已啟用代理的儲存庫啟用聊天檢視中的新 委託給程式碼代理 按鈕,請啟用 githubPullRequests.codingAgent.uiIntegration 設定。

聊天會話(實驗性)

程式碼代理聊天

基於上一個迭代的 Copilot 程式碼代理整合,您現在可以從專用聊天編輯器管理程式碼代理會話。這使您能夠跟蹤程式碼代理的進度,提供後續指示,並在專用聊天編輯器中檢視代理的響應。

  • 使用 #copilotCodingAgent 工具或透過 UI 控制元件從 VS Code 啟動程式碼代理會話。

  • 在附加的聊天編輯器中跟蹤程式碼代理的進度。

    Screenshot showing Coding Agent progress.

  • 直接從聊天中提供後續指示。

    Screenshot showing providing a followup in chat to coding agent.

聊天會話檢視

設定chat.agentSessionsViewLocation

啟用 chat.agentSessionsViewLocation 設定以嘗試此實驗性功能。

  • 當設定為 view 時,您將在 VS Code 側邊欄中看到一個新的 聊天會話 檢視。此檢視使您能夠管理和互動本地聊天會話以及程式碼代理會話。

    Screenshot showing the Coding Agent Sessions view.

  • 當設定為 showChatsMenu 時,程式碼代理聊天會話將與本地聊天曆史記錄一起顯示。

    Screenshot showing the Coding Agent Sessions Quick Pick.

此整合需要最新的 GitHub Pull Request 擴充套件和一個支援 Copilot 程式碼代理的儲存庫。有關更多資訊,請參閱有關如何在 VS Code 中使用程式碼代理的新文件。

主題:Sharp Solarized(在 vscode.dev 上預覽)

擴充套件開發

終端啟用事件

擴充套件程式現在可以使用兩個新的啟用事件

  • onTerminal:在開啟任何終端時觸發。
  • onTerminalShellIntegration:在為終端啟用豐富 Shell 整合時觸發。

您可以指定 shellType 來定位特定的 shell。例如,onTerminalShellIntegration:bash 在為 Bash 終端啟用 Shell 整合時啟用。

提議的 API

在聊天響應中渲染自定義 Webview

Chat Output Renderer API 允許擴充套件程式將聊天響應擴充套件到文字和影像之外。藉助它,您的擴充套件程式可以使用 Webview 渲染聊天輸出中的任意 HTML 內容。示例用例包括自定義視覺化、內聯預覽,甚至互動式控制元件。

Chat Output Renderer 擴充套件示例》展示瞭如何使用此 API 在聊天響應中渲染 Mermaid 圖。這是一個該擴充套件示例的實際操作示例。

Screenshot showing a mermaid diagram in a chat response.

有趣之處不在於 VS Code 可以渲染 Mermaid 圖,而在於這種渲染可以完全由擴充套件程式貢獻。有了它,您可以迭代自定義聊天輸出。

Screenshot asking chat to generate a modified version of the first diagram.

以下是該 API 工作原理的快速概述:

  1. 註冊一個可以作為響應一部分返回自定義資料的語言模型工具。我們使用 MIME 型別來標識此資料。
  2. 為該 MIME 型別註冊一個聊天輸出渲染器。
  3. 當語言模型呼叫工具時,呼叫聊天輸出渲染器以將其渲染到響應中的 Webview 中。

檢視擴充套件示例以獲取此 API 的完整端到端示例。

此 API 具有潛力,可以非常強大並帶來一些令人驚歎的新聊天體驗,因此請嘗試一下,並告訴我們您的想法!

聊天會話提供程式 API

新的 Chat Session Provider API 提案允許擴充套件程式將自己的聊天后端整合到 VS Code 的原生聊天 UI 中。使用它,您的擴充套件程式可以開啟一個新的聊天會話,填充該會話的歷史記錄,並響應新的使用者提示。

此 API 仍處於早期階段,可能會發生變化。但是,我們已經在使用它來支援新的 GitHub 程式碼代理會話流程,該流程從 GitHub 載入聊天,並允許您與完全由 GitHub 控制的代理進行聊天。

任務執行終端

擴充套件作者現在可以透過新的 taskExecution.terminal 屬性訪問與正在執行的任務關聯的終端。這使得識別哪個終端連結到特定任務並以程式設計方式與之互動更加容易。

SecretStorage keys() API

如果您曾經想獲取擴充套件程式儲存在 SecretStorage 中的鍵列表,現在可以使用新的提議的 keys() API 來實現。

export async function activate(context: ExtensionContext) {
  await context.secrets.store('mySecret', 'superSecretValue');
  await context.secrets.store('mySecret2', 'superSecretValue2');
  const keys = await context.secrets.keys();
  console.log('All secret keys:', keys); // returns ['mySecret', 'mySecret2']
}

注意:此更改取決於對提供 Secret Storage 替代實現的任何內容的更改,特別是 https://vscode.dev(已採用新 API)和 https://github.dev(即將採用新 API)。在不支援的環境中,此 API 將丟擲異常。

工程

packages.microsoft.com 金鑰更新

packages.microsoft.com 已更新其簽名金鑰,因此,較新發行版上的 Linux 使用者在安裝 VS Code 時應該不再看到與金鑰相關的警告或錯誤。基於 Debian 的發行版會自動接收新金鑰,而其他發行版上的使用者可能需要在匯入新金鑰之前手動刪除舊金鑰。

Electron 37 更新

在此里程碑中,我們將 Electron 37 更新推廣到穩定版使用者。此更新附帶 Chromium 138.0.7204.100 和 Node.js 22.17.0。我們要感謝所有在 Insiders 版本上進行自我託管並提供早期反饋的人。

值得注意的修復

感謝

最後但同樣重要的是,向 VS Code 的貢獻者們致以衷心的感謝

問題跟蹤

對我們問題跟蹤的貢獻

拉取請求

vscode 的貢獻

vscode-codicons 的貢獻

vscode-copilot-chat 的貢獻

vscode-eslint 的貢獻

vscode-js-debug 的貢獻

  • @pilaoda (pilaoda)
    • 修復 watch 面板自定義字串表示形式。#2252 PR #2253
    • 修復 toString 在 Local Variables 面板中不起作用,直到作用域中定義了所有變數 #2254 PR #2255

vscode-json-languageservice 的貢獻

vscode-vsce 的貢獻

debug-adapter-protocol 的貢獻

language-server-protocol 的貢獻

python-environment-tools 的貢獻

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