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

2025 年 11 月(版本 1.107)

釋出日期:2025 年 12 月 10 日

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


VS Code 1.107 引入了多智慧體編排功能 - 將 GitHub Copilot 和自定義智慧體結合使用,以加快開發速度並實現並行開發。

  • 智慧體總部(Agent HQ)為您提供了一個集中管理所有智慧體的地方,讓 Copilot 和自定義智慧體能夠跨任務協同工作。
  • 後臺智慧體在隔離的工作空間中執行,不會干擾您正在進行的工作,並支援同時執行多個後臺任務。
  • 將工作委派給本地、後臺或雲智慧體,以確保您的工作流程不間斷地進行。

VS Code November 2025 release image.

編碼愉快!


線上閱讀這些發行說明,請訪問 code.visualstudio.com 上的更新
Insiders:下載每夜 Insiders 版本,以便在最新更新發布後立即試用。


代理

整合智慧體會話和聊天

設定chat.viewSessions.enabled

智慧體是代表您自主執行編碼任務的關鍵。無論智慧體是在 VS Code 本地執行、在後臺使用 CLI 執行、在雲端執行還是透過第三方擴充套件執行,聊天介面都是與智慧體互動的主要方式。在我們的文件中瞭解有關在 VS Code 中使用智慧體的更多資訊。

在此迭代中,我們將智慧體回話整合到“聊天”檢視中,為您提供了與智慧體協作的統一體驗。您可以一目瞭然地檢視會話的狀態、進度和檔案更改統計資訊。您可以存檔或取消存檔會話,以保持會話列表易於管理。

如果您在工作空間中工作,會話列表僅顯示與當前工作空間相關的會話。如果您在空視窗中,則顯示跨所有工作空間的所有會話。

當您從列表中選擇一個會話時,它會在側邊欄的“聊天”檢視中開啟該會話,允許您檢視完整的對話歷史記錄。如果您願意,您也可以將會話作為編輯器標籤頁或在新視窗中開啟。右鍵單擊會話以檢視包含這些選項的上下文選單。

Screenshot showing the context menu of a session in the sessions list.

您可以透過配置 chat.viewSessions.enabled 來停用“聊天”檢視中的會話列表。

由於此更改,我們預設停用了獨立的智慧體會話檢視。如果您更喜歡繼續使用獨立檢視,可以透過 chat.agentSessionsViewLocation 重新啟用它。在未來的版本中,我們計劃完全移除獨立檢視。

緊湊檢視

當“聊天”檢視較窄時,當您開始新的聊天會話時,會話列表會顯示在“聊天”檢視內。預設情況下,列表顯示最近的三個未存檔的會話。

Screenshot showing the recent sessions in the Chat view.

選擇顯示所有會話以檢視包含搜尋和過濾選項的完整會話列表。

Screenshot showing all sessions in the Chat view.

您可以使用該操作來切換智慧體會話側邊欄,以獲得更寬廣的所有會話體驗。

並排檢視

一旦“聊天”檢視足夠寬(例如,當您將其最大化時),智慧體會話列表會自動與“聊天”檢視並排顯示。此檢視允許您在不丟失上下文的情況下快速瀏覽會話。您也可以使用相應的控制元件手動切換此並排檢視。

Screenshot showing all sessions side-by-side with the Chat view.

要限制會話列表,您可以按提供程式或狀態過濾會話。VS Code 會保留此過濾器。

方向設定

設定chat.viewSessions.orientation

預設情況下,當“聊天”檢視足夠寬或您手動切換會話列表時,會話列表會與“聊天”檢視並排顯示。您可以使用 chat.viewSessions.orientation 設定更改此行為。

  • auto(預設值):如果寬度允許,則並排顯示會話;否則,在空聊天上方顯示會話。
  • stacked:始終在空聊天上方顯示會話。
  • sideBySide:如果寬度允許,則並排顯示會話列表;否則,隱藏會話列表。

關閉時本地智慧體回話保持活動狀態

以前,當您關閉本地聊天會話時,正在執行的智慧體請求會被取消。這限制了本地智慧體對於長時間執行任務或同時執行多個任務的實用性。

現在,本地智慧體即使在未在聊天編輯器或“聊天”檢視中開啟時也會繼續在後臺執行。您可以在會話列表中檢視正在執行的智慧體的狀態,並且可以隨時切換回會話以檢視詳細進度。

瞭解有關在聊天中使用本地智慧體的更多資訊。

在後臺或雲智慧體中繼續任務

本地智慧體非常適合 VS Code 中的互動式會話,您可以在其中與智慧體來回交流。這對於頭腦風暴、執行探索性任務或制定實施計劃很有用。一旦您有了清晰的計劃,您就可以將任務交給後臺或雲智慧體來自主執行。

在此迭代中,我們改進了體驗,以使用後臺或雲智慧體繼續本地聊天。在整個 UI 中,您現在可以使用新的繼續使用選項無縫地繼續任務。

當您將本地聊天繼續到後臺或雲智慧體時,當前聊天上下文會傳遞過去,並且原始會話在移交後會被存檔。

  • 聊天檢視

    Screenshot showing the 'Continue in' button in the Chat view.

  • 計劃 Agent

    Screenshot showing the 'Start implementation' button when using the Plan agent.

  • 未命名提示檔案

    Screenshot showing the 'Continue in' button in an untitled prompt file.

使用 Git 工作樹隔離後臺智慧體

後臺智慧體(以前稱為 CLI 智慧體)旨在在後臺自主執行,讓您在專注於其他工作時可以解除安裝任務。如果多個後臺智慧體同時執行並修改工作空間中的相同檔案,可能會導致衝突。

在此迭代中,我們透過引入對 Git 工作樹的支援來增強後臺智慧體的隔離。當您建立新的後臺智慧體時,您可以選擇是在當前工作空間中執行它還是在專用的 Git 工作樹中執行它。

Screenshot showing the Git Worktree dropdown when creating a background agent.

當您在工作樹中執行後臺智慧體時,智慧體會自動為會話建立一個新的 Git 工作樹,將其更改隔離在單獨的資料夾中。這允許您同時執行多個後臺智慧體而不會發生衝突。

當智慧體完成任務後,您可以輕鬆地檢視並將工作樹中後臺智慧體所做的更改合併回您的主工作空間。我們還添加了一個新操作,可以直接將工作樹中的更改應用到您的工作空間中。

Screenshot of a background agent, showing the file changes that occurred in the worktree.

瞭解有關在 VS Code 中使用後臺智慧體的更多資訊。

為後臺智慧體新增上下文

後臺智慧體現在支援多種上下文附件型別。您可以將選擇內容、問題、符號、搜尋結果、Git 提交等附加到任何提示。這使得構建更豐富、更精確的提示成為可能,從而解鎖更復雜和靈活的工作流程。例如,附加一個報告的問題,並要求智慧體修復它,而無需手動指定檔案路徑和行號。

Screenshot of a background agent session with a symbol and error attached as context.

在 GitHub 組織內共享自定義智慧體(實驗性)

設定github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents

以前,您只能在工作空間或使用者級別定義自定義智慧體。如果要在整個組織中共享自定義智慧體,則必須手動將智慧體檔案分發給每個使用者。

在此版本中,您現在可以在 GitHub 帳戶的組織級別定義自定義智慧體。此實驗性功能使您可以在聊天中將組織特定的智慧體與您的個人智慧體一起使用。

要啟用此功能,請將 github.copilot.chat.customAgents.showOrganizationAndEnterpriseAgents 設定為 true。啟用後,您的組織建立的自定義智慧體會顯示在 VS Code 的“智慧體”下拉列表中。

要了解有關為組織建立自定義智慧體的更多資訊,請參閱 GitHub 文件中的建立自定義智慧體

將自定義智慧體與後臺智慧體一起使用(實驗性)

設定github.copilot.chat.cli.customAgents.enabled

您現在可以將自己的自定義智慧體引入後臺智慧體。啟用後,在 .github/agents 資料夾中定義的自定義智慧體將顯示在您的智慧體列表中,允許您利用針對您的工作流程和要求量身定製的智慧體。

此實驗性功能可以透過 github.copilot.chat.cli.customAgents.enabled 設定啟用。

Screenshot showing a background agent session with a custom Planner agent in the Agents dropdown list.

瞭解有關定義自定義智慧體的更多資訊,請參閱我們的文件。

智慧體工具重組

我們重組了智慧體工具結構,以實現與 GitHub 自定義智慧體的更好相容性。這使您可以更輕鬆地在 VS Code 和 GitHub 環境中重用自定義智慧體,而無需單獨配置。

作為此更改的一部分,我們重新命名了某些現有的工具引用及其所屬的工具集。智慧體檔案中的現有工具引用將繼續有效,但您會看到一個“程式碼操作”用於將它們重新命名為最新的推薦格式。這可確保您的智慧體配置遵循當前的最佳實踐,並保持跨平臺的相容性。

將智慧體作為子智慧體執行(實驗性)

設定chat.customAgentInSubagent.enabled

當智慧體需要解決複雜問題時,它可以將任務委託給子智慧體。子智慧體獨立於主聊天會話工作,並有自己的上下文視窗。這有助於主對話保持專注於高層目標,並有助於管理上下文視窗限制。

在此版本中,您可以透過自定義智慧體自定義子智慧體。自定義智慧體允許您為 AI 定義專門的角色,根據特定的任務或領域定製其行為。例如,程式碼審查智慧體專注於審查程式碼而不是進行程式碼更改。

要將自定義智慧體用作子智慧體,請按照以下步驟操作

  1. 啟用 chat.customAgentInSubagent.enabled

  2. 如果尚未建立自定義智慧體,請使用聊天:新建自定義智慧體命令建立一個。

  3. 在聊天中,詢問模型“您可以使用哪些子智慧體?”以檢視可用子智慧體列表。您的自定義智慧體應出現在列表中。

  4. 輸入符合自定義智慧體要求的提示。語言模型使用自定義智慧體描述和引數來確定是否應將其用於您的請求。

    Screenshot of a chat conversation that uses a custom agent as subagent.

要防止自定義智慧體被用作子智慧體,請在 *.agent.md 檔案中將元資料屬性 infer 設定為 false

瞭解有關在聊天中使用子智慧體的更多資訊。

重用 Claude 技能(實驗性)

設定chat.useClaudeSkills

技能由 Claude Code 引入,是智慧體可以按需載入的功能。每個技能都帶有一個簡短的描述來宣傳該技能。如果有用,智慧體可以決定閱讀完整的技能說明。技能說明可以附帶支援檔案,例如指令碼和模板。載入後,技能說明和支援檔案將成為主對話上下文的一部分。

VS Code 現在可以重用您現有的技能。啟用 chat.useClaudeSkills 設定以允許智慧體發現和使用您的技能。

Screenshot that shows reusing Claude skills in chat in VS Code.

VS Code 支援位於 ~/.claude/skills/skill-name/SKILL.md 的個人技能以及位於工作空間資料夾中 ${workspaceFolder}.claude/skills/skill-name/SKILL.md 的專案技能。

檢查 SKILL.md 檔案標頭中是否包含宣傳該技能的 description 屬性。請注意,VS Code 不支援 allowed-tools 屬性。

在智慧體模式下,確保您已啟用 read-file 工具,並詢問“您有什麼技能?”以找出是否找到了技能。接下來,提出一個可以用技能回答的請求。如果智慧體不使用該技能,請改進技能描述或提示模型使用技能。

聊天

行內聊天使用者體驗

設定inlineChat.enableV2

我們繼續改進行內聊天體驗,使其與 VS Code 中的其他聊天體驗保持一致,並針對快速的單檔案程式碼更改進行最佳化。

以前,您也可以使用行內聊天進行一般性問題和討論。現在,行內聊天已針對當前檔案中的程式碼更改進行了最佳化。對於行內聊天無法處理的任務,您會自動升級到“聊天”檢視,其中會使用相同的模型和相同的上下文重播您的提示。

inlineChat.enableV2 設定(預覽版)現在僅控制擴充套件如何處理您的提示。這仍在開發中,但可以放心試用。

語言模型編輯器

VS Code 中的聊天支援多種語言模型,這些模型由 GitHub Copilot、第三方擴充套件提供,或透過自帶金鑰 (BYOK) 提供程式提供。管理所有這些模型可能具有挑戰性,尤其是當您可以訪問不同提供程式的許多模型時。瞭解有關在 VS Code 中使用語言模型的更多資訊。

語言模型編輯器提供了一個集中位置來檢視和管理 VS Code 中可用於聊天的所有可用語言模型。您可以從聊天中的模型選擇器或透過命令面板使用聊天:管理語言模型開啟它。

編輯器列出了所有可供您使用的模型,顯示了關鍵資訊,例如模型功能、上下文大小、計費詳細資訊和可見性狀態。預設情況下,模型按提供程式分組,但您也可以按可見性分組。

將滑鼠懸停在模型名稱或上下文大小上可檢視詳細資訊,包括模型 ID、版本、狀態和令牌分解。

您可以使用以下方法搜尋和過濾模型

  • 帶有高亮顯示的文字搜尋
  • 提供程式過濾器:@provider:"OpenAI"
  • 功能過濾器:@capability:tools@capability:vision@capability:agent
  • 可見性過濾器:@visible:true/false

管理模型可見性

隨著越來越多模型可供您使用,模型選擇器可能會變得令人不知所措且難以導航。在“語言模型”編輯器中,您可以切換每個模型的可見性以控制哪些模型出現在模型選擇器中。將滑鼠懸停在模型上並選擇眼睛圖示以切換其可見性。

從已安裝的提供程式新增模型

在“語言模型”編輯器中,您可以使用新增模型...新增更多模型。這將顯示所有已安裝模型提供程式的下拉列表。選擇一個提供程式以對其進行配置,並將其模型新增到 VS Code 中的聊天中。

這使得啟用您已安裝的其他模型提供程式變得容易,而無需離開“語言模型”編輯器。透過選擇提供程式行上的齒輪圖示來訪問提供程式管理。

URL 和域自動批准

在此迭代中,我們增強了用於獲取工具的自動批准 URL 的安全性和使用者體驗。當模型決定從您未明確要求的 URL 獲取內容時,您會看到新的兩步批准體驗

  • 批准獲取 URL 的初始請求

    此步驟可確保您信任正在聯絡的域,並可以防止將敏感資料傳送到不受信任的站點。

    Screenshot showing a confirmation to approve the initial fetch request.

    您可以選擇一次性批准或自動批准對特定 URL 或域的未來請求。

    預批准遵循“受信任域”功能。如果域在那裡列出,您將自動被批准對該域發出請求,並推遲到響應審查步驟。

  • 批准在聊天中使用獲取的內容和後續工具呼叫

    此步驟可確保您在將獲取的內容新增到聊天或傳遞給其他工具之前對其進行審查,從而防止潛在的提示注入攻擊。

    例如,您可能會批准從知名站點(如 GitHub.com)獲取內容的請求。但是,由於內容(例如問題描述或評論)是使用者生成的,因此它可能包含有害內容,可能會操縱模型的行為。

瞭解有關 VS Code 聊天中的URL 和域批准的更多資訊。

更強大的獲取工具

#fetch 智慧體工具現在可以更有效地處理動態網頁內容。除了靜態 HTML 之外,它還可以檢索動態內容。依賴 JavaScript 載入內容的網站,例如單頁應用程式 (SPA)、現代文件站點或 Jira 等問題跟蹤系統,不再返回不完整或空的結果。

獲取工具會等待 JavaScript 執行和內容載入,然後再檢索頁面,從而確保捕獲動態呈現的內容。此改進使得該工具在實際場景中更加實用。

當您使用 #fetch 後跟 URL 時,模型會訪問您在瀏覽器中看到的實際內容,而不僅僅是初始 HTML 骨架。這意味著在詢問有關網頁的問題或請求模型分析線上內容時,資訊更準確和完整。

文字搜尋工具可以搜尋忽略的檔案

#textSearch 工具現在支援搜尋 files.excludesearch.exclude 設定或 .gitignore 檔案(例如 node_modules 資料夾)指定的忽略檔案/資料夾。當沒有結果時,它還會向智慧體返回有關忽略檔案/資料夾的提示,允許智慧體轉身並啟用在這些忽略檔案/資料夾中的搜尋。

聊天中的豐富終端輸出

在終端中執行響應上使用切換輸出現在會在聊天中渲染一個完整的、只讀的 xterm.js 終端中的輸出。這種方法的一個好處是,VS Code 會保留捕獲的輸出,即使底層終端已退出,因此您可以隨時重新開啟以前的執行並檢視命令執行時的終端輸出。

聊天終端現在採用整合終端的顏色主題以改善 ANSI 顏色對比度。當輸出獲得焦點時,螢幕閱讀器使用者可以開啟可訪問檢視 ⌥F2(Windows Alt+F2,Linux Shift+Alt+F2,從而輕鬆進行審查和導航。

瞭解有關在聊天中使用終端命令的更多資訊。

聊天終端中的命令狀態詳細資訊

聊天終端訊息現在在命令裝飾上懸停時顯示命令開始時間、持續時間和退出程式碼。

Screenshot of the terminal showing npm install candy is run by the agent and the command decoration hover displays command execution time and status.

允許在此會話中執行所有終端命令

為了最佳化您的聊天體驗,同時保持安全性和控制,終端工具添加了一個新的自動批准選項,允許會話中的所有未來命令。當您開始新會話時,終端命令將遵循現有的批准配置。

Screenshot that shows the Allow All Commands in this Session option when approving a terminal command in chat.

聊天終端操作的鍵盤快捷方式

您現在可以透過專用鍵盤快捷方式聚焦最近的聊天終端 ⇧⌥⌘T(Windows、Linux Ctrl+Shift+Alt+T或切換其展開狀態 ⇧⌥⌘O(Windows、Linux Ctrl+Shift+Alt+O

自定義智慧體的鍵盤快捷方式

每個自定義智慧體現在在命令列表中都有一個單獨的操作,您可以為它們分別繫結鍵盤快捷方式。例如,如果您定義了一個“程式碼審查器”自定義智慧體,命令面板中將有一個聊天:開啟聊天(程式碼審查器智慧體)命令,您可以為其繫結鍵盤快捷方式。

Screenshot of custom agent commands in the Command Palette.

Azure 模型提供程式:Entra ID 作為預設身份驗證

設定github.copilot.chat.azureAuthType

預設情況下,Azure 模型提供程式現在在連線到自帶金鑰 (BYOK) 模型時使用 Entra ID 身份驗證,從而提供更高的安全性和更簡化的登入體驗。

如果您更喜歡使用 API 金鑰進行身份驗證,請將 github.copilot.chat.azureAuthType 設定為 apiKey 而不是 entraId(預設值)。

聊天檢視外觀改進

我們對“聊天”檢視的外觀進行了幾項改進,以提高可讀性和可用性

  • 聊天標題:

    當您開啟聊天時,頂部會出現一個新的標題控制元件,向您顯示聊天的標題,併為您提供快速返回空聊天的方法。透過 chat.viewTitle.enabled 設定配置此行為。

  • 歡迎橫幅:

    如果您喜歡在開啟新聊天時獲得更簡約的體驗,新設定 chat.viewWelcome.enabled 允許您隱藏圖示和歡迎文字。

    Screenshot of empty chat view with the icon and welcome text hidden.

  • 恢復以前的聊天會話:

    重新啟動或開啟不同的工作空間後開啟聊天時,預設情況下會恢復以前的會話。您可以透過 chat.viewRestorePreviousSession 設定更改此行為,並選擇始終從空聊天開始。

敏感檔案編輯的差異

當聊天嘗試編輯敏感檔案(例如 settings.jsonpackage.json)時,您會收到通知,並被要求在應用更改之前批准更改。您可以透過 chat.tools.edits.autoApprove 設定配置哪些檔案被視為敏感檔案。

以前,您會看到模型提出的原始編輯,這可能難以理解。現在,我們向您顯示擬議更改的差異,使審查和批准編輯變得更容易。

Screenshot showing a diff of proposed changes to  in chat.

瞭解有關在聊天中編輯敏感檔案的更多資訊。

可摺疊的推理和工具輸出(實驗性)

設定chat.agent.thinkingStylechat.agent.thinking.collapsedTools

藉助語言模型推理和智慧體工具輸出,聊天對話可以很快變得很長且難以跟進。在上次迭代中,我們已經致力於改進如何使用 chat.agent.thinkingStyle 設定在聊天中顯示思考令牌。

在此迭代中,我們透過為非推理聊天輸出(例如工具呼叫)引入可摺疊聊天部分來進一步最佳化聊天體驗。預設情況下,連續的工具呼叫現在會摺疊以減少視覺干擾。

可摺疊項(大多數工具和推理文字)將進行彙總,併為每個可摺疊部分提供 AI 生成的標題。

Screenshot showing multiple tool calls collapsed in a collapsible section.

MCP

  • 我們添加了對最新 MCP 規範的支援(顯示更多)。
  • 無需額外設定即可使用 GitHub 遠端 MCP 伺服器(顯示更多)。

支援最新 MCP 規範

VS Code 支援最新修訂的 MCP 規範 2025-11-25。這包括(但不限於)

這些改進是對 VS Code 已支援的 2025-11-25 草稿功能的補充,例如 WWW-Authenticate 範圍同意、客戶端 ID 元資料文件身份驗證流以及工具、資源和伺服器的圖示。您可以在 MCP 網站上檢視 2025-11-25 草稿的更改日誌。

瞭解有關在 VS Code 中使用 MCP 伺服器的更多資訊。

GitHub Copilot Chat 提供的 GitHub MCP 伺服器(預覽版)

設定github.copilot.chat.githubMcpServer.enabled

GitHub 遠端 MCP 伺服器現在作為內建 MCP 伺服器在 GitHub Copilot Chat 擴充套件中提供,可與 GitHub 儲存庫和服務無縫整合。此整合提供多項好處

  • 與其他 Copilot 智慧體平臺(例如 Copilot CLI 和 Copilot Cloud Agent)保持一致,這些平臺已使用 GitHub MCP 伺服器
  • 重用現有的 GitHub 身份驗證狀態,無需額外的身份驗證提示
  • 透明支援不同的 GitHub MCP 端點,包括 GHE.com

要啟用 GitHub MCP 伺服器,請將 github.copilot.chat.githubMcpServer.enabled 設定為 true。啟用後,當您使用智慧體時,伺服器會自動出現在工具選擇器中。這使您無需額外配置即可詢問有關 GitHub 問題、拉取請求和其他儲存庫資訊的問題。

GitHub MCP 伺服器支援透過以下設定進行自定義

注意:此功能目前處於預覽階段,需要透過上述設定顯式選擇加入。我們計劃在未來的版本中預設啟用它,使其在需要時可用,而在不需要時不會干擾。

輔助功能

聊天確認的鍵盤批准

當智慧體提示確認時,您現在可以使用鍵盤透過 ⌘Enter(Windows、Linux Ctrl+Enter進行批准。

編輯器體驗

更多支援以在選擇器中指示已開啟的視窗

我們在開啟最近選擇器中添加了一個指示器,用於指示工作空間是否已在 VS Code 視窗中開啟。

Screenshot of recently opened workspaces.

當前活動視窗的指示器與其他開啟的視窗略有不同,以使區別更清晰。未在任何視窗中開啟的條目沒有圖示。

指示哪個視窗處於活動狀態的指示器也已應用於視窗選擇器。

macOS:滑鼠滑動導航

設定workbench.editor.swipeToNavigate

在 macOS 上,您現在可以使用觸控板上的 3 指滑動手勢在編輯器之間導航。向左或向右滑動可在任何編輯器組中最近使用的編輯器之間導航。使用 workbench.editor.swipeToNavigate 設定啟用此功能。

注意:我們目前僅支援 3 指滑動手勢。確保您的觸控板滑動設定配置如下才能使其正常工作

  • 在頁面之間滑動:用三根手指向左或向右滾動。
  • 在全屏應用程式之間滑動:用四根手指向左或向右滑動。

按需編輯器懸停彈出視窗

設定editor.hover.enabled

您現在可以停用編輯器中的自動懸停彈出視窗,同時保留使用鍵盤修飾符按需觸發懸停資訊的功能。editor.hover.enabled 設定現在支援三個值:onoffonKeyboardModifier

當設定為 onKeyboardModifier 時,懸停資訊僅在您將 editor.multiCursorModifier 設定相反的修飾鍵按住懸停在程式碼上時才會出現。這減少了文字選擇期間的視覺干擾,同時在需要時保留了對上下文資訊的快速訪問。

例如,如果您的 editor.multiCursorModifier 設定為 ctrlCmd,則當您按住 Alt 懸停時,會顯示懸停。如果設定為 alt,則當您按住 Ctrl(或 macOS 上的 Cmd)時,會顯示懸停。

程式碼編輯

  • TypeScript 提供重新命名建議(顯示更多)。
  • 使用新模型進行下一個編輯建議(顯示更多)。
  • 在視口外預覽下一個編輯建議(顯示更多)。

TypeScript 的重新命名建議

重新命名建議預測何時應該發生符號重新命名而不是常規文字建議。預測時,會與常規文字編輯一起顯示一個附加指示器。然後,您可以使用 Shift+Tab 應用符號重新命名。

在以下影片中,屬性 a 被重新命名為 width。然後,重新命名建議建議將 b 重新命名為 height,並相應地重新命名兩個引數 ab。下一個重新命名建議在預測相關符號的重新命名時效果最佳。

注意:此功能目前正在透過實驗逐步向我們的使用者群推出,目前僅適用於 TypeScript。計劃支援其他程式語言。

下一個編輯建議的新模型

我們釋出了一個用於下一個編輯建議的新模型,它更智慧,與您最新的編輯更協調一致。它提供了明顯更好的接受和駁回效能。在我們的 GitHub 部落格文章中瞭解有關模型及其開發的更多資訊。

在視口外預覽下一個編輯建議

當您收到不在當前視口中的下一個編輯建議時,如果不在當前位置滾動,很難知道建議是什麼。我們透過在游標當前位置渲染下一個編輯建議的預覽來改進此體驗。這有助於減少審查建議時對您的流程的影響。

注意:我們當前的語言模型側重於靠近游標的下一個編輯建議,因此您可能不會經常在視口外看到建議。但是,我們正在積極開發可以為您提供更遠建議的模型!

瞭解有關 VS Code 中的行內建議的更多資訊。

原始碼管理

原始碼管理儲存庫檢視中的暫存(實驗性)

設定scm.repositories.explorerscm.repositories.selectionMode

在此里程碑中,我們透過新增“暫存”節點繼續擴充套件原始碼管理儲存庫檢視中顯示的儲存庫工件列表。在此節點下,您可以檢視完整的暫存列表、檢視、應用和彈出每個暫存。上下文選單還包含一個用於丟棄每個暫存的操作。

Screenshot of the Source Control Repositories view showing the Stashes node and its context menu.

您可以透過設定 scm.repositories.selectionModescm.repositories.explorer 設定來啟用實驗性儲存庫資源管理器。請試用一下,讓我們知道您還希望在儲存庫資源管理器中看到哪些其他儲存庫工件。

瞭解有關在 VS Code 中使用原始碼管理的更多資訊。

除錯

將變數附加到聊天

您現在可以將變數、範圍和表示式附加到 VS Code 中的聊天上下文。您可以透過右鍵單擊變數監視檢視中的資料,或使用聊天中的新增上下文按鈕來執行此操作。

終端

終端建議已推廣到穩定版

終端建議現已為穩定版使用者啟用,在您鍵入 shell 命令時提供行內完成和上下文提示。建議現在將相關引數值分組在一起,因此選項標誌及其引數在列表中保持井井有條。

認證

對 Microsoft 身份驗證的跨平臺本機代理支援

設定microsoft-authentication.implementation

在此里程碑中,我們採用了最新的 MSAL 庫,使您能夠透過本機體驗登入

  • Intel Mac
  • Linux x64(僅某些基於 Debian 的發行版)

Screenshot of a native broker dialog window asking to sign into VS Code.

這是對現有支援的補充

  • Windows x64
  • macOS M 系列(ARM)

macOS 和 Linux 支援要求您的計算機已註冊 Intune 並選擇使用本機代理。

這實現了良好的單點登入流程,是獲取 Microsoft 身份驗證會話的推薦方式。MSAL 團隊將隨著時間的推移為剩餘的平臺(Windows ARM、Linux ARM 和其他發行版)啟用此功能,敬請關注!

注意:如果您在透過代理進行身份驗證時遇到問題,可以將 microsoft-authentication.implementation 更改為 msal-no-broker,它將使用您的瀏覽器進行身份驗證。

classic Microsoft 身份驗證不再可用

如上個月所述,由於使用率低且 Entra ID 團隊不推薦使用,我們已刪除 microsoft-authentication.implementationclassic 選項。

提醒:microsoft-authentication.implementation 設定一直存在,用於讓使用者在遇到問題時選擇退出 Microsoft 帳戶的本機代理身份驗證。此設定的值為

  • msal - 在可用時使用帶代理身份驗證的 MSAL(預設值)
  • msal-no-broker - 使用不帶代理身份驗證的 MSAL

語言

TypeScript 7.0 預覽版

我們繼續與 TypeScript 團隊合作,以改進 VS Code 對即將釋出的 TypeScript 7 版本的支援。TypeScript 7 是使用原生程式碼完全重寫的,可提供顯著更好的效能。

TypeScript 7 預覽版具有幾乎完整的型別檢查支援,並且 TypeScript 團隊也一直忙於新增編輯器功能。最近的亮點包括自動匯入完成、重新命名支援和引用程式碼透鏡。

您今天就可以透過安裝 TypeScript (Native Preview) 擴充套件來試用 TypeScript 7.0。然後,在 JavaScript 或 TypeScript 檔案中執行 TypeScript (Native Preview): Enable (Experimental) 命令,以將所有 IntelliSense 切換為使用本機預覽版。檢視最新的 TypeScript 7 部落格文章,瞭解有關 TypeScript 7 和 TypeScript 專案總體方向的完整更新。

我們計劃繼續與 TypeScript 團隊密切合作,以改進 TypeScript 7 的 VS Code 支援。一旦 TypeScript 7 準備就緒,我們的長期計劃是將其切換為為 VS Code 的 JavaScript 和 TypeScript IntelliSense 提供支援的預設體驗。如果您需要使用較舊的 TS 版本或需要 TypeScript 服務外掛等無法輕鬆移植到 TypeScript 7 的編輯器功能,我們計劃在可預見的未來繼續支援現有 TypeScript 版本以及 TypeScript 7.0+。

遠端開發

遠端開發擴充套件允許您透過 SSH 或遠端隧道使用開發容器、遠端機器或適用於 Linux 的 Windows 子系統 (WSL) 作為功能齊全的開發環境。

亮點包括:

  • SSH 重新連線寬限期控制

您可以在遠端開發發行說明中瞭解有關這些功能的更多資訊。

企業

在我們的文件中瞭解有關 VS Code 的企業功能的更多資訊。

控制智慧體工具的自動批准

設定chat.tools.eligibleForAutoApproval

特定的智慧體工具在沒有明確使用者批准的情況下使用可能存在風險,尤其是那些可以執行破壞性操作、訪問敏感資料或在後臺執行任意程式碼的工具(例如 runTask)。

您現在可以使用新的 chat.tools.eligibleForAutoApproval 設定定義哪些工具符合自動批准條件。當工具被拒絕自動批准時,使用者將無法選擇始終在聊天中批准此工具,並且必須明確批准每次使用。

組織可以透過企業策略跨使用者強制執行此行為,以在使用智慧體時增強安全性。

透過策略停用智慧體的使用

當企業策略停用聊天中智慧體的使用時,智慧體選擇器現在可以更好地傳達它們不可用的原因。

Screenshot of the Agent picker shows agent mode unavailable due to enterprise policy.

在 Codespaces 中支援 GitHub Enterprise 策略

您可以在 GitHub 中為您的企業或組織指定策略,這些策略將應用於 VS Code。例如,您可以配置 MCP 登錄檔 URL供組織中的開發人員使用。

在此版本中,我們添加了在使用 VS Code 和 GitHub Codespaces 時對這些策略的支援。當開發人員開啟 Codespace 時,會自動應用相同的策略,就像在本地使用 VS Code 時一樣。

對擴充套件的貢獻

GitHub 拉取請求

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

  • 當拉取請求或問題 webview 處於活動狀態時,拉取請求和問題隱式上下文。
  • 可以透過“新增上下文”將拉取請求和問題顯式新增為聊天會話的上下文。
  • Copilot 拉取請求可以標記為準備審查、批准和設定自動合併,只需一個按鈕即可完成。

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

提議的 API

貢獻聊天上下文

我們有一個新的 API 提案,允許擴充套件為聊天貢獻上下文提供程式。這使得擴充套件能夠從其自己的領域提供豐富的上下文,用於聊天會話。例如,GitHub Pull Request 擴充套件提供以下上下文

  • 工作空間上下文,包含有關當前儲存庫、分支和拉取請求的資訊。
  • 當拉取請求或問題 webview 處於活動狀態時,隱式拉取請求和問題上下文。
  • 當用戶透過“新增上下文”新增它們時,顯式拉取請求和問題上下文。

API 仍處於早期階段,因此預計會有更改。我們希望獲得有關提案哪些部分將解決擴充套件作者需求的反饋。您可以在此處找到提案:vscode.proposed.chatContextProvider.d.ts

工程

構建逐步推出

我們已開始在 4 小時的時間視窗內逐步推出 Insiders 版本。這意味著,作為 Insiders 使用者,您可能會比平時晚一點收到更新通知。如果您很著急,您可以隨時執行檢查更新以強制立即應用更新。

我們將在 24 小時的時間視窗內向穩定版使用者推出 2025 年 11 月(1.107)版本。就像 Insiders 一樣,您始終可以執行檢查更新以強制立即應用更新。

改進的網站搜尋功能

我們改進了我們的網站,提供了快速的客戶端搜尋,讓您可以輕鬆快速地瀏覽我們的文件。

我們已將此功能背後的庫開源:您可以下載 docfind,並立即將其用於您的專案!我們將透過一篇部落格文章來介紹這項技術背後的創新。

更新的構建指令碼直接作為 TypeScript 執行

在此迭代中,我們清理了構建指令碼,使其更易於使用和維護。這些構建指令碼是已編譯的 TypeScript、使用 ts-node 執行的 TypeScript 檔案和 JavaScript 的混合體。其中許多指令碼未經過型別檢查,並且使用 commonjs (require) 而不是帶有 importexport 的現代模組。更糟糕的是,許多 TypeScript 構建指令碼需要將編譯後的 JS 輸出簽入我們的原始碼管理中。一團糟!

值得慶幸的是,Node 22.18+ 現在允許直接將指令碼作為 TypeScript 執行。這使我們能夠逐步將構建指令碼轉換為現代 TypeScript。我們使用了以下 tsconfig 選項來確保我們的新 TypeScript 程式碼可以直接由 Node 執行

{
  "compilerOptions": {
    "target": "esnext",
    "module": "nodenext",
    "noEmit": true, // Don't generate .js files
    "erasableSyntaxOnly": true, // Only allow TypeScript syntax that node can strip out. Enums and namespaces for example are not allowed
    "allowImportingTsExtensions": true, // Allow importing of .ts files
    "verbatimModuleSyntax": true // Make sure imports will be valid when the script is run by node directly
  }
}

GitHub Copilot 幫助自動化了許多必需的更改,例如將舊的 commonjs 檔案轉換為模組並新增型別註釋。

需要記住的一件事是,雖然 Node 可以執行 TypeScript 程式碼,但它實際上並不會對其進行型別檢查。您仍然需要使用 tsc 來執行此操作。對於 vscode,我們實際上使用的是 ts-go,它可以在不到一秒的時間內完全型別檢查我們所有的構建指令碼。

能夠直接執行 node build/hygiene.ts 真是太棒了。完全切換到 TypeScript 還使我們能夠現代化併為我們的構建指令碼帶來型別安全性,這將使理解和更改它們變得更加容易。此外,它使我們能夠刪除以前必須簽入的大約 15,000 行編譯後的 JS 程式碼!

Copilot 擴充套件統一

設定chat.extensionUnification.enabled

我們已全面推出行內建議,由 GitHub Copilot Chat 擴充套件提供服務。作為此更改的一部分,GitHub Copilot 擴充套件將預設對所有使用者停用。

如果您遇到行內建議的任何問題,請報告它們。您可以透過將 chat.extensionUnification.enabled 設定為 false 來暫時恢復到以前的行為,這將重新啟用 GitHub Copilot 擴充套件。

請注意,我們計劃在 2026 年 1 月完全棄用 GitHub Copilot 擴充套件,屆時 chat.extensionUnification.enabled 設定也將被刪除。

值得注意的修復

  • vscode#233635 - 新增一個操作以關閉其他視窗
  • vscode#262817 - 從最左側組執行“將編輯器移至上一組”應在左側建立新組
  • vscode#264569 - 設定和刪除 window.activeBorder 顏色不會重置視窗邊框顏色
  • vscode#140186 - 當遠端容器作為工作空間開啟時無法開啟本地終端
  • vscode#228359 - 重新啟動終端通常只會關閉終端
  • vscode#232420 - 終端游標在 Python3.13 中位於錯誤的位置
  • vscode#247568 - 終端 Ctrl+單擊檔名中帶有冒號的檔案不會開啟檔案,前面的零被刪除
  • vscode#275011 - 在受信任的工作空間中在 WSL 上開啟 VS Code 時收到奇怪的終端訊息
  • vscode#275417 - 具有 reveal:never, close:true 的任務不再適用於 WSL
  • vscode#277311 - 在命令面板中新增“X”按鈕以從“最近使用”列表中刪除命令
  • vscode#282222 - SCM - 改進 git blame/timeline/graph 懸停渲染。感謝 Stanislav Fort (Aisle Research)
  • vscode-python-environments#1000 - 環境啟用在“命令提示符”下不可靠

感謝

問題跟蹤

對我們問題跟蹤的貢獻

vscode 的貢獻

vscode-copilot-chat 的貢獻

vscode-js-debug 的貢獻

vscode-pull-request-github 的貢獻

vscode-python-debugger 的貢獻

vscode-python-environments 的貢獻

language-server-protocol 的貢獻

node-native-keymap 的貢獻

node-pty 的貢獻

python-environment-tools 的貢獻


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