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)在處理較長、較複雜的任務時更實用了 ,為你帶來更多控制權、更高的可視性、擴充代理人的新方式,以及更聰明的會話管理。
-
代理人外掛程式 :從「擴充功能」檢視安裝預先打包好的技能、工具和鉤子組合
-
代理人瀏覽器工具 :讓代理人控制瀏覽器,與您的應用程式互動並驗證自身的變更
-
會話記憶體 :在對話輪次之間保留規劃和指導內容
-
內容壓縮 :手動壓縮對話歷史記錄以釋放內容空間
-
複製聊天會話 :建立一個繼承對話歷史記錄的新獨立會話,以探索其他方法
-
代理人除錯面板 :即時查看代理人事件、工具呼叫和已載入的自訂設定
-
聊天輔助功能 :透過螢幕助讀程式改進、鍵盤導覽和通知訊號,充分發揮聊天的所有功能
-
從聊天建立代理人自訂設定 :直接從對話中生成提示、技能、代理人和鉤子
-
Kitty 圖形協定 :直接在整合式終端機中渲染高擬真圖像
祝您編碼愉快!
Insiders 版:想盡快試用新功能嗎?
您可以下載每日建置的 Insiders 版本,並在最新更新可用時立即試用。
下載 Insiders
代理人控制項
無論您是在除錯代理人的行為、調整核准流程,還是將工作交接給背景程序,這些更新都能讓您更清楚地掌握和控制代理人的執行方式。
背景代理人
透過 背景代理人 ,您可以將任務交接給 Copilot CLI,同時仍在 VS Code 中追蹤它們的進度。我們進行了幾項改進,以使背景代理人的功能和體驗與本機及雲端代理人保持一致。
-
上下文壓縮(Context compaction):當上下文視窗達到上限時,Copilot 會自動壓縮對話歷史記錄。現在你也可以使用
/compact斜線指令,手動觸發背景代理人的壓縮。 -
-
重新命名背景代理人會話 :你現在可以重新命名背景代理人會話,這樣就能更輕鬆地追蹤它們了。
Claude 代理人
上個月,我們加入了 Claude 代理人 ,讓訂閱 GitHub Copilot 的用戶能使用內建的 Claude 模型與 Claude Agent SDK 互動。
這個月,我們帶來了更多新功能和改進,讓體驗更上一層樓:
-
引導與排隊(Steering and queuing):讓你可以在對話進行到一半時傳送後續訊息,用來調整代理人的處理方式,或是將額外的請求排隊等候。
-
工作階段重新命名
-
上下文視窗渲染與壓縮
-
額外斜線指令
/compact用於即時壓縮/agents用於管理自訂代理人/hooks用於管理 Claude 鉤子
-
新增
getDiagnostics工具 ,讓代理人可以存取編輯器和工作區的問題 -
效能大幅躍升
我們還規劃了更多改進。歡迎到 GitHub 上分享你的回饋!
代理人除錯面板 (預覽版)
當你使用不同的代理人客製化設定,例如 Hooks、技能或自訂代理人時,有時候很難搞清楚傳送訊息給代理人後到底發生了什麼事。代理人除錯面板能讓你更深入地了解你的聊天過程,以及你的聊天客製化設定是如何載入的。
這個面板還包含一個圖表檢視,它會以視覺化的層級結構來呈現事件,讓你能夠快速掌握聊天過程中發生的事情的架構和先後順序。
這個體驗目前還在預覽階段,快來試試看並告訴我們你的想法吧!
用於啟用自動核准的斜線指令
您現在可以直接透過聊天輸入框使用斜線指令來切換全域自動核准 ,無需進入設定頁面:
/autoApprove啟用所有工具的全局自動核准功能。/disableAutoApprove停用全局自動核准功能。
/yolo 和 /disableYolo 是相同指令的別名。
編輯與提問模式的變更
隨著代理人(agent)的演進,代理人模式現在能處理編輯模式能做的一切,而且效能和穩定性都更好了。預設情況下,編輯模式已從代理人選擇器中隱藏,這樣使用者就能直接享受到最強大的模式,無需在選項間做取捨。你可以透過停用
現在的提問模式(Ask mode)由自訂的代理人定義提供支援,使其成為一個完全代理人化的體驗。這解決了先前的限制,例如在提問模式和代理人模式之間切換時需要新工作階段的問題。
這兩項變更都展示了如何自訂你的專屬代理人。如果你偏好編輯模式,或者想要一個屬於自己的「提問模式」版本,可以透過定義工具、提示詞(prompt)和語言模型,來建立一個符合你需求的自訂代理人。當你停用
在 自訂代理人文件中了解如何建立自訂代理人。
提問工具
當輪播介面啟用時,你現在可以直接傳送引導訊息,而無需先回覆或關閉待處理的問題。這讓你可以在執行中即時重定向代理人的回應,即使在問題序列的中間也可以。使用鍵盤透過 未指定 (下一個)和 未指定 (上一個)在問題之間導覽。
聊天期間防止自動暫停
現在 VS Code 會要求作業系統在代理人處理聊天請求時不要自動讓電腦進入休眠狀態。這樣你就可以放心地離開電腦,不用擔心會中斷代理人的回應了。
請注意,闔上未插電筆記型電腦的螢幕仍然會觸發休眠。
代理人擴充性
代理人能發揮多大作用,完全取決於你給予它們的工具和客製化設定。這次更新讓擴充代理人功能變得更容易,從可安裝的外掛套件包,到瀏覽器自動化和新的程式碼感知工具,都能輕鬆實現。
代理人外掛(實驗性功能)
設定 :
VS Code 現在支援代理人 外掛程式 ,這些外掛程式是預先打包好的聊天自訂組合。外掛程式可以包含技能、指令、代理人、MCP 伺服器和鉤子(hooks)。
你可以直接在 VS Code 的擴充功能(Extensions)檢視中搜尋並安裝代理人外掛(plugin)。在搜尋框輸入 @agentPlugins,或從命令面板(Command Palette)執行 Chat: Plugins 指令。
預設情況下,VS Code 會從 copilot-plugins 和 awesome-copilot 儲存庫中擷取外掛。你可以透過以下設定配置更多來源:
- chat.plugins.marketplaces透過指定 GitHub 或純 Git 儲存庫來新增額外的外掛市集。此設定也支援類似 Claude 的市集,例如
anthropics/claude-code。 - chat.plugins.paths透過指定路徑並啟用或停用它們,來註冊本機外掛程式目錄。
代理人式瀏覽器工具(實驗性功能)
在上一個版本中,我們在 VS Code 桌面版新增了 整合式瀏覽器 ,讓你可以直接在編輯器內與網頁互動。但如果你的代理人可以自主使用這個瀏覽器,並在建置網站的同時驗證網站的變更呢?
在這個版本中,我們為代理人新增了一組工具,讓他們可以讀取並與整合式瀏覽器互動。當代理人與頁面互動時,它能看到頁面內容的更新,以及主控台中的任何錯誤和警告。這些工具開箱即用,無需安裝任何額外的相依套件。
- 頁面導航:
開啟瀏覽器頁面,導航至頁面 - 頁面內容與外觀:
讀取頁面,截圖頁面 - 使用者互動:
點擊元素,懸停於元素,拖曳元素,在頁面輸入,處理對話框 - 客製化瀏覽器自動化:
runPlaywrightCode
這些工具賦予代理人同步撰寫與驗證網頁應用程式的能力,讓代理人的開發循環得以閉合。
預設情況下,代理人開啟的頁面會在記憶體中以私密工作階段執行。這讓你能夠掌控代理人可以存取哪些瀏覽資料。若要讓代理人存取整合式瀏覽器中的特定網頁,你可以明確地與代理人共用該頁面,以授予臨時存取權及任何已儲存的資料。
欲試用新工具,請啟用
請參閱瀏覽器代理人測試指南 ,以獲得逐步教學。
透過聊天介面建立代理人客製化設定
/create-prompt:生成可重複使用的 提示詞 檔案/create-instruction:生成專案慣例的 指令 檔案/create-skill:將多步驟工作流程擷取為 技能 套件/create-agent:建立專門的 客製化代理人 人設/create-hook:建立用於生命週期自動化的 鉤子(Hook) 設定
每個指令都會引導你完成建立流程,並讓你選擇儲存層級:使用者層級(全帳號適用)或工作區層級(專案專用)。
這些指令也能從正在進行的對話中擷取模式。舉例來說,在經過幾輪除錯後,使用 /create-skill 將該程序擷取為可重複使用的技能,或使用 /create-instruction 將修正轉化為專案慣例。
你不需要記住完整的斜線指令。直接用自然語言表達意圖也可以,像是說「把這個工作流程存成一個技能」或「從這裡擷取一條指令」,代理人就能理解你的意思並啟動正確的建立流程。
在提示詞 (prompts)、指令 (instructions)、技能 (skills) 和代理人 (agents) 的快速選擇選單中,都會有相同的生成選項,旁邊會顯示一個閃亮亮的圖示。
用於使用情境和重新命名的工具
我們更新了 usages 工具,並新增了 rename 工具。這些工具會重複使用現有的擴充功能或 LSP 功能,讓代理人能以高精準度和最佳效能來導覽和重構程式碼。
更聰明的對話體驗
當代理人能記住上下文、有效率地委派研究任務,並同步你的即時編輯時,長時間或多輪次的任務表現會更好。這些改進讓對話過程更有韌性、更懂得運用上下文。
規劃代理人的對話記憶
規劃代理人產生的計畫現在會儲存在對話記憶中,在不同輪次的對話中都能保持可用。當你要求優化時,代理人會在現有基礎上修改,而不是從頭開始。
即使在同一對話中出現不相關的訊息,該計畫也會被喚回,這樣你就能在不重複上下文的情況下回到原來的計畫。在較長的實作過程中,即使較早的對話紀錄被壓縮以釋放上下文空間,該計畫仍會保留在記憶體中,隨時可用。
上下文壓縮
隨著對話的增長,累積的訊息和上下文可能會佔滿模型的上下文視窗。上下文壓縮會總結對話歷史以釋放空間,這樣你就可以在同一個會話中繼續工作,而不會遺失重要細節。
當上下文視窗達到極限時,VS Code 會自動壓縮對話,但你也可以手動觸發壓縮。手動壓縮適用於本機、背景和 Claude 代理人會話。若要手動壓縮,請使用以下任一方法:
-
在聊天輸入欄中輸入
/compact。你也可以在指令後加上自訂指示,引導摘要的生成方式,例如/compact focus on the database schema decisions。 -
在聊天輸入框中選擇上下文視窗控制項,然後選擇壓縮對話 。
在文件(documentation)中瞭解更多關於上下文壓縮的資訊。
使用 Explore 子代理人進行程式碼庫搜尋
設定 :
探索功能預設使用快速模型(如 Claude Haiku 4.5、Gemini 3 Flash)來加速研究,而規劃代理人(Plan agent)則會使用完整模型進行規劃。你可以覆寫模型設定,但...
請注意 :探索功能(Explore)無法作為獨立代理人直接呼叫,它僅作為隨選使用的子代理人。
行內聊天與聊天工作階段
當代理人工作階段已經修改了檔案時,行內聊天現在一律會將新訊息排入該工作階段,而不是單獨進行修改。這確保了會使用完整的上下文,在檢視代理人編輯內容時也很有用。
分支聊天工作階段
你現在可以分支(fork)一個聊天工作階段,以建立一個新的、獨立的工作階段,它會繼承原始工作階段的對話歷史記錄。當你想探索替代方案、提出旁支問題,或在不丟失原始上下文的情況下將冗長的對話導向不同方向時,這會很有幫助。
分支工作階段有兩種方式:
- 完整複製整個對話 :在聊天輸入框輸入
/fork,即可建立一個包含完整對話紀錄的新對話。 - 從檢查點複製 :將滑鼠懸停在任一聊天請求上,然後選擇 Fork Conversation,即可建立一個只包含該點之前對話內容的新對話。
複製出來的對話是完全獨立的——一個對話中的變更不會影響另一個。進一步了解複製聊天對話 。
聊天體驗
對聊天介面的微調累積起來效果顯著:更簡潔的模型選擇器、工具輸出帶來的視覺干擾減少,以及即使你專注於其他檔案時,通知也能傳達給你。
重新設計的模型選擇器
我們重新設計了語言模型下拉選單,讓選擇適合任務的模型變得更方便。新的下拉選單將模型分門別類:
- 自動 (Auto) 永遠會顯示在列表最上方。
- 其他模型 (Other models) 是一個可收合的群組,其中包含所有剩餘的可選模型。展開它還會在底部顯示管理模型 (Manage Models) 選項。
- 搜尋框讓你能夠快速依名稱篩選模型。
每個模型條目都會顯示豐富的懸停資訊,其中包含模型細節,例如功能和上下文視窗大小。目前您的 GitHub Copilot 方案無法使用的模型也會顯示出來,但無法選取。
探索具備情境提示的功能(實驗性)
設定 :
VS Code 現在會在「聊天」檢視中顯示情境提示,協助你發掘功能並充分利用 AI 編碼體驗。當你開始新的聊天工作階段時,提示就會出現,而且會根據你的使用模式量身打造。為了避免資訊過載,只會建議你尚未嘗試過的功能,讓提示既實用又具行動性。
提示涵蓋多種能力,包括:
- 建立自訂代理人、提示和技能
- 使用訊息佇列和引導
- 切換到更好的模型
- 啟用 YOLO 模式和自訂思考短語等實驗性功能
使用導覽控制項瀏覽可用的提示,或關閉您不感興趣的個別提示。一旦您使用了建議的功能,提示就會自動隱藏。您可以使用以下選項完全停用提示:
隨著新功能的發布,我們會定期新增提示,所以記得常回來看看有沒有新鮮的建議喔!
自訂思考短語
設定 :
代理人在推理或呼叫工具時顯示的載入文字現在可以自訂了。您可以使用預先定義的自訂詞組,以 replace 模式來補完現有的預設詞組,或者使用 append 模式讓自訂詞組成為現有預設詞組的附加內容。
替換預設短語的範例:
"chat.agent.thinking.phrases": {
"mode": "replace",
"phrases": [
"Bribing the hamster",
"Reticulating splines",
"Untangling the spaghetti"
]
},
這個設定讓你能夠個人化聊天介面的載入體驗。
可摺疊的終端機工具呼叫
設定 :
在代理人模式下,終端機工具的呼叫現在會顯示為可摺疊區塊。為了避免冗長的終端機輸出佔滿對話視窗,每個終端機指令都會變成一個摘要標題,你可以點開來查看完整輸出。這樣能減少視覺干擾,讓你在瀏覽多步驟的代理人互動時更輕鬆。這個功能可以在
關於聊天回覆和確認的作業系統通知
設定 :
過去,只有當 VS Code 沒有被聚焦時,系統才會跳出關於聊天回覆和確認請求的通知。這意味著如果你正在 VS Code 裡專心處理其他工作,可能會錯過像是收到回覆或代理人需要你確認才能繼續等重要更新。
現在你可以將這些通知設定為即使視窗處於焦點狀態也會顯示,方法是將設定值設為 always。
行內聊天懸停模式
設定 :
行內聊天(Inline chat)的介面正從「在文字行之間」的設計,轉向基於懸停(hover)的介面。你可以透過以下方式啟用它:
即時聊天提示
設定 :
為了讓啟動即時聊天更方便,我們新增了兩種提示(affordances),它們會跟著你的選取範圍一起顯示。它們會與小燈泡圖示結合,而且不會礙事。
這個
無障礙輔助
這次的更新增強了螢幕助讀程式支援、鍵盤導覽,並提升了對聊天互動的感知度,讓每位開發者都能更有效地使用 VS Code 的 AI 功能。
在可存取檢視中切換思考內容的顯示
問題輪播的可及性
聊天問題輪播現在對螢幕閱讀器使用者完全友善了:
- 問題會連同其編號一起播報(例如:「問題 1 共 3 題」)
- 使用 Alt+N 和 Alt+P 在問題之間切換
- 使用 unassigned 在問題輪播區和聊天輸入框之間切換焦點
- 在螢幕助讀程式模式下,焦點不再自動移動,以避免干擾
聊天提問與確認的通知
設定 :
當聊天介面提出問題或需要確認時,如果已啟用,VS Code 現在會播放無障礙提示音並顯示作業系統通知。這樣即使你在其他視窗工作,也能隨時掌握待處理的動作。
切換待辦事項清單焦點的鍵盤快速鍵
使用 unassigned 可以快速在代理人的待辦事項清單和聊天輸入框之間切換焦點。這對於使用螢幕助讀程式的使用者特別有幫助,能快速掌握待處理的任務,然後再回到輸入框。
已在無障礙檢視中記住游標位置
當你在內容串流(例如聊天回覆中)時關閉無障礙檢視,你的游標位置現在會被保留,等你重新開啟時,它會停留在你離開的地方,而不是跳回頂部,讓你方便接續閱讀。
尋找與篩選無障礙輔助說明
在任何搜尋或篩選對話框中按下 Alt+F1,即可開啟情境式的無障礙輔助說明。這包含以下項目的說明:
- 編輯器搜尋與取代
- 終端機搜尋
- 跨檔案搜尋
- 輸出、問題和除錯主控台的篩選器
說明內容解釋了可用的鍵盤快捷鍵、導覽模式和特定情境行為。當焦點移到尋找小工具(Find widgets)上時,它也會播報「按下 Alt+F1 以取得輔助使用說明」(由...控制)。
快速輸入畫面的螢幕助讀程式改進
「前往行號」對話框(Ctrl+G)和其他快速輸入框現在與螢幕助讀程式的相容性更佳:
- 輸入時會播報字元
- 箭頭鍵導覽在輸入欄位內能正常運作
- 導覽清單項目時有適當的廣播
- 導覽後會播報行與列的位置
螢幕助讀程式的引導指示器
當你在回應串流(streaming)中傳送引導訊息時,螢幕助讀程式使用者現在會收到 aria-status 宣告,指出引導已發生。
輔助使用技能
一個新的內建輔助使用技能,有助於確保新功能包含適當的輔助使用支援。當您要求代理人建立一個新功能並使其具備輔助使用性時,它會自動參考輔助使用指南和模式。
聊天中的勾勾標記
設定 :
這次迭代為了簡化聊天檢視並使其更一致,預設會移除工具呼叫(tool calls)和可摺疊區塊前面的勾選記號。這個
編輯器體驗
彈出式編輯器 (實驗性功能)
設定 :
我們正在試驗一種新的「模態編輯器」體驗,適用於你通常只會短暫開啟、隨後就會回到主要任務的編輯器。模態編輯器會浮動在編輯器上方,不會影響你編輯器分頁的佈局。要關閉模態編輯器,請按 Escape 鍵。模態視窗提供一個動作,可以將編輯器移回編輯器分頁,也有一個動作可以將模態體驗最大化。
模態體驗適用於以下編輯器:
- 設定
- 鍵盤快速鍵
- 設定檔管理
- AI 與語言模型管理
- 工作區信任管理
設定
some,以選擇加入此體驗。
注意 :設定編輯器和鍵盤快速鍵編輯器會顯示一個按鈕,用於將相關的 JSON 檔案作為文字編輯器開啟。
另一個設定
在這個模式編輯器中,標題列中的一個控制項可讓您在您在「擴充功能」檢視中建立的清單中,瀏覽所有擴充功能。這也適用於 MCP 伺服器。未來的版本很可能會將擴充功能清單和搜尋功能也移至此模式中。請試用並分享您的意見回饋。
可設定的通知位置
設定 :
以前,VS Code 的通知會出現在螢幕的右下角。由於「聊天」檢視的預設位置也在右側,通知可能會遮蔽到聊天介面。
您現在可以將通知的位置設定為 top-right(右上)、bottom-right(右下)或 bottom-left(左下)。預設值仍為 bottom-right。此設定可讓您為自己的工作流程選擇最佳位置。
設定編輯器清理
我們已將 VS Code 聊天設定移至「設定」編輯器中自己獨立的頂層項目下,並附帶子類別。GitHub Copilot Chat 擴充功能的項目則保留在「擴充功能」下的獨立項目中。
顯示的設定清單也會依所選的目錄(table of contents)項目進行範圍限定,這意味著一旦選定某個目錄項目,您就不會再不小心捲動到下一個項目了。
最後,實驗設定已移至各章節的結尾,讓穩定的設定能先呈現。
程式碼編輯
遠距下一個編輯建議
下一個編輯建議 (NES) 透過建議不只在游標處,也在附近進行的編輯(以幽靈文字呈現),來擴展功能,預測你接下來想修改的地方。我們持續推進這項體驗,加入了遠距下一個編輯建議,它將 NES 的範圍擴展到可以預測和建議檔案中任何位置的編輯,而不僅限於你目前游標附近。
閱讀關於遠距下一個編輯建議的部落格文章,深入了解它的建構過程,從訓練資料集的建立、使用者體驗的優化、到成功指標的評估等等。請確保你已啟用 NES(
NES 積極度
Copilot 狀態列項目現在為下一個編輯建議加入了一個「積極度」選項。這個選項讓你可以在接收可能關聯性較低但數量較多的建議,或接收數量較少但實用性較高的建議之間做選擇。
最初,這個選項主要影響建議出現的時間點。隨著 NES 模型不斷演進,它會越來越多地考量你的積極度偏好,以提供更精準的建議。
原始碼控制
提交記錄中的 AI 共同作者歸屬
設定 :
當你提交包含 AI 生成內容的程式碼時,VS Code 可以自動在提交訊息後加上 Co-authored-by: 署名。此外,Git blame 的懸停提示現在也會顯示提交署名中的共同作者,包含非 AI 的 Co-authored-by 條目。
設定
off(預設值):不新增共同作者署名chatAndAgent:為透過 Copilot Chat 或代理人模式生成的程式碼加上署名all:為所有 AI 生成的程式碼(包含行內補全)加上署名
VS Code 只會為你在 VS Code 內部執行的提交加上共同作者署名。此設定不會修改在外部 Git 工具或命令列中執行的提交。
程式除錯
JavaScript 除錯工具
自訂屬性替換
如果物件使用 Symbol.for('debug.properties') 定義了方法,那麼這些屬性預設會在除錯工具中顯示。這能讓你對複雜物件有更易於理解的檢視。
模擬焦點視窗和事件監聽器中斷點
以前,當你在除錯瀏覽器時,可以在「 事件監聽器中斷點 」檢視中設定中斷點。我們已將此檢視重新命名為「 瀏覽器選項 」。
我們在「 模擬焦點頁面 」中增加了一個額外的選項。勾選後,當你的焦點移出瀏覽器視窗時,瀏覽器元素就不會再失去焦點。這對於除錯依賴於滑鼠懸停或焦點狀態的元素非常有用。
終端機
Kitty 圖形協定
設定 :
VS Code 終端機現在支援 Kitty 圖形協定 ,可以直接在終端機中實現高保真圖像渲染。支援此協定的程式可以傳輸和顯示具有豐富功能的圖像:
- 圖像格式 :PNG、24 位元 RGB 和 32 位元 RGBA
- 顯示佈局 :將圖像縮放到特定的欄/列尺寸、裁剪來源區域、套用子單元格像素偏移,以及控制 Z 軸堆疊順序
- 傳輸 :支援分塊傳輸和 zlib 壓縮的直接內嵌 base64
- 圖片管理 :一步到位地傳輸與顯示,可儲存圖片並在不同位置重現,支援透過 ID 或一次性刪除所有圖片,以及重新傳輸以更新現有圖片。
- 游標控制 :選擇圖片渲染後,游標是要移到圖片之後,還是停留在原地。
- 終端機整合 :圖片會隨文字一起捲動,並在終端機重設或清除時被妥善清理。
若要啟用圖片渲染功能,請設定
true,並確保on 或 auto。在 Windows 上,你還需要啟用你可以使用像 kitten icat (macOS/Linux) 或 VT CLI 這樣的工具在終端機中顯示圖片。
注意 :部分 Kitty 圖形協定功能尚未支援,包括動畫、相對定位、Unicode 佔位符和基於檔案的傳輸。請參閱 xterm.js 的討論串以了解最新的實作狀態。
Ghostty 對外部終端機的支援
設定 :
// macOS
"terminal.external.osxExec": "Ghostty.app",
// Linux
"terminal.external.linuxExec": "ghostty"
設定完成後,像是 終端機:開啟新的外部終端機 這樣的指令,以及在外部終端機中啟動的除錯設定,都會在 Ghostty 中開啟。
外部終端機的工作區資料夾選擇
當你使用 Ctrl+Shift+C 或 終端機:開啟新的外部終端機 指令在多根目錄工作區中開啟外部終端機時,VS Code 現在會提示你選擇一個工作區資料夾。所選的資料夾將作為外部終端機的工作目錄。
終端機沙箱機制改進 (預覽版)
設定 :
現在可以透過在 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 檔案的設定。
我們知道這是一個很大的變動,但我們相信這對 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 作為其編輯器分頁圖示:
webviewPanel.iconPath = new vscode.ThemeIcon('octoface');
可攜式模式偵測 API 定案
使用這個 API 來偵測 VS Code 是否在可攜式模式下執行,當應用程式從包含 data 目錄的資料夾執行時,此模式會被啟用。
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 同時用於打包這些擴充功能的桌面版和網頁版。
這次遷移讓我們的建置流程更簡潔、速度也更快了。只剩下零星幾個擴充功能還沒轉移,我們預計三月就能全部搞定。
已淘汰的功能與設定
本次發行版本中新增的淘汰項目
- 編輯模式已隱藏。此設定將在 1.125 版本前持續支援。從 1.125 版本開始,編輯模式將會完全移除,無法再透過設定啟用。
即將淘汰的項目
無
重大修正
- vscode#251722:即使在可見的捲動區域內,擴充功能提供的樹狀檢視項目上的即時動作也會出現,即使
"workbench.list.horizontalScrolling": true
感謝
問題追蹤
對我們問題追蹤的貢獻者:
- @gjsjohnmurray (John Murray)
- @RedCMD (RedCMD)
- @IllusionMH (Andrii Dieiev)
- @tamuratak (Takashi Tamura)
- @robotsnh (robotsnh)
對 vscode 的貢獻:
- @a-stewart (Anthony Stewart):修復了格式化文件指令導致未知詳細原因的錯誤 PR #288934
- @accesswatch (Jeff Bishop)
- 修正:改善螢幕助讀程式的 QuickInput 可用性 PR #292339
- 修正(輔助功能):為尋找元件新增 ARIA 提示並修復錯誤的語音播報 PR #292376
- 新功能(輔助功能):為尋找/篩選對話框新增輔助功能說明系統 PR #292373
- @aturzone (ATUR):修復/釋放 osreleaseinfo 資源洩漏 PR #293027
- @EmrecanKaracayir (Emrecan Karaçayır)
- 在終端機的即時聊天中,使用 inlineChat.border PR #293116
- 修正代理人狀態徽章的顏色不一致問題 PR #293224
- @erezak (Erez Korn):恢復統一的快速存取前綴切換 PR #292203
- @gjsjohnmurray (John Murray)
- 防止工具列上的 symbol-* codicons 顯示顏色(修復 #267766) PR #267787
- 比較目前工作目錄 (cwd) 和使用者首頁 (userHome) 時,標準化 Windows 磁碟機代號(修復 #293049) PR #293065
- @hkleungai (Jimmy Leung):vscode-dts:新增 LineCommentConfig 介面並更新 lineComment PR #289457
- @jainampatel27 (Jainam Patel)
- 修正:修正 debug.ts 中 nls.localize 字串的拼寫錯誤 PR #296730
- 修正擴充功能啟用事件中 nls.localize 字串的拼寫錯誤 PR #297378
- @JeffreyCA:更新 Azure Developer CLI (azd) 的 Fig 設定 PR #292894
- @murataslan1 (Murat Aslan):功能 (testing):測試執行時,在活動欄 (Activity Bar) 上顯示執行中徽章 PR #292257
- @n-gist (n-gist):修正問題比對器 (problem matcher) 無法將診斷 (diagnostics) 推播到標記服務 (markerServ…) PR #292109
- @na3shkw (Naoto Ishikawa):修正:在輸入變數對話框中按下 ESC 時取消偵錯啟動 PR #293837
- @prasanthpul (Prasanth Pulavarthi):A/B 實驗:登入對話框中的「關閉按鈕」vs「暫時略過」 PR #295867
- @RedCMD (RedCMD):修正:當字串包含跳脫字元時,選取字串常數 PR #295302
- @remcohaszing (Remco Haszing):啟用 npm scripts PR #283432
- @renan-r-santos (Renan Santos):修正使用錯誤的工作區範圍來收集遠端終端機環境變數的問題 PR #293628
- @sam-shubham (Sam Shubham):將動作樹狀視圖靠右對齊 PR #295266
- @SimonSiefke (Simon Siefke):修正:隧道視圖中的記憶體洩漏 PR #287142
- @SongXiaoXi (SXX):修正:停止無限的 WebSocket inflate 位元組記錄 PR #293819
- @tamuratak (Takashi Tamura)
- 修正 Markdown 渲染邏輯中最終答案的偵測 PR #293746
- chat:增強最終回應的渲染,加入釘選邏輯和重新定位 PR #293597
- @Vedag812 (Vedant Agarwal):修正:在可存取視圖導覽提示中,新增遺失的結尾 '>' 於鍵盤快速鍵的佔位符中 PR #295412
對 vscode-copilot-chat 的貢獻:
- @24anisha (Anisha Agarwal)
- @aashna (Aashna Garg):在 CAPI proxy 驗證的路由決策獲取器中加入 Copilot 驗證 Token PR #3980
- @alexweininger (Alex Weininger)
- @ashatabak786:為 VSC Chat 模型,將 0129 的凍結提示(Frozen prompt)加入 Prompt A PR #3452
- @bharatvansh (Ayush Singh):新增 agent 模式的 /summarize 指令 PR #3352
- @bstee615 (Benjamin Steenhoek)
- @dennyac (Denny Abraham Cheriyan):在 panel_request 事件中加入 vscodeRequestId PR #4007
- @devm33 (Devraj Mehta):在 Copilot SDK Session 中加入 VS Code 的 clientName PR #3449
- @FAStre:在圖片提示詞中加入檔案路徑 PR #3790
- @IanMatthewHuff (Ian Huff):為 1p repo 的遙測資訊,加入比較的 commit 的最大日期限制 PR #3774
- @lsby:修復工具呼叫偵測,並支援 Ollama 模型 PR #3566
- @MRayermannMSFT (Matthew Rayermann)
- @Sid200026 (Siddharth Singha Roy):chore:新增自動模式路由備援的遙測事件 PR #3780
- @spboyer (Shayne Boyer):feat:提升代理人自訂技能的合規性等級 — 從中等到高 PR #3866
- @zelinms (Zeqi Lin):fix:修正 Responses API 輸出的遙測回傳值 PR #3733
對 vscode-css-languageservice 的貢獻:
- @Arecsu (Alejandro Romano):修復
@scope解析以支援選擇器列表 PR #474 - @ej-shafran (ej shafran)
對 vscode-js-debug 的貢獻:
對 vscode-json-languageservice 的貢獻:
- @nsajko (Neven Sajko):修正
additionalPropertiesJSON Schema 屬性描述中的拼寫錯誤 PR #310
對 vscode-languageserver-node 的貢獻:
- @andrewbraxton (Andrew Braxton):為 metamodel 新增 incomingCalls 和 outgoingCalls 的能力 PR #1720
對 vscode-pull-request-github 的貢獻:
- @gvilums (Georgijs):修正平面檔案佈局的 PR 樹狀結構顯示錯誤 PR #8522
對 vscode-python-debugger 的貢獻:
- @renan-r-santos (Renan Santos):修正:使用
run.executable來識別解譯器,而不是activatedRun.executablePR #949
對 vscode-python-environments 的貢獻:
- @qq157755587 (Zhao Yuanjie):修復 defaultInterpreterPath 變數展開並穩定解譯器選擇測試 PR #1234
- @StellaHuang95 (Stella Huang):修正當 .env 檔案中的環境變數被註解或刪除時,終端機環境變數未被移除的問題。PR #1131
對 vscode-test 的貢獻:
- @DanTup (Danny Tuppeny):允許自訂標準輸出/錯誤輸出串流來顯示測試結果 PR #324
對 debug-adapter-protocol 的貢獻:
- @Be-ing (Be):將 Kate 加入實作清單 PR #589
對 language-server-protocol 的貢獻:
- @orien (Orien Madgwick):加入 Pony 語言伺服器 PR #2229
- @SeanDictionary (SeanDictionary):新增 SageMath 語言伺服器 PR #2231
- @stefanvanburen (Stefan VanBuren):為 Buf 語言伺服器新增支援 PR #2225
我們非常感謝大家一有新功能就搶先試用,所以記得常回來看看有哪些新東西可以玩!