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

2025 年 6 月 (版本 1.102)

釋出日期:2025 年 7 月 9 日

更新 1.102.1:此更新解決了這些 問題

更新 1.102.2:此更新解決了這些 問題

更新 1.102.3:此更新解決了這些 問題

下載:Windows:x64 Arm64 | Mac:通用版 Intel Silicon | Linux:deb rpm tarball Arm snap


歡迎使用 Visual Studio Code 2025 年 6 月版。此版本中有許多更新,我們希望您喜歡,其中一些主要亮點包括:

  • 聊天

  • MCP

    • MCP 支援現已在 VS Code 中全面可用(顯示更多)。
    • 使用 MCP 檢視和相簿輕鬆安裝和管理 MCP 伺服器(顯示更多)。
    • MCP 伺服器作為配置檔案和設定同步中的一流資源(顯示更多)。
  • 編輯器體驗

    • 將任務委託給 Copilot 編碼代理,讓其在後臺處理(顯示更多)。
    • 透過滑鼠中鍵單擊滾動編輯器(顯示更多)。

如果您想線上閱讀這些發行說明,請訪問 code.visualstudio.com 上的更新Insiders:想盡快嘗試新功能嗎?您可以下載每晚Insiders版本並儘快嘗試最新更新。

聊天

Copilot Chat 開源

我們很高興地宣佈,我們已將 GitHub Copilot Chat 擴充套件開源!原始碼現已在 MIT 許可下提供,位於 microsoft/vscode-copilot-chat

這標誌著我們在透明度和社群協作方面的承諾邁出了重要一步。透過開源該擴充套件,我們使社群能夠:

  • 直接貢獻 VS Code 中 AI 驅動的聊天體驗的開發
  • 瞭解聊天模式、自定義指令和 AI 整合的實現方式
  • 基於我們的工作構建,以建立更好的 AI 開發人員工具
  • 參與塑造 AI 輔助編碼的未來

您可以探索儲存庫,瞭解 代理模式內聯聊天MCP 整合 等功能的實現方式。我們歡迎社群的貢獻、反饋和協作。

要了解有關此里程碑以及我們對開源 AI 編輯器工具的更廣泛願景的更多資訊,請閱讀我們詳細的部落格文章:開源 AI 編輯器 - 第一個里程碑

聊天模式改進

在上一個里程碑中,我們預覽了自定義聊天模式。除了內建的“詢問”、“編輯”和“代理”聊天模式外,您還可以定義自己的聊天模式,並附帶特定的指令和一組允許的工具,以便 LLM 在回覆請求時遵循。

在此里程碑中,我們在該領域進行了一些改進和錯誤修復。

配置語言模型

根據使用者的廣泛要求,您現在還可以指定要在聊天模式中使用的語言模型。將 model 元資料屬性新增到您的 chatmode.md 檔案中,並提供模型識別符號(我們提供模型資訊的 IntelliSense)。

Screenshot that shows the IntelliSense for the model metadata property in chat mode file.

改進的編輯支援

用於聊天模式提示指令檔案的編輯器現在支援所有支援的元資料屬性的自動完成、驗證和懸停。

Screenshot that shows the hover information for tools.

Screenshot that shows the model diagnostics when a model is not available for a specific chat mode.

聊天檢視中的齒輪選單

聊天檢視工具欄中的配置聊天操作允許您管理自定義模式以及可重用的指令、提示和工具集。

Screenshot that shows the Configure Chat menu in the Chat view.

選擇模式會顯示所有當前安裝的自定義模式,並允許您開啟、建立新模式或刪除模式。

您現在可以從外部連結匯入聊天模式、可重用提示和指令檔案,例如 gist 或我們的awesome-copilot 社群儲存庫。例如,以下連結將匯入 Burke's GPT 4.1 Beast Mode 的聊天模式檔案。

將 GPT 4.1 Beast Mode 新增到 VS Code

這將提示您選擇一個目標,可以是當前工作區或您的使用者設定,並在匯入 URL 中的模式檔案之前進行確認。

awesome-copilot 上試用超過 100 個社群貢獻的指令、提示和聊天模式。

生成自定義指令

為專案設定自定義指令可以透過提供有關您的編碼標準和專案約定的上下文來顯著改進 AI 建議。但是,從頭開始建立有效的指令可能具有挑戰性。

在此里程碑中,我們引入了聊天:生成指令命令,以幫助您為工作區引導自定義指令。從命令面板或聊天檢視中的“配置”選單執行此命令,代理模式將分析您的程式碼庫,以生成反映您的專案結構、技術和模式的定製指令。

該命令會在您的 .github 資料夾中建立一個 copilot-instructions.md 檔案,或建議改進現有指令檔案。然後,您可以審查並自定義生成的指令,以匹配您團隊的特定需求。

瞭解更多關於使用指令自定義 AI 響應的資訊。

按需載入指令檔案

指令檔案可用於描述編碼實踐和專案要求。指令可以手動或自動包含在聊天請求的上下文中。

支援各種機制,請參閱文件中的自定義指令部分。

對於您希望有條件包含的較大指令,可以使用 .instructions.md 檔案結合 applyTo 標頭中定義的 glob 模式。當 glob 模式匹配聊天上下文中的一個或多個檔案時,會自動新增該檔案。

在此版本中新增的功能是,大型語言模型可以按需載入指令。每個請求都會獲得所有指令檔案的列表,以及 glob 模式和描述。在此示例中,LLM 沒有在上下文中明確新增的 TypeScript 檔案指令。因此,它會在建立 TypeScript 檔案之前查詢程式碼樣式規則。

Screenshot showing loading instruction files on demand.

編輯先前請求(實驗性)

您現在可以單擊先前的請求來修改文字內容、附加的上下文、模式和模型。提交此更改後,將刪除所有後續請求,撤消所做的任何編輯,並將新請求傳送到聊天。

我們將對編輯請求的不同入口點進行受控推廣,這將幫助我們收集關於首選編輯和撤消流程的反饋。但是,使用者可以透過實驗性 chat.editRequests 設定來設定首選模式。

終端自動批准(實驗性)

代理模式現在具有自動批准終端命令的機制。以下是使用預設設定的演示。

目前有兩個設定:允許列表和拒絕列表。允許列表是命令字首或正則表示式的列表,當匹配時,允許命令在未經明確批准的情況下執行。例如,以下將允許執行以 npm run test 開頭的任何命令,以及完全匹配 git statusgit log 的命令。

"github.copilot.chat.agent.terminal.allowList": {
  "npm run test": true,
  "/^git (status|log)$/": true
}

這些設定會跨設定範圍合併,因此您可以擁有一組使用者批准的命令,以及工作區特定的批准命令。

至於鏈式命令,我們會根據 shell 檢測這些情況,並要求所有子命令都獲得批准。因此,對於 foo && bar,我們會檢查 foobar 是否都已獲得批准,只有這樣才能在未獲批准的情況下執行。我們還嘗試檢測內聯命令,例如 echo $(pwd),它會檢查 echo $(pwd)pwd

拒絕列表的格式與允許列表相同,但會覆蓋允許列表並強制批准。目前,這主要用於您在允許列表中有一個廣泛的條目,並希望阻止它可能包含的某些命令。例如,以下命令將允許所有以 npm run 開頭的命令,但如果它以 npm run danger 開頭則除外。

"github.copilot.chat.agent.terminal.allowList": {
  "npm run": true
},
"github.copilot.chat.agent.terminal.denyList": {
  "npm run danger": true
}

得益於工作區信任提供的防範提示注入的保護措施,我們在實施此功能時對安全性的理念是,在允許列表中包含少量無害命令,並在拒絕列表中包含一些特別危險的命令,以防它們僥倖逃脫。預設情況下,允許列表為空,因為我們仍在考慮預設值,但這是我們的想法:

  • 允許列表:echo, cd, ls, cat, pwd, Write-Host, Set-Location, Get-ChildItem, Get-Content, Get-Location
  • 拒絕列表:rm, rmdir, del, kill, curl, wget, eval, chmod, chown, Remove-Item

我們希望向此功能新增的兩個主要部分是 UI 入口點,以便更輕鬆地將新命令新增到列表中(#253268),以及一個選擇加入的選項,允許 LLM 評估命令的安全性(#253267)。我們還計劃在下一個版本中刪除這些設定的 github.copilot. 字首(#253314)並將它們合併(#253472),然後將其設為預覽設定。

終端命令簡化

代理模式有時會希望執行帶有 cd 語句的命令,以防萬一。我們現在會在該命令與當前工作目錄匹配時檢測到這種情況,並簡化執行的命令。

Screenshot of the terminal, asking to run  only runs  when the current working directory already matches.

代理瞭解任務和終端

代理模式現在瞭解它已建立的後臺終端以及哪些任務正在執行。代理可以使用新的 GetTaskOutput 工具讀取任務輸出,這有助於防止執行重複任務並提高工作區上下文。

Screenshot of VS Code window showing two build tasks running in the terminal panel. The left terminal displays several errors. The chat agent replies to describe status of my build tasks with a summary of each task's output.

最大化聊天檢視

您現在可以最大化次邊欄,使其跨越編輯器區域,並隱藏主邊欄和麵板區域。VS Code 將在重啟之間記住此狀態,並在您開啟編輯器或檢視時恢復聊天檢視。

您可以透過新圖示(位於關閉按鈕旁邊)或從命令面板使用新命令 workbench.action.toggleMaximizedAuxiliaryBar 來切換最大化狀態。

代理模式徽章指示器

當視窗未獲得焦點且代理需要使用者確認才能繼續時,我們現在會在應用程式圖示上方顯示一個徽章。徽章將立即消失,因為觸發它的相關視窗已獲得焦點。

Screenshot of the VS Code dock icon showing an agent confirmation as a badge.

您可以透過 chat.notifyWindowOnConfirmation 設定啟用或停用此徽章。

從命令列啟動聊天

VS Code CLI 中添加了一個新的子命令 chat,它允許您在當前工作目錄中使用提供的提示啟動聊天會話。

基本語法是 code chat [options] [prompt],選項可以是:

  • -m --mode <mode>:用於聊天會話的模式。可用選項:'ask'、'edit'、'agent' 或自定義模式的識別符號。預設為 'agent'
  • -a --add-file <path>:將檔案作為上下文新增到聊天會話中
  • --maximize:最大化聊天會話檢視
  • -r --reuse-window:強制使用最後一個活動視窗進行聊天會話
  • -n --new-window:強制開啟一個新視窗進行聊天會話

支援從標準輸入讀取,前提是您在末尾傳遞 -,例如 ps aux | grep code | code chat <prompt> -

Fetch 工具支援非 HTTP URL

我們發現,有時模型希望使用非 HTTP URL(例如 file:// URL)呼叫 Fetch 工具。Fetch 工具現在支援這些 URL,並返回 URL 中的檔案或資源內容,而不是拒絕。

更清晰的語言模型訪問管理

我們重新設計了管理擴充套件對擴充套件提供的語言模型的訪問許可權的使用者體驗。以前,您會在“帳戶”選單中看到一個名為 AccountName (GitHub Copilot Chat) 的專案,該專案與 GitHub Copilot Chat 使用的帳戶無關。相反,它允許您管理哪些擴充套件可以訪問 Copilot Chat 提供的語言模型。

為了使這一點更清晰,我們刪除了 AccountName (GitHub Copilot Chat) 專案,並用一個名為 管理語言模型訪問... 的新專案替換了它。該專案會開啟一個快速選擇器,讓您可以管理哪些擴充套件可以訪問 GitHub Copilot Chat 提供的語言模型。

Screenshot that shows the language model access Quick Pick.

我們認為這更清晰……話雖如此,在未來的版本中,我們將探索對語言模型進行更細粒度的訪問控制(例如,只允許特定模型,而不是允許擴充套件提供的所有模型),敬請關注。

讀取聊天請求

由於聊天擴充套件本身是開源的,您現在可以訪問我們長期以來在內部使用的除錯工具之一。要輕鬆檢視 Copilot Chat 發出的所有請求的詳細資訊,請執行“顯示聊天除錯檢視”命令。這將顯示一個樹檢視,其中包含每個請求的條目。您可以檢視傳送到模型的完整提示、啟用的工具、響應以及其他關鍵詳細資訊。您可以透過右鍵單擊 >“匯出為...”來儲存請求日誌。

該檢視還包含單獨的工具呼叫條目,以及在簡單瀏覽器中開啟的 prompt-tsx 除錯檢視。

🚨 注意:此日誌在解決問題方面非常有用,如果您在提交有關代理行為的 issue 時共享它,我們將不勝感激。但是,此日誌可能包含個人資訊,例如檔案內容或終端輸出。在與任何人共享之前,請仔細檢查內容。

編輯工具改進

此版本包含對用於 GPT-4 模型和 Sonnet 模型的編輯工具的預測性和可靠性方面的一些更改。在此版本中,您應該會看到更可靠的編輯行為,並且我們將在未來的版本中繼續改進這些工具。

MCP

VS Code 中的 MCP 支援現已全面可用

我們在過去幾個月裡一直在努力擴充套件 VS Code 中的 MCP 支援,並支援規範中的全部 MCP 功能。從本版本開始,MCP 支援已在 VS Code 中全面可用!

此外,組織現在可以透過 GitHub Copilot 策略控制 MCP 伺服器的可用性。在 GitHub Copilot 文件中瞭解更多關於管理 Copilot 在企業中的策略和功能的資訊。

您可以從安裝一些流行的 MCP 伺服器(來自我們的精選列表)開始。瞭解更多關於在 VS Code 中使用 MCP 伺服器以及如何使用它們來擴充套件代理模式的資訊。

Screenshot that shows the MCP Servers page.

如果您想構建自己的 MCP 伺服器,請參閱我們的MCP 開發人員指南,瞭解有關如何利用 VS Code 中的 MCP 功能的更多詳細資訊。

對elicitation 的支援

最新的 MCP 規範添加了對Elicitations 的支援,作為 MCP 伺服器請求 MCP 客戶端輸入的一種方式。最新版本的 VS Code 採用了此規範幷包含對 elicitations 的支援。

MCP 伺服器發現和安裝

擴充套件檢視中的新MCP 伺服器部分包含歡迎內容,該內容直接連結到我們精選列表中的流行 MCP 伺服器。訪問網站以瀏覽可用的 MCP 伺服器,並對任何 MCP 伺服器選擇安裝。這將自動啟動 VS Code 並開啟 MCP 伺服器編輯器,顯示伺服器的自述檔案和清單資訊。您可以檢視伺服器詳細資訊並選擇安裝以將伺服器新增到您的 VS Code 例項。

安裝後,MCP 伺服器會自動出現在您的擴充套件檢視的MCP SERVERS - INSTALLED 部分下,其工具將在聊天檢視的工具快速選擇器中可用。這使得驗證您的 MCP 伺服器是否正常工作並立即訪問其功能變得容易。

MCP 伺服器管理檢視

擴充套件檢視中的新MCP SERVERS - INSTALLED 檢視使您可以輕鬆地監視、配置和控制已安裝的 MCP 伺服器。

Screenshot showing the MCP Servers management view with installed servers.

該檢視列出了已安裝的 MCP 伺服器,並透過上下文選單提供多種管理操作。

Screenshot showing the context menu actions for an MCP server.

  • 啟動伺服器 / 停止伺服器 / 重啟伺服器:控制伺服器的執行狀態
  • 斷開帳戶:從伺服器刪除帳戶訪問許可權
  • 顯示輸出:檢視伺服器的輸出日誌以進行故障排除
  • 顯示配置:開啟伺服器的執行時配置
  • 配置模型訪問:管理伺服器可以訪問哪些語言模型
  • 顯示取樣請求:檢視取樣請求以進行除錯
  • 瀏覽資源:探索伺服器提供的資源
  • 解除安裝:從您的 VS Code 例項中刪除伺服器

當您選擇已安裝的 MCP 伺服器時,VS Code 會開啟 MCP 伺服器編輯器,顯示伺服器的自述檔案詳細資訊、清單及其執行時配置。這提供了伺服器功能和當前設定的概述,使您能夠輕鬆瞭解伺服器的作用及其配置方式。

Screenshot showing the MCP server editor with runtime configuration.

MCP SERVERS - INSTALLED 檢視還提供瀏覽 MCP 伺服器... 操作,直接帶您到社群網站,從而使伺服器發現始終可在 VS Code 中訪問。

Screenshot that shows the Browse MCP Servers action in the MCP Servers view.

MCP 伺服器作為一流資源

MCP 伺服器現在被視為 VS Code 中的一流資源,類似於使用者任務和其他配置檔案特定的配置。這代表了比以前將 MCP 伺服器儲存在使用者設定中的方法更重要的架構改進。此更改使 MCP 伺服器管理更加健壯,並更好地分離了您的常規 VS Code 設定和 MCP 伺服器配置之間的關注點。當您安裝或配置 MCP 伺服器時,它們會自動儲存在適當的配置檔案特定位置,以確保您的主要設定檔案保持乾淨和專注。

  • 專用儲存:MCP 伺服器現在儲存在每個配置檔案內的專用 mcp.json 檔案中,而不是弄亂您的使用者設定檔案。
  • 特定於配置檔案:每個 VS Code 配置檔案都維護自己的 MCP 伺服器集,使您能夠為不同的工作流或專案擁有不同的伺服器配置。
  • 設定同步整合:MCP 伺服器透過設定同步在您的裝置之間無縫同步,並對要同步的內容進行精細控制。

MCP 遷移支援

由於 MCP 伺服器是一流的資源以及與之相關的配置更改,VS Code 為從舊 MCP 伺服器配置格式升級的使用者提供了全面的遷移支援。

  • 自動檢測settings.json 中的現有 MCP 伺服器會自動檢測並遷移到新的特定於配置檔案的 mcp.json 格式。
  • 即時遷移:當您將 MCP 伺服器新增到使用者設定時,VS Code 會立即遷移它們,並附帶一個有用的通知來解釋更改。
  • 跨平臺支援:遷移在所有開發場景中無縫執行,包括本地、遠端、WSL 和 Codespaces 環境。

此遷移可確保您現有的 MCP 伺服器配置繼續正常執行,無需手動干預,同時提供新架構增強的管理功能。

Dev Container 對 MCP 配置的支援

Dev Container 配置 devcontainer.json 和 Dev Container 功能配置 devcontainer-feature.json 支援位於 customizations.vscode.mcp 路徑下的 MCP 伺服器配置。建立 Dev Container 時,收集到的 MCP 伺服器配置會寫入遠端 MCP 配置檔案 mcp.json

配置 Playwright MCP 伺服器的示例 devcontainer.json

{
  "image": "mcr.microsoft.com/devcontainers/typescript-node:latest",

  "customizations": {
    "vscode": {
      "mcp": {
        "servers": {
          "playwright": {
            "command": "npx",
            "args": ["@playwright/mcp@latest"]
          }
        }
      }
    }
  }
}

訪問 MCP 資源的命令

為了使處理 MCP 伺服器更加便捷,我們添加了命令來幫助您管理和訪問 MCP 配置檔案。

  • MCP:開啟使用者配置 - 直接訪問您的使用者級 mcp.json 檔案。
  • MCP:開啟遠端使用者配置 - 直接訪問您的遠端使用者級 mcp.json 檔案。

這些命令提供對 MCP 配置檔案的快速訪問,使您可以輕鬆地直接檢視和管理伺服器配置。

MCP 身份驗證的快速管理

您現在可以透過 MCP 齒輪選單和快速選擇器登出或斷開帳戶連線。

  • MCP 檢視齒輪選單:顯示 MCP 檢視齒輪選單中“斷開帳戶”操作的螢幕截圖。

  • MCP 編輯器齒輪選單:顯示 MCP 編輯器齒輪選單中“斷開帳戶”操作的螢幕截圖。

  • MCP 快速選擇器:顯示 MCP 快速選擇器選單中“斷開帳戶”操作的螢幕截圖。

當帳戶被其他 MCP 伺服器或擴充套件使用時,將顯示斷開連線操作;當帳戶僅由 MCP 伺服器使用時,將顯示登出。登出操作會從 VS Code 中完全刪除帳戶,而斷開連線僅從 MCP 伺服器中刪除帳戶訪問許可權。

輔助功能

保留編輯器內的所有編輯

以前,要接受所有編輯,焦點需要位於聊天檢視中。現在,當焦點在編輯器中時,您可以執行保留所有編輯命令(⌥⌘Y(Windows、Linux Ctrl+Alt+Y)。

使用者操作所需聲音

我們微調了指示聊天需要使用者操作的可訪問性訊號,並將預設值設定為 auto,因此螢幕閱讀器使用者會聽到此訊號。您可以透過 accessibility.signals.chatUserActionRequired 設定配置此行為。

渲染錯誤時發出警告

以前,螢幕閱讀器使用者在發生聊天渲染錯誤時不會收到通知。現在,使用者會收到此資訊的警告,並且還可以透過鍵盤聚焦它。

程式碼編輯

滑鼠中鍵單擊滾動

設定editor.scrollOnMiddleClick

只需單擊或按住滑鼠中鍵(滾輪)並四處移動即可滾動編輯器。

啟用後,游標會變為平移圖示,向上或向下移動滑鼠即可在相應方向平滑滾動編輯器。滾動速度取決於滑鼠與初始單擊點的距離。釋放滑鼠中鍵或再次單擊即可停止滾動並恢復到標準游標。

已知衝突

啟用此功能可能會干擾與滑鼠中鍵繫結的其他操作。例如,如果您啟用了列選擇(editor.columnSelection),則按住滑鼠中鍵會選擇文字。同樣,在 Linux 上,選擇剪貼簿(editor.selectionClipboard)會在單擊滑鼠中鍵時貼上剪貼簿中的內容。

為避免這些衝突,請一次僅啟用其中一個設定。

暫停程式碼補全

您現在可以使用新的暫停功能暫時暫停內聯建議和下一步編輯建議(NES)。當您想專注於工作而沒有建議干擾時,這非常有用。

要暫停建議,請在狀態列中選擇 Copilot 儀表板,或從命令面板執行暫停內聯建議命令,然後從下拉選單中選擇一個持續時間。在暫停期間,不會出現任何內聯建議或 NES。

Screenshot showing the Copilot dashboard with the snooze button at the bottom.

您還可以透過將所需持續時間作為引數傳遞給命令,為其分配自定義鍵繫結以快速暫停建議。例如:

{
  "key": "...",
  "command": "editor.action.inlineSuggest.snooze",
  "args": 10
}

編輯器體驗

Windows accent color

設定window.border

Windows 上的 VS Code 現在支援使用 accent color 作為視窗邊框,前提是在 Windows 設定中啟用了此功能(“在標題欄和視窗邊框上顯示 accent color”)。

Screenshot of the VS Code window with a red accent color border.

新的 window.border 設定允許您控制視窗邊框的顏色。使用 default 使用 Windows accent color,使用 off 停用邊框,或提供特定顏色值以使用自定義顏色。

注意:邊框僅在啟用了相關 Windows 設定時可見。它還不能按工作區設定,但我們正在努力支援。

設定搜尋建議(預覽)

設定workbench.settings.showAISearchToggle

在此里程碑中,我們修改了設定編輯器中的 sparkle toggle,使其在 AI 和非 AI 搜尋結果之間切換。AI 設定搜尋結果是語義相似的結果,而不是基於字串匹配的結果。例如,當您搜尋“增大文字大小”時,editor.fontSize 會作為 AI 設定搜尋結果顯示。

僅當有 AI 結果可用時,該切換才會啟用。我們歡迎有關 AI 設定搜尋未找到預期設定的反饋,並且我們計劃在下一個迭代中預設啟用該設定。

任務

重新執行所有正在執行的任務

您現在可以透過新的 Tasks: Rerun All Running Tasks 命令快速重新執行所有當前正在執行的任務。這對於涉及多個併發任務的工作流很有用,允許您一次性重新啟動它們,而無需單獨停止和重新執行它們。

Restart task 會重新載入更新的 tasks.json

Restart Task 命令現在會在重新啟動之前重新載入您的 tasks.json,以確保任何最近的更改都得到尊重。以前,在重新啟動任務時不會拾取任務配置更改,這可能導致混淆或過時的任務行為。

終端

終端建議(預覽)

我們對終端建議功能進行了重大改進。

選擇模式

新設定 terminal.integrated.suggest.selectionMode 可幫助您瞭解預設情況下,Tab(而非Enter)會接受建議。您可以選擇 partialalwaysnever 模式來控制建議如何被選擇和接受。

預設值為 partial,這意味著 Tab 會接受建議直到發生導航。

Screenshot showing the first terminal suggestion can be accepted with Tab.

瞭解更多

終端建議控制元件狀態列中的瞭解更多操作(kb(workbench.action.terminal.suggestLearnMore))現在會突出顯示前 10 次,或者如果控制元件顯示 10 秒。這有助於您發現如何配置、停用和了解建議控制元件。

Screenshot showing the Learn More action appears in the terminal suggest control status bar.

多命令支援

終端建議現在支援多命令。您可以使用 ;&& 和其他 shell 運算子連結命令,併為行中的所有命令接收建議。

Screenshot showing the VS Code terminal showing a multi-command line with git commit and git push, and the terminal suggest widget displaying suggestions for pull, push, and other git commands.

我們現在會在建議詳細資訊控制元件中顯示符號連結的真實路徑,併為符號連結檔案和資料夾使用獨特的圖示,以幫助區分它們與其他建議。

Screenshot showing the terminal suggest shows the symlink's path -> real path.

改進的排序

我們在許多方面都改進了排序,以便為您提供最相關的建議。例如,將 mainmaster 分支的優先順序高於其他分支。

Screenshot showing the terminal suggest boosts main and master compared to other branch suggestions.

Git Bash 改進

我們現在正確支援 Git Bash 資料夾和檔案的路徑補全。此外,我們還會收集內建命令並將其作為建議顯示。

Screenshot showing a Git Bash terminal with suggestions for builtin functions like cat, cp, and curl.

對擴充套件的貢獻

GitHub 拉取請求

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

GitHub Pull Requests 擴充套件和Copilot 編碼代理之間實現了更深層次的整合,允許您直接從 VS Code 開始、檢視和管理編碼代理會話。

這些功能要求您的工作區已開啟一個已啟用 Copilot 編碼代理 的儲存庫。

請檢視擴充套件的 0.114.0 版本更新日誌,瞭解該版本的所有內容。

啟動編碼代理會話(預覽版)

透過在聊天中呼叫 #copilotCodingAgent 工具,讓 Copilot 在後臺繼續進行本地更改。

此工具會自動將掛起的更改推送到遠端分支,並從該分支啟動編碼代理會話,並附帶使用者的指令。

Screenshot showing handing off a session to Copilot coding agent

實驗性功能:可以透過 githubPullRequests.codingAgent.uiIntegration 設定啟用更深入的 UI 整合。啟用後,對於已啟用代理的儲存庫,聊天檢視中將出現一個新的委託給編碼代理按鈕。

狀態跟蹤

我們已改進了在“我代表 Copilot”查詢中通知並顯著顯示編碼代理拉取請求狀態的功能。現在,數字徽章表示新更改。

Screenshot showing status of multiple coding agent pull requests

會話日誌

現在可以直接在 VS Code 中檢視編碼代理會話的會話日誌。這使您可以檢視編碼代理採取的操作的歷史記錄,包括程式碼更改和工具使用情況。

Screenshot showing the session log of a coding agent session.

#activePullRequest 工具增強功能

#activePullRequest 工具返回有關拉取請求的資訊,例如其標題、描述和狀態,供在聊天中使用,現在您還可以使用它來獲取編碼代理會話資訊。

開啟透過編碼代理體驗建立的拉取請求時,此工具會自動附加到聊天中,以便您可以保持上下文並根據需要繼續處理拉取請求。

Python

Python 環境擴充套件改進

在本次釋出中,Python Environments 擴充套件得到了多項改進。

  • 我們已改進了 Poetry 版本大於 2.0.0 的終端啟用支援。
  • 現在,您可以使用“快速建立”環境建立選項在同一工作區中設定多個唯一命名的虛擬環境。
  • 生成的 .venv 資料夾現在預設會被 git 忽略。
  • 我們改進了環境刪除過程。

Python Environments 已包含在 Python 擴充套件中。

我們已開始將 Python Environments 擴充套件作為 Python 擴充套件的可選依賴項進行推廣。這意味著您現在可能會開始看到 Python Environments 擴充套件與 Python 擴充套件一起自動安裝,類似於 Python Debugger 和 Pylance 擴充套件。這種受控推廣使我們能夠在普遍可用之前收集早期反饋並確保可靠性。

Python Environments 擴充套件包括我們迄今為止引入的所有核心功能,包括:使用“快速建立”進行一鍵式環境設定、自動終端啟用(透過“python-envs.terminal.autoActivationType”設定)以及所有支援的用於環境和包管理的 UI

要在推廣期間使用 Python Environments 擴充套件,請確保已安裝該擴充套件,並將以下內容新增到您的 VS Code settings.json 檔案中。

"python.useEnvironmentsExtension": true

為 Python 3.13 停用了 PyREPL

我們已為 Python 3.13 及更高版本停用了 PyREPL,以解決互動式終端中的縮排和游標問題。有關更多詳細資訊,請參閱為 >= 3.13 停用 PyREPL

Pylance MCP 工具(實驗性)

Pylance 擴充套件現在包含多個實驗性 MCP 工具,這些工具提供對 Pylance 的文件、匯入分析、環境管理等的訪問。這些工具目前在 Pylance 預釋出版本中提供,並且仍處於早期開發階段。雖然它們提供了新功能,但我們知道今天直接呼叫它們可能很困難。我們正在積極努力使這些工具更易於使用,並在將來的更新中提供更多價值。歡迎您在 pylance-release 儲存庫中提供反饋,我們將繼續改進體驗。

GitHub 身份驗證

重新設計的 GitHub 登入流程

在本次迭代中,我們重新設計了 GitHub 登入流程,預設使用回送 URL 流程,而不是使用 vscode:// 協議 URL 的流程。此更改是為了提高登入流程的可靠性,並確保其在所有平臺上都能正常工作,包括不支援自定義 URL 方案的平臺。

使用 GitHub 登入時,您現在會被重定向到一個回送 URL,該 URL 類似於 https://:PORT/。這使得登入流程能夠成功完成,而無需依賴自定義 URL 方案。也就是說,一旦您訪問回送 URL,您仍然會被重定向到一個 vscode:// URL 以返回 VS Code,但登入流程成功完成並不需要此 URL 解析。

換句話說,我們兼顧了兩全其美:一個可靠的、跨平臺工作的登入流程,以及一個使用 vscode:// URL 方案返回 VS Code 的方式。

在進行此項工作時,我們還為著陸頁進行了重新設計。在將來的迭代中,我們將把這種新設計應用於其他登入體驗。

Screenshot showing the redesigned authentication landing page.

擴充套件開發

使用 vscode.openFolder 命令時允許開啟檔案

呼叫 vscode.openFolder 命令的擴充套件現在可以傳遞 filesToOpen?: UriComponents[] 作為選項,以選擇要在開啟的工作區視窗中開啟的檔案。

示例

vscode.commands.executeCommand('vscode.openFolder', <folder uri>, { filesToOpen: [ /* files to open */]});

提議的 API

工程

使用 esbuild 進行 CSS 壓縮

VS Code 長期以來一直使用 esbuild 來打包和壓縮 JavaScript 原始檔。現在,我們也使用 esbuild 來打包和壓縮 CSS 檔案。

使用 tsconfig.json 進行嚴格的層檢查

我們現在使用多個 tsconfig.json 檔案來確保我們的原始碼符合我們的目標環境規則。我們的 CI 執行 npm run valid-layers-check,如果例如在僅存在於 node 執行時中的 browser 層中添加了一個型別,構建就會失敗。

使用 vscode-bisect 進行健全性測試

vscode-bisect 專案已經存在很長時間,用於查詢 VS Code 構建中的迴歸(類似於 git bisectgit 的作用)。我們添加了一個新的 --sanity 選項,允許我們快速地完成我們的健全性檢查,這是我們在釋出新構建之前必須進行的。

值得注意的修復

感謝

最後但同樣重要的是,向 VS Code 的貢獻者們致以衷心的感謝

問題跟蹤

對我們問題跟蹤的貢獻

拉取請求

vscode 的貢獻

vscode-copilot-chat 的貢獻

vscode-json-languageservice 的貢獻

vscode-pull-request-github 的貢獻

vscode-ripgrep 的貢獻

vscode-test 的貢獻

language-server-protocol 的貢獻

monaco-editor 的貢獻

ripgrep-prebuilt 的貢獻

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