🚀 在 VS Code 中

2025 年 3 月 (版本 1.99)

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


歡迎使用 Visual Studio Code 2025 年 3 月發行版本。此版本包含許多更新,我們希望您會喜歡,重點摘要如下:

  • 代理人模式

    • 代理人模式已在 VS Code 穩定版中推出。透過設定 chat.agent.enabled 即可啟用 (更多資訊...)。
    • 使用模型內容協定 (MCP) 伺服器工具擴充代理人模式 (更多資訊...)。
    • 試用代理人模式中的全新內建工具,以取得網頁內容、尋找符號參考和深度思考 (更多資訊...)。
  • 程式碼編輯

    • 「下一步編輯建議」現已正式推出 (更多資訊...)。
    • 在編輯器中套用 AI 編輯時,減少診斷事件等干擾,從中獲益 (更多資訊...)。
  • 聊天

    • 使用您自己的 API 金鑰,在聊天中存取更多語言模型 (預覽) (更多資訊...)。
    • 從統一的聊天體驗中輕鬆切換「詢問」、「編輯」和「代理人」模式 (更多資訊...)。
    • 透過即時遠端工作區索引,體驗更快速、更準確的工作區搜尋 (更多資訊...)。
  • 筆記本編輯

    • 如同程式碼檔案一樣輕鬆建立和編輯筆記本,並支援「編輯」和「代理人」模式 (更多資訊...)。

如果您想線上閱讀這些版本資訊,請前往 code.visualstudio.com 上的「更新」頁面。Insiders: 想盡快試用新功能嗎?您可以下載每晚組建的 Insiders 版本,並在最新更新可用時立即試用。

聊天

代理人模式已在 VS Code 穩定版中推出

設定chat.agent.enabled

我們很高興宣布代理人模式已在 VS Code 穩定版中推出!透過設定 chat.agent.enabled 即可啟用。在接下來的幾週內,將不再需要啟用此設定,因為我們將預設為所有使用者推出啟用功能。

查看代理人模式文件,或從「聊天」檢視中的聊天模式選擇器中選取代理人模式。

Screenshot that shows the Chat view, highlighting agent mode selected in the chat mode picker.

模型內容協定伺服器支援

此版本支援代理人模式中的 模型內容協定 (MCP) 伺服器。MCP 為 AI 模型提供標準化方法,以探索外部工具、應用程式和資料來源並與之互動。當您在 VS Code 中使用代理人模式輸入聊天提示時,模型可以叫用各種工具來執行檔案操作、存取資料庫或擷取網頁資料等工作。這種整合實現了更動態且具內容意識的程式碼協助。

MCP 伺服器可以在使用者、遠端或 .code-workspace 設定的 mcp 區段中,或在工作區的 .vscode/mcp.json 中設定。此設定支援輸入變數,以避免硬式編碼機密和常數。例如,您可以使用 ${env:API_KEY} 參考環境變數,或使用 ${input:ENDPOINT} 在伺服器啟動時提示輸入值。

您可以使用MCP: 新增伺服器命令,從命令列叫用快速設定 MCP 伺服器,或使用 AI 輔助設定從發佈到 Docker、npm 或 PyPI 的 MCP 伺服器進行設定。

新增 MCP 伺服器後,「聊天」檢視中會顯示重新整理動作,可用於啟動伺服器並探索工具。之後,伺服器會依需求啟動,以節省資源。

佈景主題:Codesong (vscode.dev 上的預覽)

如果您已在其他應用程式 (例如 Claude Desktop) 中使用 MCP 伺服器,VS Code 將會探索到它們,並提供為您執行它們。此行為可以使用 chat.mcp.discovery.enabled 設定切換。

您可以使用 MCP: 列出伺服器 命令查看 MCP 伺服器及其目前狀態的清單,並使用代理人模式中的選取工具按鈕,選取可在聊天中使用的工具。

您可以閱讀我們的文件,深入瞭解如何安裝和使用 MCP 伺服器。

代理人模式工具

在此里程碑中,我們為代理人模式新增了幾個全新的內建工具。

思考工具 (實驗性)

設定github.copilot.chat.agent.thinkingTool

受到 Anthropic 的研究啟發,我們在代理人模式中新增了對思考工具的支援,可用於讓任何模型有機會在工具呼叫之間思考。這改善了我們的代理人在產品內複雜任務和 SWE-bench 評估中的效能。

擷取工具

使用 #fetch 工具,將公開存取的網頁內容包含在您的提示中。例如,如果您想包含有關 MCP 等主題的最新文件,您可以要求擷取 完整文件 (方便 LLM 取用),並在提示中使用它。以下是可能看起來像這樣的影片

在代理人模式中,此工具會自動選取,但您也可以在其他模式中透過 #fetch 明確參考它,以及您想要擷取的 URL。

此工具的運作方式是在無頭瀏覽器視窗中呈現網頁,該頁面的資料會在該視窗中在本機快取,因此您可以自由地要求模型重複擷取內容,而不會產生重新呈現的額外負荷。

請告訴我們您如何使用 #fetch 工具,以及您希望看到哪些功能!

擷取工具限制

  • 目前,JavaScript 在此瀏覽器視窗中已停用。如果網站完全依賴 JavaScript 來呈現內容,則此工具將無法取得太多內容。這是我們正在考慮變更的限制,而且很可能會變更以允許 JavaScript。
  • 由於無頭性質,我們無法擷取需要驗證身分的頁面,因為此無頭瀏覽器與您使用的瀏覽器存在於不同的瀏覽器內容中。相反地,請考慮使用 MCP 引入專為該目標而建置的 MCP 伺服器,或一般瀏覽器 MCP 伺服器,例如 Playwright MCP 伺服器

用法工具

#usages 工具是「尋找所有參考」、「尋找實作」和「前往定義」的組合。此工具可以協助聊天深入瞭解函式、類別或介面。例如,聊天可以使用此工具尋找介面的範例實作,或在進行重構時尋找所有需要變更的位置。

在代理人模式中,此工具會自動選取,但您也可以透過 #usages 明確參考它

建立具有代理人模式的新工作區 (實驗性)

設定github.copilot.chat.newWorkspaceCreation.enabled

您現在可以在 代理人模式中架構新的 VS Code 工作區。無論您是要設定 VS Code 擴充功能、MCP 伺服器或其他開發環境,代理人模式都能協助您初始化、設定和啟動這些專案,並包含必要的相依性和設定。

代理人模式中的 VS Code 擴充功能工具

幾個月前,我們完成了 VS Code 擴充功能貢獻的 語言模型工具的擴充功能 API。現在,您可以在代理人模式中使用這些工具。

任何貢獻給此 API 的工具,只要在其設定中設定 toolReferenceNamecanBeReferencedInPrompt,就會自動在代理人模式中可用。

透過在擴充功能中貢獻工具,它可以存取完整的 VS Code 擴充功能 API,並且可以透過擴充功能市集輕鬆安裝。

與 MCP 伺服器的工具類似,您可以使用代理人模式中的選取工具按鈕啟用和停用這些工具。請參閱我們的語言模型工具擴充功能指南以建置您自己的工具!

代理人模式工具核准

作為完成使用者提示任務的一部分,代理人模式可以執行工具和終端機命令。這功能強大,但也可能存在風險。因此,您需要核准在代理人模式中使用工具和終端機命令。

為了最佳化此體驗,您現在可以記住工作階段、工作區或應用程式層級的核准。目前終端機工具未啟用此功能,但我們計劃在未來版本中開發終端機的核准系統。

Screenshot that shows the agent mode tool Continue button dropdown options for remembering approval.

如果您想要自動核准所有工具,您現在可以使用實驗性 chat.tools.autoApprove 設定。這將自動核准所有工具,而且當語言模型想要執行工具時,VS Code 不會要求確認。請記住,啟用此設定後,您將無法取消模型想要採取的潛在破壞性動作。

我們計劃在未來使用更精細的功能擴充此設定。

SWE-bench 上的代理人評估

VS Code 的代理人在 swebench-verified 上使用 Claude 3.7 Sonnet 達到 56.0% 的通過率,遵循 Anthropic 關於設定代理人在 SWE-bench 環境中無需使用者輸入即可執行的研究。我們的實驗已轉化為為代理人模式發佈改良的提示、工具描述和工具設計,包括 Claude 3.5 和 3.7 Sonnet 模型的新檔案編輯工具。

統一的聊天檢視

在過去的幾個月中,我們有一個「聊天」檢視用於向語言模型提出問題,以及一個「Copilot 編輯」檢視用於 AI 驅動的程式碼編輯工作階段。本月,我們的目標是透過將兩個檢視合併為一個「聊天」檢視來簡化聊天體驗。在「聊天」檢視中,您會看到一個下拉式選單,其中包含三種模式

Screenshot that shows the chat mode picker in the Chat view.

  • 詢問:這與先前的「聊天」檢視相同。詢問有關您的工作區或一般程式碼撰寫的問題,使用任何模型。使用 @ 叫用內建聊天參與者或來自已安裝擴充功能的聊天參與者。使用 # 手動附加任何種類的內容。
  • 代理人:使用一組工具啟動代理人程式碼撰寫流程,使其能夠自主收集內容、執行終端機命令或採取其他動作來完成任務。代理人模式已為所有 VS Code Insiders 使用者啟用,我們正在為 VS Code 穩定版中越來越多的使用者推出此模式。
  • 編輯:在「編輯」模式中,模型可以對多個檔案進行定向編輯。附加 #codebase 以讓其自動尋找要編輯的檔案。但它不會自動執行終端機命令或執行其他任何操作。

注意:如果您在此清單中看不到代理人模式,則表示尚未為您啟用,或已由組織原則停用,需要由組織擁有者啟用。

除了簡化您的聊天體驗外,此統一性還為 AI 驅動的程式碼編輯啟用了一些新功能

  • 在對話中切換模式:例如,您可以從在「詢問」模式中集思廣益應用程式構想開始,然後切換到「代理人」模式來執行計畫。提示:按下 ⌘. (Windows、Linux Ctrl+.) 以快速變更模式。
  • 歷程記錄中的編輯工作階段:使用顯示聊天命令 (「聊天」檢視頂端的時鐘圖示) 還原過去的編輯工作階段,並繼續處理它們。
  • 將聊天移至編輯器或視窗:選取在新編輯器/新視窗中開啟聊天,將您的聊天對話從側邊欄彈出到新的編輯器索引標籤或個別的 VS Code 視窗中。聊天長期以來一直支援此功能,但現在您也可以從編輯器窗格或個別視窗執行您的編輯/代理人工作階段。
  • 多個代理人工作階段:從以上幾點來看,這表示您甚至可以同時執行多個代理人工作階段。您可能會想要讓一個聊天在代理人模式中工作,以實作功能,而另一個獨立工作階段則用於進行研究和使用其他工具。不建議同時指示兩個代理人工作階段編輯檔案,這可能會導致混淆。

自備金鑰 (BYOK) (預覽)

Copilot Pro 和 Copilot Free 使用者現在可以為 Azure、Anthropic、Gemini、Open AI、Ollama 和 Open Router 等熱門提供者自備 API 金鑰。這讓您可以在新模型發佈的第一天就使用 Copilot 原生不支援的新模型。

若要試用,請從模型選擇器中選取管理模型...。我們正在積極探索對 Copilot Business 和 Enterprise 客戶的支援,並將在未來的版本中分享更新。若要深入瞭解此功能,請前往我們的文件

A screenshot of a "Manage Models - Preview" dropdown menu in a user interface. The dropdown has the label "Select a provider" at the top, with a list of options below it. The options include "Anthropic" (highlighted in blue), "Azure," "Gemini," "OpenAI," "Ollama," and "OpenRouter." A gear icon is displayed next to the "Anthropic" option.

可重複使用的提示檔案

改良的設定

設定chat.promptFilesLocations

chat.promptFilesLocations 設定現在支援檔案路徑中的 glob 模式。例如,若要包含目前開啟工作區中的所有 .prompt.md 檔案,您可以將路徑設定為 { "**": true }

此外,組態現在尊重檔案系統上的大小寫敏感度 (適用時),與主機作業系統的行為一致。

改良的提示檔案編輯

  • 您的 .prompt.md 檔案現在為檔案系統路徑提供基本自動完成,並醒目提示有效的檔案參考。另一方面,損壞的連結現在會顯示為警告或錯誤波浪線,並提供詳細的診斷資訊。
  • 您現在可以使用聊天:使用提示命令中提示檔案清單中的編輯和刪除動作來管理提示。
  • 提示檔案中的資料夾參考不再標示為無效。
  • Markdown 註解現在已正確處理,例如,在產生傳送至 LLM 模型的最終提示時,會忽略所有已註解掉的連結。

與自訂指示對齊

.github/copilot-instructions.md 檔案現在的行為與任何其他可重複使用的 .prompt.md 檔案類似,並支援巢狀連結解析和增強的語言功能。此外,現在可以參考任何 .prompt.md 檔案,並適當地處理。

深入瞭解自訂指示

使用者提示

建立使用者提示命令現在允許建立稱為使用者提示的新提示類型。這些提示儲存在使用者資料夾中,並且可以跨機器同步,類似於程式碼片段或使用者設定。可以使用同步設定中的提示項目在同步資源清單中設定同步。

改良的視覺支援 (預覽)

上次迭代,Copilot Vision 已為 GPT-4o 啟用。查看我們的版本資訊,以深入瞭解如何在聊天中附加和使用影像。

在此版本中,您可以透過拖放從任何瀏覽器附加影像。從瀏覽器拖放的影像必須具有正確的 URL 擴充功能,包含 .jpg.png.gif.webp.bmp

設定編輯器

統一的聊天體驗

我們已將 VS Code 中的聊天體驗簡化為單一統一的「聊天」檢視。您現在可以輕鬆地在不同的聊天模式之間切換,而無需在不同的檢視之間移動並遺失對話的內容。

Screenshot that shows the chat mode picker in the Chat view.

根據您的情境,使用以下任一模式,並在對話中自由移動

  • 「詢問」模式:針對詢問有關您的程式碼庫和集思廣益構想的問題進行最佳化。
  • 「編輯」模式:針對跨程式碼庫中的多個檔案進行編輯進行最佳化。
  • 「代理人」模式:針對自主程式碼撰寫流程進行最佳化,結合程式碼編輯和工具叫用。

取得有關統一的聊天檢視的更多詳細資訊。

透過即時索引更快地搜尋工作區

遠端工作區索引加速搜尋大型程式碼庫,以尋找 AI 在回答問題和產生編輯時使用的相關程式碼片段。這些遠端索引對於包含數萬甚至數十萬個檔案的大型程式碼庫特別有用。

先前,您必須按下按鈕或執行命令才能建置並開始使用遠端工作區索引。透過我們全新的即時索引支援,當您第一次嘗試詢問 #codebase/@workspace 問題時,我們現在會自動建置遠端工作區索引。在大多數情況下,此遠端索引可以在幾秒鐘內建置完成。建置完成後,您或任何其他在 VS Code 中使用該存放庫的人員進行的任何程式碼庫搜尋都會自動使用遠端索引。

請記住,遠端工作區索引目前僅適用於儲存在 GitHub 上的程式碼。若要使用遠端工作區索引,請確定您的工作區包含具有 GitHub 遠端的 git 專案。您可以使用Copilot 狀態選單查看目前使用的索引類型

Screenshot that shows the workspace index status in the Copilot Status Bar menu.

為了管理負載,我們將在未來幾週內緩慢推出即時索引,因此您可能不會立即看到它。當即時索引尚未為您啟用時,您仍然可以執行 GitHub Copilot: 建置遠端索引命令 命令,開始使用遠端索引。

Copilot 狀態選單

從狀態列存取的 Copilot 狀態選單現在已為所有使用者啟用。在此里程碑中,我們為其新增了一些新功能

  • 隨時查看工作區索引狀態資訊。

    Screenshot that shows the workspace index status of a workspace in the Copilot menu.

  • 查看程式碼完成是否已為作用中編輯器啟用。

    新的圖示反映狀態,讓您可以快速查看程式碼完成是否已啟用。

    Screenshot that shows the Copilot status icon when completions is disabled.

  • 啟用或停用程式碼完成和 NES

開箱即用的 Copilot 設定 (實驗性)

設定chat.setupFromDialog

我們正在發佈實驗性功能,以開箱即用方式顯示功能性聊天體驗。這包括「聊天」檢視、編輯器/終端機內嵌聊天和快速聊天。當您第一次傳送聊天要求時,我們將引導您登入並註冊 Copilot Free。

如果您想親身體驗此功能,請啟用 chat.setupFromDialog 設定。

聊天預先發行通道不符

如果您在 VS Code 穩定版中安裝了 Copilot 聊天擴充功能的預先發行版本,新的歡迎畫面將會通知您不支援此組態。由於聊天功能的快速開發,擴充功能將不會在 VS Code 穩定版中啟用。

歡迎畫面提供切換至擴充功能發行版本或下載 VS Code Insiders 的選項。

Screenshot that shows the welcome view of chat, indicating that the pre-release version of the extension is not supported in VS Code stable. A button is shown to switch to the release version, and a secondary link is shown to switch to VS Code Insiders.

語意文字搜尋改良 (實驗性)

設定github.copilot.chat.search.semanticTextResults

AI 驅動的語意文字搜尋現在預設在「搜尋」檢視中啟用。使用 ⌘I (Windows、Linux Ctrl+I) 鍵盤快速鍵觸發語意搜尋,這會在一般搜尋結果之上顯示根據您的查詢最相關的結果。

您也可以使用 #searchResults 工具在聊天提示中參考語意搜尋結果。這可讓您要求 LLM 摘要或說明結果,甚至根據結果產生程式碼。

設定編輯器搜尋更新

預設情況下,「設定」編輯器搜尋現在使用我們在上一個版本中引入的金鑰比對演算法。即使設定 ID 與已知的設定完全相符,它也會顯示其他設定。

佈景主題:Light Pink (vscode.dev 上的預覽)

視窗控制項的新設定 (Linux、Windows)

設定window.controlsStyle

如果您已將標題列樣式 (window.titleBarStyle) 設定為 custom,您現在可以在視窗控制項的三種不同樣式之間選擇。

  • native:這是預設值,並根據基礎平台呈現視窗控制項
  • custom:如果您偏好自訂樣式而非原生樣式,則以自訂樣式呈現視窗控制項
  • hidden:如果您想要在標題列中取得一些空間,並且是更以鍵盤為中心的使用者,則完全隱藏視窗控制項

程式碼編輯

「下一步編輯建議」正式推出

設定github.copilot.nextEditSuggestions.enabled

我們很高興宣布「下一步編輯建議」(NES) 正式推出!此外,我們也對 NES 的整體使用者體驗進行了多項改進

  • 讓編輯建議更精簡、減少對周圍程式碼的干擾,並更容易一目瞭然。
  • 更新邊界指示器,以確保所有建議都更容易注意到。

AI 編輯改良

我們在產生 AI 編輯時進行了一些較小的調整

  • 在使用 AI 編輯改寫檔案時,靜音編輯器外的診斷事件。先前,我們已在此情境中停用波浪線。這些變更減少了「問題」面板中的閃爍,並確保我們不會發出快速修正程式碼動作的要求。

  • 當您決定保留 AI 編輯時,我們現在會明確儲存檔案。

以工具為基礎的編輯模式

設定chat.edits2.enabled

我們正在變更聊天中的編輯模式的運作方式。新的編輯模式使用與代理人模式相同的方法,讓模型呼叫工具來編輯檔案。這種對齊的優點是,它讓您能夠在所有三種模式之間無縫切換,同時大幅簡化這些模式在底層的運作方式。

缺點是,這表示新模式僅適用於與代理人模式相同的縮減模型集,也就是說,支援工具呼叫且經過測試以確保我們在涉及工具時可以獲得良好體驗的模型。您可能會注意到編輯模式清單中缺少 o3-miniClaude 3.7 (Thinking) 等模型。如果您想繼續使用這些模型進行編輯,請停用 chat.edits2.enabled 設定,以還原為先前的編輯模式。切換模式時,系統會要求您清除工作階段。

我們瞭解到,當使用工具時,提示在不同模型之間取得一致結果的難度較高,但我們正在努力為編輯 (和代理人) 模式啟用這些模型。

此設定將逐步為 VS Code 穩定版中的使用者啟用。

內嵌建議語法醒目提示

設定editor.inlineSuggest.syntaxHighlightingEnabled

透過此更新,內嵌建議的語法醒目提示現在預設為啟用。請注意,在下列螢幕擷取畫面中,程式碼建議已套用語法著色。

Screenshot of the editor, showing that syntax highlighting is enabled for ghost text.

如果您偏好不使用語法醒目提示的內嵌建議,可以使用 editor.inlineSuggest.syntaxHighlightingEnabled 停用它。

Screenshot of the editor showing that highlighting for ghost text is turned off.

以 Tree-Sitter 為基礎的語法醒目提示 (預覽)

設定editor.experimental.preferTreeSitter.csseditor.experimental.preferTreeSitter.regex

在先前使用 Tree-Sitter 進行語法醒目提示的基礎上,我們現在支援 CSS 檔案和 TypeScript 中規則運算式的實驗性、以 Tree-Sitter 為基礎的語法醒目提示。

筆記本

Jupyter 筆記本文件的最低版本至 4.5

新筆記本的 nbformat 預設版本已從 4.2 提升至 4.5,現在將為筆記本的每個儲存格設定 id 欄位,以協助計算差異。您也可以在筆記本的原始 JSON 中將 nbformat_minor 設定為 5,以手動更新現有的筆記本。

AI 筆記本編輯改良

筆記本的 AI 驅動編輯支援 (包括代理人模式) 現在已在穩定版中提供。此功能在上個月以預覽功能新增至 VS Code Insiders

您現在可以使用聊天來編輯筆記本檔案,其直覺式體驗與編輯程式碼檔案相同:修改多個儲存格中的內容、插入和刪除儲存格,以及變更儲存格類型。此功能在使用資料科學或文件筆記本時提供無縫工作流程。

新的筆記本工具

VS Code 現在提供專門的工具,可以直接從聊天建立新的 Jupyter Notebook。此工具會根據您的查詢規劃並建立新的 Notebook。

在代理人模式或編輯模式中使用新的 Notebook 工具 (請務必啟用改良的編輯模式,使用 chat.edits2.enabled)。如果您使用詢問模式,請在聊天提示中輸入 /newNotebook 以建立新的 Notebook。

瀏覽 AI 編輯

使用差異工具列來逐一查看和檢閱跨儲存格的每個 AI 編輯。

還原 AI 編輯

當焦點放在儲存格容器上時,還原命令會還原 Notebook 層級的完整 AI 變更集。

聊天中的文字和影像輸出支援

您現在可以直接將 Notebook 儲存格輸出 (例如文字、錯誤和影像) 新增至聊天作為內容。這可讓您在使用詢問、編輯或代理人模式時參考輸出,讓語言模型更容易理解並協助您處理 Notebook 內容。

使用將儲存格輸出新增至聊天動作,可透過三點選單或按一下滑鼠右鍵輸出取得。

將儲存格錯誤輸出附加為聊天內容

將儲存格輸出影像附加為聊天內容

協助工具

聊天代理人模式改進

現在,當工具叫用期間需要手動動作時,您會收到通知,例如「在終端機中執行命令」。此資訊也包含在相關聊天回應的 ARIA 標籤中,增強螢幕閱讀器使用者的可存取性。

此外,代理人模式中提供新的協助工具說明對話方塊,說明使用者可以從此功能期待什麼,以及如何有效地瀏覽此功能。

聊天編輯動作的協助工具訊號

當您保留或還原 AI 產生的編輯時,VS Code 現在提供聽覺訊號。這些訊號可透過 accessibility.signals.editsKeptaccessibility.signals.editsUndone 進行設定。

改良建議控制項的 ARIA 標籤

建議控制項項目的 ARIA 標籤現在包含更豐富且更具描述性的資訊,例如建議的類型 (例如,方法或變數)。此資訊先前僅適用於透過圖示觀看的使用者。

原始碼控制

參考選擇器改進

設定git.showReferenceDetails

在此里程碑中,我們改進了參考選擇器,該選擇器用於各種原始檔控制作業,例如簽出、合併、變基或刪除分支。更新的參考選擇器包含上次認可的詳細資訊 (作者、認可訊息、認可日期),以及本機分支的超前/落後資訊。此額外內容將協助您為各種作業選擇正確的參考。

切換 git.showReferenceDetails 設定,即可隱藏其他資訊。

Screenshot of the source control references picker showing a list of git branches with details of the last commit, and ahead/behind information.

存放庫狀態列項目

包含多個存放庫的工作區現在具有原始檔控制提供者狀態列項目,該項目會在分支選擇器左側顯示作用中的存放庫。新的狀態列項目提供額外內容,讓您在編輯器之間瀏覽以及使用原始檔控制檢視時,知道哪個是作用中的存放庫。

若要隱藏原始檔控制提供者狀態列項目,請在狀態列上按一下滑鼠右鍵,然後從內容選單中取消選取原始檔控制提供者

Screenshot showing the repository status bar item for workspaces that contain more than one repository.

Git blame 編輯器裝飾改進

我們聽取了意見反應,指出在輸入時,「尚未認可」編輯器裝飾無法提供太多價值,而且更像是干擾。從此里程碑開始,「尚未認可」編輯器裝飾僅在您使用鍵盤或滑鼠在程式碼庫中瀏覽時顯示。

認可輸入游標自訂

在此里程碑中,感謝社群的貢獻,我們已將 editor.cursorStyleeditor.cursorWidth 設定新增至原始檔控制輸入方塊所遵循的設定清單中。

終端機

代理人模式的可靠性

允許代理人模式在終端機中執行命令的工具進行了許多可靠性和相容性改進。您應該預期工具卡住或命令在沒有輸出的情況下完成的情況會減少。

其中一項較大的變更是引入了「豐富」品質 殼層整合 的概念,相對於「基本」和「無」。隨附於 VS Code 的殼層整合腳本通常都應啟用豐富的殼層整合,這在終端機工具中執行 (以及一般終端機使用) 提供最佳體驗。您可以將滑鼠游標停留在終端機索引標籤上,以檢視殼層整合品質。

終端機 IntelliSense 改進 (預覽)

增強 code CLI 的 IntelliSense

IntelliSense 現在支援 codecode-insiderscode-tunnel CLI 的子命令。例如,輸入 code tunnel 會顯示可用的子命令,例如 helpkillprune,每個子命令都有描述性資訊。

Screenshot of the terminal window, showing code tunnel has been typed. The suggest widget shows subcommands like help, kill, prune, and others, with descriptions for each command.

我們也為以下項目新增了選項建議

  • --uninstall-extension
  • --disable-extension
  • --install-extension

這些會顯示已安裝擴充功能的清單,以協助完成命令。

Screenshot of the VSCode terminal with code --uninstall-extension. A list of available extensions is displayed, including vscode-eslint and editorconfig.

此外,code --locate-shell-integration-path 現在提供殼層特定的選項,例如 bashzshfishpwsh

Screenshot of the VSCode terminal showing a command input: code --locate-shell-integration-path with a dropdown menu listing shell options bash, fish, pwsh, and zsh.

全域命令自動重新整理

當系統 bin 目錄中偵測到變更時,終端機現在會自動重新整理其全域命令清單。這表示新安裝的 CLI 工具 (例如,在執行 npm install -g pnpm 之後) 將立即顯示在完成項中,而無需重新載入視窗。

先前,新工具的完成項不會出現,因為快取,直到手動重新載入視窗。

選項值內容

終端機建議現在會顯示關於預期選項值的內容資訊,協助您更輕鬆地完成命令。

Screenshot of the terminal showing a command in progress: npm install --omit. The terminal suggest widget displays  to indicate that's the option that's expected.

fish 殼層的豐富完成項

在上一個版本中,我們為 bash 和 zsh 新增了詳細的命令完成項。在此反覆運算中,我們也將該支援擴充到 fish。完成詳細資訊來自殼層的文件或內建說明命令。

例如,在 fish 中輸入 jobs 會顯示使用資訊和選項

Screenshot of the Visual Studio Code Terminal with a fish terminal showing a user has typed jobs. The suggest widget shown provides information about the jobs command with detailed usage examples and options.

建議中的檔案類型圖示

終端機中的建議現在包含不同檔案類型的特定圖示,讓您更容易一目了然地區分指令碼和二進位檔。

Screenshot of the terminal, showing suggestions for various script files, including code.sh, code-cli.sh, and code-server.js. Icons indicate the specific file type.

內嵌建議詳細資訊

內嵌建議 (在終端機中顯示為虛影文字) 會繼續顯示在建議清單的頂端。在此版本中,我們已將命令詳細資訊新增至這些項目,以便在接受它們之前提供更多內容。

Screenshot of the terminal, showing the Block command as ghost text in the terminal. The first suggestion is block and it contains usage information.

新的簡化和詳細索引標籤懸停

預設情況下,終端機索引標籤現在顯示的詳細資訊少得多。

Screenshot of the simple hover showing the terminal name, PID, command line, shell integration quality and actions

若要檢視所有內容,懸停底部有一個顯示詳細資訊按鈕。

Screenshot of the detailed hover showing extensions that contribute to the environment and detailed shell integration diagnostics

已簽署的 PowerShell 殼層整合

殼層整合 PowerShell 指令碼現在已簽署,這表示當使用預設 PowerShell 執行原則 RemoteSigned 時,Windows 上的殼層整合現在應該會自動開始運作。您可以在此處閱讀更多關於殼層整合優點的資訊。

終端機殼層類型

在此反覆運算中,我們已完成終端機殼層 API,允許擴充功能查看使用者終端機中的目前殼層類型。訂閱事件 onDidChangeTerminalState 可讓您查看使用者終端機中殼層類型的變更。例如,殼層可能會從 zsh 變更為 bash。

目前可識別的所有殼層清單都列在此處

遠端開發

Linux 舊版伺服器支援已結束

從 1.99 版開始,您將無法再連線到這些伺服器。如我們的 1.97 版本 中所述,需要更多時間才能完成移轉至支援的 Linux 發行版的使用者可以提供 glibclibstdc++ 的自訂組建作為因應措施。關於此因應措施的更多資訊,請參閱 FAQ 區段。

企業

macOS 裝置管理

除了 Windows 之外,VS Code 現在也支援 macOS 上的裝置管理。這允許系統管理員從集中式管理系統 (例如 Microsoft Intune) 推送原則。

請參閱 企業支援 文件以取得更多詳細資訊。

擴充功能貢獻

Python

更好地支援 Pylance 的可編輯安裝

Pylance 現在支援解析以可編輯模式安裝的套件 (pip install -e .) 的匯入路徑,如 PEP 660 所定義,這可在這些案例中實現改良的 IntelliSense 體驗。

此功能透過 python.analysis.enableEditableInstalls 啟用,我們計劃在本月開始將其作為預設體驗推出。如果您遇到任何問題,請在 Pylance GitHub 存放庫 中回報。

使用 Pylance 更快速且更可靠的診斷體驗 (實驗性)

我們開始推出一項變更,以改進 Pylance 診斷在使用擴充功能發行版本時的準確性和回應性。這對於具有多個開啟或最近關閉檔案的案例特別有幫助。

如果您不想等待推出,可以設定 python.analysis.usePullDiagnostics。如果您遇到任何問題,請在 Pylance GitHub 存放庫 中回報。

Pylance 自訂 Node.js 引數

有一個新的 python.analysis.nodeArguments 設定,可讓您在使用 python.analysis.nodeExecutable 時,將自訂引數直接傳遞至 Node.js。預設情況下,它設定為 "--max-old-space-size=8192",但您可以修改它以符合您的需求 (例如,在使用大型工作區時為 Node.js 分配更多記憶體)。

此外,當將 python.analysis.nodeExecutable 設定為 auto 時,Pylance 現在會自動下載 Node.js。

擴充功能撰寫

Terminal.shellIntegration 調整

Terminal.shellIntegration API 現在只會在發生命令偵測時亮起。先前,這應該僅在回報目前工作目錄時運作,這導致 TerminalShellIntegration.executeCommand 無法良好運作。

此外,TerminalShellIntegration.executeCommand 現在的行為將更一致,並追蹤單行命令列最終執行多個命令的多個「子執行」。這取決於代理人模式區段中的可靠性中提及的豐富殼層整合。

建議的 API

工作問題比對器狀態

我們新增了 建議的 API,以便擴充功能可以監控工作問題比對器何時開始和完成處理行。使用 taskProblemMatcherStatus 啟用它。

將影像傳送至 LLM

在此反覆運算中,我們新增了 建議的 API,以便擴充功能可以附加影像並將視覺請求傳送至語言模型。附件必須是影像的原始、非 base64 編碼的二進位資料 (Uint8Array)。最大影像大小為 5MB。

查看 此 API 提案問題 以查看使用範例,並隨時掌握此 API 的狀態。

工程

使用 Marketplace 中的新 /latest API 檢查擴充功能更新

在幾個里程碑前,我們在 vscode-unpkg 服務中引入了新的 API 端點,以檢查擴充功能更新。Marketplace 現在支援相同的端點,而 VS Code 現在正在使用此端點來檢查擴充功能更新。這是在實驗背後,將分階段向使用者推出。

感謝您

最後但同樣重要的是,非常感謝 VS Code 的貢獻者。

問題追蹤

對我們的問題追蹤的貢獻

提取要求

vscode 的貢獻

vscode-css-languageservice 的貢獻

vscode-custom-data 的貢獻

vscode-extension-samples 的貢獻

vscode-extension-telemetry 的貢獻

vscode-js-debug 的貢獻

vscode-mypy 的貢獻

vscode-prompt-tsx 的貢獻

vscode-pull-request-github 的貢獻

vscode-python-debugger 的貢獻

vscode-test 的貢獻

language-server-protocol 的貢獻

python-environment-tools 的貢獻