Visual Studio Code 1.128
發布日期:2026年7月8日
更新 1.128.1:此更新修復了這些安全性問題。
下載:Windows:x64 Arm64 | Mac:Universal Intel silicon | Linux:deb rpm tarball Arm snap
歡迎使用 Visual Studio Code 1.128 版本。此版本帶來更豐富的多對話代理程式工作階段、在對話中全面推出的圖片支援,以及作業系統層級的鍵盤快速鍵。
-
多對話代理程式工作階段:在單一 Claude 工作階段中執行多個相關對話,以比較不同方法並行工作。
-
快速對話:無需先開啟工作區,即可在代理程式視窗中提問。
-
Copilot Vision:透過貼上、拖曳將圖片和 PDF 附加到對話中,現已全面推出。
-
瀏覽器標籤頁放置位置:選擇內嵌瀏覽器標籤頁的開啟位置:使用中的群組、專屬的側邊群組或獨立視窗。
-
作業系統層級鍵盤快速鍵:使用即使在 VS Code 未取得焦點時也能運作的按鍵繫結來觸發 VS Code 命令。
祝您開發愉快!
VS Code 正逐步推出給所有使用者。請使用 VS Code 中的檢查更新來立即取得最新版本。
若想盡快嘗試新功能,請下載每晚更新的 Insiders 版本,其中包含一推出即有的最新更新。
代理程式
工作階段中的多個對話現已支援 Claude 代理程式
代理程式視窗中的 Claude 代理程式主機工作階段直接在 VS Code 中提供由 Anthropic 的 Claude Agent SDK 支援的代理式編碼功能。多個對話將相關的對話討論串保留在單一工作階段中,而不是將它們分散在不同的頂層工作階段。
單一對話的 Claude 工作階段仍然是與代理程式互動的專注方式。透過多個對話,一個工作階段可以包含相關對話,讓您可以比較不同方法、從先前的回合進行分支,以及並行執行工作。您可以新增對話、從現有回合衍生對話、在同級對話之間切換,以及同時傳送回合。每個對話都保有自己的歷史紀錄、標題和模型選擇,並在重新啟動後與父工作階段一起還原。同級對話會群組在 Claude 工作階段下方,不會顯示為獨立的頂層工作階段。
以下影片展示了一個包含多個對話的單一 Claude 工作階段:主對話為 Express 應用程式新增 /health 端點,而同級對話則為其並行編寫測試,分支對話則探索替代的實作方式。每個對話都獨立執行,並群組在同一個工作階段下方。
當透過代理程式主機使用 Claude 代理程式時,可享有此體驗。請確保已啟用代理程式主機,且可透過 harness 選擇器為 Claude 代理程式選取它,並透過設定 chat.agentHost.enabled 此設定可由您的組織管理。請聯絡您的系統管理員進行變更。 與 chat.agents.claude.preferAgentHost 來完成。
在代理程式視窗中進行未選取工作區的對話
代理程式視窗為您提供專屬的位置來建立、恢復和管理代理程式工作階段。對於專案工作,這些工作階段會將對話、檔案和變更與工作區保持在一起。
對於與資料夾無關的問題,您現在可以在代理程式視窗中開始對話,而無需選取工作區。這些對話會顯示在對話區段中,開啟時即處於焦點狀態並準備好接受輸入。使用 ⌘K ⌘N (Windows、Linux Ctrl+K Ctrl+N) 或對話區段標頭上的加號按鈕來啟動快速對話。
由於快速對話是無工作區的,因此它不會顯示工作區特有的變更或檔案側邊窗格。快速對話會在重新載入後與您的其他工作階段一起還原,並與工作區工作階段保持獨立。
無工作區的對話僅由代理程式主機工作階段支援,因此當代理程式主機已啟用(且透過 harness 選擇器選取)並透過設定 chat.agentHost.enabled 此設定可由您的組織管理。請聯絡您的系統管理員進行變更。 時,可享有此體驗。
預設情況下,已釘選和對話群組在為空時仍會保持顯示。使用 sessions.list.showEmptyDefaultGroups 來隱藏這些預設群組,直到它們包含工作階段為止。
代理程式視窗中的唯讀子代理程式對話 (預覽)
當代理程式將工作委派給子代理程式時,您可以追蹤每個背景工作者的進度,而無需從主對話中斷或引導它。代理程式視窗為跨專案的代理程式驅動工作流程提供專屬空間,並以對話和工作階段作為主要介面。
當工作階段衍生出子代理程式時,其對話紀錄會顯示為唯讀的同級對話。子代理程式對話會隱藏在標籤頁列中,直到您從「對話」選單、執行中的子代理程式晶片,或父對話紀錄中的內嵌子代理程式膠囊按鈕將其開啟。開啟的子代理程式會顯示其實時進度、在可用時使用子代理程式標題,並省略撰寫器與會變更對話的動作,以確保背景工作者的對話紀錄保持唯讀狀態。
當透過代理程式主機使用 Copilot 時,可享有此體驗。請確保代理程式主機已啟用(且透過 harness 選擇器選取),並透過設定 chat.agentHost.enabled 此設定可由您的組織管理。請聯絡您的系統管理員進行變更。 完成。
代理程式視窗中對話的鍵盤快速鍵
代理程式視窗支援多對話工作階段,其中一個代理程式工作階段可以包含多個相關對話。鍵盤導向的對話導覽可協助您在對話之間移動並管理對話標籤頁,而無需離開鍵盤。
- 使用 ⌘T (Windows、Linux Ctrl+T) 建立對話。
- 使用 ⇧⌘T (Windows、Linux Ctrl+Shift+T) 重新開啟上次關閉的對話。
- 使用 ⇧⌘] (Windows、Linux Ctrl+Shift+]) 和 ⇧⌘[ (Windows、Linux Ctrl+Shift+[) 前往下一個或上一個對話。
- 使用 ⌃Tab (Windows、Linux Ctrl+Tab) 和 ⌃⇧Tab (Windows、Linux Ctrl+Shift+Tab) 在開啟的對話之間快速切換。
- 使用 ⌘W (Windows Ctrl+F4、Linux Ctrl+W) 關閉使用中的對話標籤頁。
- 使用 ⌘Backspace (Windows、Linux Delete) 刪除使用中的非主對話。
- 使用 ⇧⌘O (Windows、Linux Ctrl+Shift+O) 為已開啟和已關閉的對話開啟可搜尋的挑選器。
這些快速鍵的範圍限定於代理程式視窗,當沒有要執行的對話專屬動作時,將會回復為現有的工作階段層級行為。
聊天
Copilot Vision 現已全面推出
從這個最新版本開始,多模態支援現已在 VS Code 中全面推出。透過將圖片和 PDF 貼到對話中、拖放它們,或使用內容功能表來附加圖片和 PDF。代理程式也可能會透過工具呼叫來讀取圖片。
請查看此 GitHub 變更日誌以了解支援的格式和可用性詳細資料。
代理程式主機 Copilot 工作階段中的 BYOK 模型 (實驗性)
設定: chat.agentHost.byokModels.enabled
當您在代理程式主機上執行工作階段時,請使用自備金鑰 (BYOK) 模型。啟用 chat.agentHost.byokModels.enabled 並重新啟動代理程式主機處理程序以使變更生效。
此功能為實驗性功能,目前仍在積極開發中。請確保代理程式主機已啟用,並可透過設定 chat.agentHost.enabled 此設定可由您的組織管理。請聯絡您的系統管理員進行變更。 選取。
為自訂端點模型設定取樣參數
您可以為每個自訂端點模型設定 temperature 和 top_p,以便要求能與對參數有嚴格要求的提供者搭配運作。
將 modelOptions 物件新增至模型的 JSON 設定中
{
...
"models": [
{
"id": "<model-id>",
"modelOptions": {
"temperature": 1,
"top_p": null
},
...
}
}
將屬性設定為數字以覆寫 VS Code 傳送的預設值。將其設定為 null 可從要求中省略該參數並使用模型伺服器的預設值。這些選項適用於 Chat Completions、Responses 及相容於 Messages 的端點。
設定 BYOK 的預設公用程式模型
設定: chat.byokUtilityModelDefault
當您使用自備金鑰 (BYOK) 模型作為主代理程式模型時,您可以變更內建公用程式流程(例如產生對話標題或認可訊息)所使用的預設行為。設定 chat.byokUtilityModelDefault 以使用主代理程式模型、使用 GitHub Copilot 提供的模型,或不使用預設公用程式模型。
注意:預設行為是當使用 BYOK 模型作為主代理程式時,不使用任何公用程式模型。除非設定此選項,否則背景工作(例如對話標題產生和認可訊息產生)將無法運作。
當主代理程式模型由 GitHub Copilot 提供時,此設定沒有作用。使用 chat.utilityModel 或 chat.utilitySmallModel 設定的模型優先於此預設值。
指向特定對話的深層連結
代理程式視窗可協助您管理代理程式工作階段,並返回其關聯的工作區和對話。深層連結可帶您直接返回相關對話,因此您不必先開啟工作區,然後再手動在對話中尋找工作階段。
當應用程式為工作階段開啟 vscode:// 深層連結時,VS Code 會開啟工作區並聚焦於連結的 session 查詢參數所識別的特定對話。代理程式視窗中的在 VS Code 中開啟動作使用相同的行為,在新的 VS Code 視窗中同時開啟工作階段的工作區資料夾及其使用中的對話。
編輯器體驗
可設定的內嵌瀏覽器標籤頁放置位置
設定: workbench.browser.newTabPlacement
保持標籤頁整然有序可能是一項挑戰。透過此版本,您可以透過 workbench.browser.newTabPlacement 設定來設定瀏覽器標籤頁的開啟位置。該設定可以採用下列值
activeGroup(預設):瀏覽器標籤頁一律在使用中的編輯器群組中開啟。sideGroup:瀏覽器標籤頁在側邊的專屬群組中開啟。此群組已鎖定,因此只有瀏覽器標籤頁會在該處開啟。window:瀏覽器標籤頁在專屬的輔助視窗中開啟。此視窗群組同樣鎖定為僅供瀏覽器標籤頁使用。
您仍然可以依需求重新組織標籤頁,且從現有標籤頁開啟的頁面(例如透過按住 Ctrl 選取連結)會在與父層相同的群組中開啟。
作業系統層級鍵盤快速鍵
VS Code 現在可以提供作業系統層級的鍵盤快速鍵。這些快速鍵即使在 VS Code 未取得焦點時也會生效。將 systemWide 新增至 keybindings.json 中的按鍵繫結定義,即可使其成為作業系統層級。例如,以下是在 keybindings.json 中將焦點移至 macOS 上的代理程式視窗的按鍵繫結
{
"key": "cmd+shift+a",
"command": "workbench.action.openAgentsWindow",
"systemWide": true
}
企業
使用 OpenTelemetry 管理 Copilot 遙測資料匯出
組織可以強制規定 GitHub Copilot 傳送 OpenTelemetry (OTel) 資料的目標位置,以便遙測資料能流向核准的收集器,而不需要每位開發人員都去設定 OTEL_* 環境變數。受管理的設定同時適用於 Copilot Chat 擴充功能與代理程式主機處理程序。
系統管理員透過 Copilot 受管理設定中的 telemetry 區塊(使用任何支援的傳遞管道)來交付這些設定。該區塊控制
- OTLP 匯出端點與協定。
- OTel 服務名稱與資源屬性。
- 匯出工具標頭,例如收集器的驗證權杖。
- 是否擷取提示與回應內容,以及開發人員是否可以變更該設定。
受管理的值永遠優先,其優先順序高於環境變數與使用者設定。
若要深入了解,請參閱使用 OpenTelemetry 設定遙測匯出與使用 OpenTelemetry 監視代理程式使用情形。
謝謝您
對 vscode 的貢獻:
- @accnops (Arthur Cnops):chat/voice:在問題輪播介面上線語音回答 (修正 Skipped) PR #323161
- @dobbydobap (varshitha):修復第二次「重新執行上一個工作」無法為 reevaluateOnRerun 工作啟動的問題 PR #324571
- @JeffreyCA:更新 Azure Developer CLI (azd) 的 Fig spec PR #321221
- @yavanosta (Dmitry Guketlev):在 growUntilVariableBoundaries 中使用 startColumn PR #324523
議題追蹤
對我們議題追蹤的貢獻:
- @gjsjohnmurray (John Murray)
- @jasonperry1231hou-lang (jasonperry1231hou-lang)
- @RedCMD (RedCMD)
- @luo2430 (luo2430)
我們非常感謝大家在第一時間體驗我們的新功能,請經常回來查看,了解最新消息。
如果您想閱讀先前 VS Code 版本的發布說明,請前往 code.visualstudio.com 上的 Updates 頁面。