– 代理人議程日(2 月 19 日)

2026 年 2 月版 (版本 1.110)

發布日期:2026 年 3 月 4 日

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


歡迎體驗 Visual Studio Code 2026 年 2 月的更新! 這次的發布讓代理人(agent)在處理較長、較複雜的任務時更實用了 ,為你帶來更多控制權、更高的可視性、擴充代理人的新方式,以及更聰明的會話管理。

祝您編碼愉快!




Insiders 版:想盡快試用新功能嗎?
您可以下載每日建置的 Insiders 版本,並在最新更新可用時立即試用。
下載 Insiders


代理人控制項

無論您是在除錯代理人的行為、調整核准流程,還是將工作交接給背景程序,這些更新都能讓您更清楚地掌握和控制代理人的執行方式。

背景代理人

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

  • 上下文壓縮(Context compaction):當上下文視窗達到上限時,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 互動。

這個月,我們帶來了更多新功能和改進,讓體驗更上一層樓:

  • 引導與排隊(Steering and queuing):讓你可以在對話進行到一半時傳送後續訊息,用來調整代理人的處理方式,或是將額外的請求排隊等候。

  • 工作階段重新命名

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

  • 上下文視窗渲染與壓縮

    Screenshot of the context window control.

  • 額外斜線指令

    • /compact 用於即時壓縮
    • /agents 用於管理自訂代理人
    • /hooks 用於管理 Claude 鉤子
  • 新增 getDiagnostics 工具 ,讓代理人可以存取編輯器和工作區的問題

  • 效能大幅躍升

我們還規劃了更多改進。歡迎到 GitHub 上分享你的回饋!

代理人除錯面板 (預覽版)

當你使用不同的代理人客製化設定,例如 Hooks、技能或自訂代理人時,有時候很難搞清楚傳送訊息給代理人後到底發生了什麼事。代理人除錯面板能讓你更深入地了解你的聊天過程,以及你的聊天客製化設定是如何載入的。

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

這個面板還包含一個圖表檢視,它會以視覺化的層級結構來呈現事件,讓你能夠快速掌握聊天過程中發生的事情的架構和先後順序。

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

這個體驗目前還在預覽階段,快來試試看並告訴我們你的想法吧!

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

您現在可以直接透過聊天輸入框使用斜線指令來切換全域自動核准 ,無需進入設定頁面:

  • /autoApprove 啟用所有工具的全局自動核准功能。
  • /disableAutoApprove 停用全局自動核准功能。

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

編輯與提問模式的變更

編輯模式已隱藏
  • Open in VS Code
  • Open in VS Code Insiders

隨著代理人(agent)的演進,代理人模式現在能處理編輯模式能做的一切,而且效能和穩定性都更好了。預設情況下,編輯模式已從代理人選擇器中隱藏,這樣使用者就能直接享受到最強大的模式,無需在選項間做取捨。你可以透過停用

編輯模式已隱藏
  • Open in VS Code
  • Open in VS Code Insiders
設定。

現在的提問模式(Ask mode)由自訂的代理人定義提供支援,使其成為一個完全代理人化的體驗。這解決了先前的限制,例如在提問模式和代理人模式之間切換時需要新工作階段的問題。

這兩項變更都展示了如何自訂你的專屬代理人。如果你偏好編輯模式,或者想要一個屬於自己的「提問模式」版本,可以透過定義工具、提示詞(prompt)和語言模型,來建立一個符合你需求的自訂代理人。當你停用

編輯模式已隱藏
  • Open in VS Code
  • Open in VS Code Insiders

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

提問工具

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

當輪播介面啟用時,你現在可以直接傳送引導訊息,而無需先回覆或關閉待處理的問題。這讓你可以在執行中即時重定向代理人的回應,即使在問題序列的中間也可以。使用鍵盤透過 未指定 (下一個)和 未指定 (上一個)在問題之間導覽。

聊天期間防止自動暫停

現在 VS Code 會要求作業系統在代理人處理聊天請求時不要自動讓電腦進入休眠狀態。這樣你就可以放心地離開電腦,不用擔心會中斷代理人的回應了。

請注意,闔上未插電筆記型電腦的螢幕仍然會觸發休眠。

代理人擴充性

代理人能發揮多大作用,完全取決於你給予它們的工具和客製化設定。這次更新讓擴充代理人功能變得更容易,從可安裝的外掛套件包,到瀏覽器自動化和新的程式碼感知工具,都能輕鬆實現。

代理人外掛(實驗性功能)

設定

chat.plugins.enabled
  • Open in VS Code
  • Open in VS Code Insiders
,
chat.plugins.marketplaces
  • Open in VS Code
  • Open in VS Code Insiders
,
chat.plugins.paths
  • Open in VS Code
  • Open in VS Code Insiders

VS Code 現在支援代理人 外掛程式 ,這些外掛程式是預先打包好的聊天自訂組合。外掛程式可以包含技能、指令、代理人、MCP 伺服器和鉤子(hooks)。

你可以直接在 VS Code 的擴充功能(Extensions)檢視中搜尋並安裝代理人外掛(plugin)。在搜尋框輸入 @agentPlugins,或從命令面板(Command Palette)執行 Chat: Plugins 指令。

Screenshot showing the Agent Plugins view in VS Code.

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

  • chat.plugins.marketplaces
    • Open in VS Code
    • Open in VS Code Insiders
    透過指定 GitHub 或純 Git 儲存庫來新增額外的外掛市集。此設定也支援類似 Claude 的市集,例如 anthropics/claude-code
  • chat.plugins.paths
    • Open in VS Code
    • Open in VS Code Insiders
    透過指定路徑並啟用或停用它們,來註冊本機外掛程式目錄。

代理人式瀏覽器工具(實驗性功能)

workbench.browser.enableChatTools
  • Open in VS Code
  • Open in VS Code Insiders

在上一個版本中,我們在 VS Code 桌面版新增了 整合式瀏覽器 ,讓你可以直接在編輯器內與網頁互動。但如果你的代理人可以自主使用這個瀏覽器,並在建置網站的同時驗證網站的變更呢?

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

  • 頁面導航: 開啟瀏覽器頁面 , 導航至頁面
  • 頁面內容與外觀: 讀取頁面 , 截圖頁面
  • 使用者互動: 點擊元素 , 懸停於元素 , 拖曳元素 , 在頁面輸入 , 處理對話框
  • 客製化瀏覽器自動化: runPlaywrightCode

這些工具賦予代理人同步撰寫與驗證網頁應用程式的能力,讓代理人的開發循環得以閉合。

預設情況下,代理人開啟的頁面會在記憶體中以私密工作階段執行。這讓你能夠掌控代理人可以存取哪些瀏覽資料。若要讓代理人存取整合式瀏覽器中的特定網頁,你可以明確地與代理人共用該頁面,以授予臨時存取權及任何已儲存的資料。

欲試用新工具,請啟用

workbench.browser.enableChatTools
  • Open in VS Code
  • Open in VS Code Insiders
,並在聊天工具選擇器中啟用瀏覽器工具。

請參閱瀏覽器代理人測試指南 ,以獲得逐步教學。

透過聊天介面建立代理人客製化設定

每個指令都會引導你完成建立流程,並讓你選擇儲存層級:使用者層級(全帳號適用)或工作區層級(專案專用)。

這些指令也能從正在進行的對話中擷取模式。舉例來說,在經過幾輪除錯後,使用 /create-skill 將該程序擷取為可重複使用的技能,或使用 /create-instruction 將修正轉化為專案慣例。

你不需要記住完整的斜線指令。直接用自然語言表達意圖也可以,像是說「把這個工作流程存成一個技能」或「從這裡擷取一條指令」,代理人就能理解你的意思並啟動正確的建立流程。

在提示詞 (prompts)、指令 (instructions)、技能 (skills) 和代理人 (agents) 的快速選擇選單中,都會有相同的生成選項,旁邊會顯示一個閃亮亮的圖示。

用於使用情境和重新命名的工具

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

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

更聰明的對話體驗

當代理人能記住上下文、有效率地委派研究任務,並同步你的即時編輯時,長時間或多輪次的任務表現會更好。這些改進讓對話過程更有韌性、更懂得運用上下文。

規劃代理人的對話記憶

規劃代理人產生的計畫現在會儲存在對話記憶中,在不同輪次的對話中都能保持可用。當你要求優化時,代理人會在現有基礎上修改,而不是從頭開始。

即使在同一對話中出現不相關的訊息,該計畫也會被喚回,這樣你就能在不重複上下文的情況下回到原來的計畫。在較長的實作過程中,即使較早的對話紀錄被壓縮以釋放上下文空間,該計畫仍會保留在記憶體中,隨時可用。

上下文壓縮

隨著對話的增長,累積的訊息和上下文可能會佔滿模型的上下文視窗。上下文壓縮會總結對話歷史以釋放空間,這樣你就可以在同一個會話中繼續工作,而不會遺失重要細節。

當上下文視窗達到極限時,VS Code 會自動壓縮對話,但你也可以手動觸發壓縮。手動壓縮適用於本機、背景和 Claude 代理人會話。若要手動壓縮,請使用以下任一方法:

  • 在聊天輸入欄中輸入 /compact。你也可以在指令後加上自訂指示,引導摘要的生成方式,例如 /compact focus on the database schema decisions

  • 在聊天輸入框中選擇上下文視窗控制項,然後選擇壓縮對話

Screenshot showing the context window control and the compact option.

在文件(documentation)中瞭解更多關於上下文壓縮的資訊。

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

設定

chat.exploreAgent.defaultModel
  • Open in VS Code
  • Open in VS Code Insiders

探索功能預設使用快速模型(如 Claude Haiku 4.5、Gemini 3 Flash)來加速研究,而規劃代理人(Plan agent)則會使用完整模型進行規劃。你可以覆寫模型設定,但...

chat.exploreAgent.defaultModel
  • Open in VS Code
  • Open in VS Code Insiders
設定。將滑鼠懸停在聊天中的探索任務上,即可查看研究使用的是哪個模型。

請注意 :探索功能(Explore)無法作為獨立代理人直接呼叫,它僅作為隨選使用的子代理人。

行內聊天與聊天工作階段

當代理人工作階段已經修改了檔案時,行內聊天現在一律會將新訊息排入該工作階段,而不是單獨進行修改。這確保了會使用完整的上下文,在檢視代理人編輯內容時也很有用。

分支聊天工作階段

你現在可以分支(fork)一個聊天工作階段,以建立一個新的、獨立的工作階段,它會繼承原始工作階段的對話歷史記錄。當你想探索替代方案、提出旁支問題,或在不丟失原始上下文的情況下將冗長的對話導向不同方向時,這會很有幫助。

分支工作階段有兩種方式:

  • 完整複製整個對話 :在聊天輸入框輸入 /fork,即可建立一個包含完整對話紀錄的新對話。
  • 從檢查點複製 :將滑鼠懸停在任一聊天請求上,然後選擇 Fork Conversation,即可建立一個只包含該點之前對話內容的新對話。

Screenshot showing the Fork Conversation button on a chat request.

複製出來的對話是完全獨立的——一個對話中的變更不會影響另一個。進一步了解複製聊天對話

聊天體驗

對聊天介面的微調累積起來效果顯著:更簡潔的模型選擇器、工具輸出帶來的視覺干擾減少,以及即使你專注於其他檔案時,通知也能傳達給你。

重新設計的模型選擇器

我們重新設計了語言模型下拉選單,讓選擇適合任務的模型變得更方便。新的下拉選單將模型分門別類:

  • 自動 (Auto) 永遠會顯示在列表最上方。
  • 其他模型 (Other models) 是一個可收合的群組,其中包含所有剩餘的可選模型。展開它還會在底部顯示管理模型 (Manage Models) 選項。
  • 搜尋框讓你能夠快速依名稱篩選模型。

每個模型條目都會顯示豐富的懸停資訊,其中包含模型細節,例如功能和上下文視窗大小。目前您的 GitHub Copilot 方案無法使用的模型也會顯示出來,但無法選取。

探索具備情境提示的功能(實驗性)

設定

chat.tips.enabled
  • Open in VS Code
  • Open in VS Code Insiders

VS Code 現在會在「聊天」檢視中顯示情境提示,協助你發掘功能並充分利用 AI 編碼體驗。當你開始新的聊天工作階段時,提示就會出現,而且會根據你的使用模式量身打造。為了避免資訊過載,只會建議你尚未嘗試過的功能,讓提示既實用又具行動性。

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

提示涵蓋多種能力,包括:

  • 建立自訂代理人、提示和技能
  • 使用訊息佇列和引導
  • 切換到更好的模型
  • 啟用 YOLO 模式和自訂思考短語等實驗性功能

使用導覽控制項瀏覽可用的提示,或關閉您不感興趣的個別提示。一旦您使用了建議的功能,提示就會自動隱藏。您可以使用以下選項完全停用提示:

chat.tips.enabled
  • Open in VS Code
  • Open in VS Code Insiders
.

隨著新功能的發布,我們會定期新增提示,所以記得常回來看看有沒有新鮮的建議喔!

自訂思考短語

設定

chat.agent.thinking.phrases
  • Open in VS Code
  • Open in VS Code Insiders

代理人在推理或呼叫工具時顯示的載入文字現在可以自訂了。您可以使用預先定義的自訂詞組,以 replace 模式來補完現有的預設詞組,或者使用 append 模式讓自訂詞組成為現有預設詞組的附加內容。

替換預設短語的範例:

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

這個設定讓你能夠個人化聊天介面的載入體驗。

可摺疊的終端機工具呼叫

設定

chat.tools.terminal.simpleCollapsible
  • Open in VS Code
  • Open in VS Code Insiders

在代理人模式下,終端機工具的呼叫現在會顯示為可摺疊區塊。為了避免冗長的終端機輸出佔滿對話視窗,每個終端機指令都會變成一個摘要標題,你可以點開來查看完整輸出。這樣能減少視覺干擾,讓你在瀏覽多步驟的代理人互動時更輕鬆。這個功能可以在

chat.tools.terminal.simpleCollapsible
  • Open in VS Code
  • Open in VS Code Insiders
設定。

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

關於聊天回覆和確認的作業系統通知

設定

chat.notifyWindowOnResponseReceived
  • Open in VS Code
  • Open in VS Code Insiders
,
chat.notifyWindowOnConfirmation
  • Open in VS Code
  • Open in VS Code Insiders

過去,只有當 VS Code 沒有被聚焦時,系統才會跳出關於聊天回覆和確認請求的通知。這意味著如果你正在 VS Code 裡專心處理其他工作,可能會錯過像是收到回覆或代理人需要你確認才能繼續等重要更新。

現在你可以將這些通知設定為即使視窗處於焦點狀態也會顯示,方法是將設定值設為 always

行內聊天懸停模式

設定

inlineChat.renderMode
  • Open in VS Code
  • Open in VS Code Insiders

行內聊天(Inline chat)的介面正從「在文字行之間」的設計,轉向基於懸停(hover)的介面。你可以透過以下方式啟用它:

inlineChat.renderMode
  • Open in VS Code
  • Open in VS Code Insiders
,讓內嵌聊天輸入更像重新命名(rename)的操作體驗。一旦提示(prompt)送出,進度和結果會顯示在右上角。

即時聊天提示

設定

內嵌對話操作提示
  • Open in VS Code
  • Open in VS Code Insiders

為了讓啟動即時聊天更方便,我們新增了兩種提示(affordances),它們會跟著你的選取範圍一起顯示。它們會與小燈泡圖示結合,而且不會礙事。

這個

內嵌對話操作提示
  • Open in VS Code
  • Open in VS Code Insiders
設定有三種可能的值:

off
選取文字時沒有顯示任何操作提示
editor
在編輯器中選取範圍旁邊顯示選單
gutter
在編輯器邊溝(行號區域)選取範圍旁邊顯示選單

無障礙輔助

這次的更新增強了螢幕助讀程式支援、鍵盤導覽,並提升了對聊天互動的感知度,讓每位開發者都能更有效地使用 VS Code 的 AI 功能。

在可存取檢視中切換思考內容的顯示

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

  • 問題會連同其編號一起播報(例如:「問題 1 共 3 題」)
  • 使用 Alt+NAlt+P 在問題之間切換
  • 使用 unassigned 在問題輪播區和聊天輸入框之間切換焦點
  • 在螢幕助讀程式模式下,焦點不再自動移動,以避免干擾

聊天提問與確認的通知

設定

chat.notifyWindowOnConfirmation
  • Open in VS Code
  • Open in VS Code Insiders
,
accessibility.signals.chatUserActionRequired
  • Open in VS Code
  • Open in VS Code Insiders

當聊天介面提出問題或需要確認時,如果已啟用,VS Code 現在會播放無障礙提示音並顯示作業系統通知。這樣即使你在其他視窗工作,也能隨時掌握待處理的動作。

切換待辦事項清單焦點的鍵盤快速鍵

使用 unassigned 可以快速在代理人的待辦事項清單和聊天輸入框之間切換焦點。這對於使用螢幕助讀程式的使用者特別有幫助,能快速掌握待處理的任務,然後再回到輸入框。

已在無障礙檢視中記住游標位置

當你在內容串流(例如聊天回覆中)時關閉無障礙檢視,你的游標位置現在會被保留,等你重新開啟時,它會停留在你離開的地方,而不是跳回頂部,讓你方便接續閱讀。

尋找與篩選無障礙輔助說明

在任何搜尋或篩選對話框中按下 Alt+F1,即可開啟情境式的無障礙輔助說明。這包含以下項目的說明:

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

說明內容解釋了可用的鍵盤快捷鍵、導覽模式和特定情境行為。當焦點移到尋找小工具(Find widgets)上時,它也會播報「按下 Alt+F1 以取得輔助使用說明」(由...控制)。

accessibility.verbosity.find
  • Open in VS Code
  • Open in VS Code Insiders
).

快速輸入畫面的螢幕助讀程式改進

「前往行號」對話框(Ctrl+G)和其他快速輸入框現在與螢幕助讀程式的相容性更佳:

  • 輸入時會播報字元
  • 箭頭鍵導覽在輸入欄位內能正常運作
  • 導覽清單項目時有適當的廣播
  • 導覽後會播報行與列的位置

螢幕助讀程式的引導指示器

當你在回應串流(streaming)中傳送引導訊息時,螢幕助讀程式使用者現在會收到 aria-status 宣告,指出引導已發生。

輔助使用技能

一個新的內建輔助使用技能,有助於確保新功能包含適當的輔助使用支援。當您要求代理人建立一個新功能並使其具備輔助使用性時,它會自動參考輔助使用指南和模式。

聊天中的勾勾標記

設定

accessibility.chat.showCheckmarks
  • Open in VS Code
  • Open in VS Code Insiders

這次迭代為了簡化聊天檢視並使其更一致,預設會移除工具呼叫(tool calls)和可摺疊區塊前面的勾選記號。這個

accessibility.chat.showCheckmarks
  • Open in VS Code
  • Open in VS Code Insiders
將重新啟用整個聊天中的核取方塊(checkmark),如果你想在聊天中將它們作為指示器。

編輯器體驗

彈出式編輯器 (實驗性功能)

設定

workbench.editor.useModal
  • Open in VS Code
  • Open in VS Code Insiders
,
extensions.allowOpenInModalEditor
  • Open in VS Code
  • Open in VS Code Insiders

我們正在試驗一種新的「模態編輯器」體驗,適用於你通常只會短暫開啟、隨後就會回到主要任務的編輯器。模態編輯器會浮動在編輯器上方,不會影響你編輯器分頁的佈局。要關閉模態編輯器,請按 Escape 鍵。模態視窗提供一個動作,可以將編輯器移回編輯器分頁,也有一個動作可以將模態體驗最大化。

Screenshot showing a modal settings editor.

模態體驗適用於以下編輯器:

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

設定

workbench.editor.useModal
  • Open in VS Code
  • Open in VS Code Insiders
some,以選擇加入此體驗。

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

另一個設定

extensions.allowOpenInModalEditor
  • Open in VS Code
  • Open in VS Code Insiders
將模態編輯器(modal editors)的應用擴展到擴充套件。此體驗仍在開發中,未來可能會有所變動,但我們想現在就提供給大家回饋:

Screenshot showing a modal extensions editor.

在這個模式編輯器中,標題列中的一個控制項可讓您在您在「擴充功能」檢視中建立的清單中,瀏覽所有擴充功能。這也適用於 MCP 伺服器。未來的版本很可能會將擴充功能清單和搜尋功能也移至此模式中。請試用並分享您的意見回饋。

可設定的通知位置

設定

workbench.notifications.position
  • Open in VS Code
  • Open in VS Code Insiders

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

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

設定編輯器清理

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

顯示的設定清單也會依所選的目錄(table of contents)項目進行範圍限定,這意味著一旦選定某個目錄項目,您就不會再不小心捲動到下一個項目了。

最後,實驗設定已移至各章節的結尾,讓穩定的設定能先呈現。

程式碼編輯

遠距下一個編輯建議

下一個編輯建議 (NES) 透過建議不只在游標處,也在附近進行的編輯(以幽靈文字呈現),來擴展功能,預測你接下來想修改的地方。我們持續推進這項體驗,加入了遠距下一個編輯建議,它將 NES 的範圍擴展到可以預測和建議檔案中任何位置的編輯,而不僅限於你目前游標附近。

閱讀關於遠距下一個編輯建議的部落格文章,深入了解它的建構過程,從訓練資料集的建立、使用者體驗的優化、到成功指標的評估等等。請確保你已啟用 NES(

github.copilot.nextEditSuggestions.enabled
  • Open in VS Code
  • Open in VS Code Insiders
) 並擴展了 NES 範圍(
github.copilot.nextEditSuggestions.extendedRange
  • Open in VS Code
  • Open in VS Code Insiders
)在 VS Code 中啟用。

NES 積極度

Copilot 狀態列項目現在為下一個編輯建議加入了一個「積極度」選項。這個選項讓你可以在接收可能關聯性較低但數量較多的建議,或接收數量較少但實用性較高的建議之間做選擇。

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

最初,這個選項主要影響建議出現的時間點。隨著 NES 模型不斷演進,它會越來越多地考量你的積極度偏好,以提供更精準的建議。

原始碼控制

提交記錄中的 AI 共同作者歸屬

設定

git.新增 AI 共同作者
  • Open in VS Code
  • Open in VS Code Insiders

當你提交包含 AI 生成內容的程式碼時,VS Code 可以自動在提交訊息後加上 Co-authored-by: 署名。此外,Git blame 的懸停提示現在也會顯示提交署名中的共同作者,包含非 AI 的 Co-authored-by 條目。

設定

git.新增 AI 共同作者
  • Open in VS Code
  • Open in 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.

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

以前,當你在除錯瀏覽器時,可以在「 事件監聽器中斷點 」檢視中設定中斷點。我們已將此檢視重新命名為「 瀏覽器選項 」。

我們在「 模擬焦點頁面 」中增加了一個額外的選項。勾選後,當你的焦點移出瀏覽器視窗時,瀏覽器元素就不會再失去焦點。這對於除錯依賴於滑鼠懸停或焦點狀態的元素非常有用。

終端機

Kitty 圖形協定

設定

terminal.integrated.enableImages
  • Open in VS Code
  • Open in VS Code Insiders
,
terminal.integrated.gpuAcceleration
  • Open in VS Code
  • Open in VS Code Insiders
,
terminal.integrated.windowsUseConptyDll
  • Open in VS Code
  • Open in VS Code Insiders

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

  • 圖像格式 :PNG、24 位元 RGB 和 32 位元 RGBA
  • 顯示佈局 :將圖像縮放到特定的欄/列尺寸、裁剪來源區域、套用子單元格像素偏移,以及控制 Z 軸堆疊順序
  • 傳輸 :支援分塊傳輸和 zlib 壓縮的直接內嵌 base64
  • 圖片管理 :一步到位地傳輸與顯示,可儲存圖片並在不同位置重現,支援透過 ID 或一次性刪除所有圖片,以及重新傳輸以更新現有圖片。
  • 游標控制 :選擇圖片渲染後,游標是要移到圖片之後,還是停留在原地。
  • 終端機整合 :圖片會隨文字一起捲動,並在終端機重設或清除時被妥善清理。

若要啟用圖片渲染功能,請設定

terminal.integrated.enableImages
  • Open in VS Code
  • Open in VS Code Insiders
true,並確保
terminal.integrated.gpuAcceleration
  • Open in VS Code
  • Open in VS Code Insiders
設定為 onauto。在 Windows 上,你還需要啟用
terminal.integrated.windowsUseConptyDll
  • Open in VS Code
  • Open in 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
  • Open in VS Code
  • Open in VS Code Insiders
,
terminal.external.linuxExec
  • Open in VS Code
  • Open in VS Code Insiders

terminal.external.osxExec
  • Open in VS Code
  • Open in VS Code Insiders
macOS 上的設定或
terminal.external.linuxExec
  • Open in VS Code
  • Open in VS Code Insiders
在 Linux 上:

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

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

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

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

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

當你使用 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
  • Open in VS Code
  • Open in VS Code Insiders
,
chat.tools.terminal.sandbox.linuxFileSystem
  • Open in VS Code
  • Open in VS Code Insiders
,
chat.tools.terminal.sandbox.macFileSystem
  • Open in VS Code
  • Open in VS Code Insiders
,
chat.tools.terminal.sandbox.network
  • Open in VS Code
  • Open in VS Code Insiders

現在可以透過在 allowTrustedDomains 中啟用設定,來為網路隔離選擇信任的網域

chat.tools.terminal.sandbox.network
  • Open in VS Code
  • Open in VS Code Insiders
。增強了對受限網域的偵測能力,並提供清晰的回饋,指出是哪個網域被封鎖了。

在 macOS 上啟用終端機沙箱環境無需安裝,在 Linux 上則無需安裝 ripgrep 即可啟用。

語言

整合後的 JavaScript 與 TypeScript 設定

為了準備迎接 即將推出的 TypeScript 6.0 和 7.0 版本 ,我們整理並清理了內建的 JavaScript 和 TypeScript 設定 ID。過去,這些設定中有很多同時存在重複的 javascript.*typescript.* 版本。這是因為這些設定是在我們加入標準化的語言特定設定方法之前就存在的。此外,有些設定名稱也不一致。

現在所有這些設定都移到了 js/ts.* 前綴之下。這意味著,預設情況下你只需要更新一個設定值,就能同時更改 JavaScript 和 TypeScript 檔案中的行為。如果你希望在 JavaScript 和 TypeScript 檔案中有不同的行為,可以使用語言特定的設定

例如,不再需要設定:

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

現在你可以使用整合設定的語言特定覆寫:

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

你也可以使用 [javascriptreact] 來單獨客製化 JSX 檔案的設定。

我們知道這是一個很大的變動,但我們相信這對 VS Code 長期的品質來說是正確的選擇。統一設定讓修改 JavaScript 和 TypeScript 設定變得更簡單,同時也支援了現代化的選項,像是針對特定語言的設定。

Python

Python 環境擴充功能開始向所有使用者推送

經過一年的預覽測試後,Python 環境擴充功能現在開始向所有使用者推送了。這個擴充功能提供了一個統一的介面,讓你可以直接在 VS Code 裡管理 Python 環境、套件和解譯器,不管你用的是 venv、conda、pyenv、poetry 還是 pipenv 都可以。

主要功能包含:

  • 快速建立 :只需點擊一下,即可使用你的預設管理員和最新版 Python 版本建立環境。
  • Python 專案 :將環境指派給特定資料夾,適用於單體儲存庫(monorepos)和多服務工作區。
  • 內建套件管理 :在「環境管理員」檢視中搜尋、安裝和解除安裝套件。
  • 可攜式設定 :環境配置使用管理員類型而非硬編碼路徑,讓 settings.json 可以在不同機器間攜帶使用。

預計在接下來幾週內擴充功能會自動啟用,或者你可以立即透過 python.useEnvsExtension 設定來選擇啟用。

欲瞭解更多詳情,請參閱 發布公告部落格文章 或查看 Python 環境文件

擴充套件的貢獻

GitHub 提取請求

  • 現在可以同時開啟多個提取請求和 Issue 的描述。
  • 設定 githubPullRequests.autoRepositoryDetection 可以設為 true,以納入工作區外部的儲存庫。
  • 在 Issue 檢視中,沒有匹配 Issue 的儲存庫現在會被隱藏。

請查閱擴充功能 0.130.0 版本發布的 變更日誌 ,了解本次更新的所有內容。

擴充套件開發

網頁檢視 (Webviews) 和自訂編輯器現在可以在圖示路徑中使用主題圖示 (ThemeIcons) 了

網頁檢視面板和自訂編輯器現在可以將 ThemeIcon 作為其編輯器分頁圖示:

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

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

可攜式模式偵測 API 定案

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

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

建議採用的 API

聊天項目控制器 API

我們持續改進聊天工作階段 API。這個 API 允許擴充功能為 VS Code 內建的聊天工作階段檢視貢獻項目。本迭代中的主要變更包括:

  • 新增了 ChatSessionItemControllerNewItemHandler ,讓控制器可以指定用於新工作階段的 URI。

  • 新增了 ChatSessionProviderOptions.newSessionOptions ,用來設定新工作階段的預設選項。

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

工程開發

VS Code 工程的 TypeScript-Go

從這次迭代開始,我們預設讓 vscode 工作區在開發時使用 TSGo。我們已經注意到這帶來了效能提升,同時也有助於我們測試 TSGo 的語言工具。

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

使用 esbuild 進行擴充功能打包

我們已將大部分內建擴充功能從使用 webpack 遷移到使用 esbuild 進行打包。esbuild 同時用於打包這些擴充功能的桌面版和網頁版。

這次遷移讓我們的建置流程更簡潔、速度也更快了。只剩下零星幾個擴充功能還沒轉移,我們預計三月就能全部搞定。

已淘汰的功能與設定

本次發行版本中新增的淘汰項目

  • 編輯模式已隱藏
    • Open in VS Code
    • Open in 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 的貢獻:


我們非常感謝大家一有新功能就搶先試用,所以記得常回來看看有哪些新東西可以玩!

🔗