參加你附近的 ,瞭解 VS Code 中的 AI 輔助開發。

2025 年 6 月(版本 1.102)

釋出日期:2025 年 7 月 9 日

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

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

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

下載:Windows:x64 Arm64 | Mac:通用 Intel Apple 晶片 | 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 擴充套件開源!原始碼現已在 microsoft/vscode-copilot-chat 下根據 MIT 許可證提供。

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

  • 直接貢獻到 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 的 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 設定來設定其首選模式

  • chat.editRequests.inline:將滑鼠懸停在請求上並選擇文字以開始內聯編輯請求。
  • chat.editRequests.hover:將滑鼠懸停在請求上以顯示一個工具欄,其中包含一個按鈕,用於開始內聯編輯請求。
  • chat.editRequests.input:將滑鼠懸停在請求上以顯示一個工具欄,該工具欄將在聊天底部的輸入框中開始編輯。

終端自動批准(實驗性)

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

目前有兩個設定:允許列表和拒絕列表。允許列表是命令字首或正則表示式的列表,當匹配時,允許命令在未經明確批准的情況下執行。例如,以下將允許任何以 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
}

由於我們從工作區信任中獲得了針對提示注入的保護,我們實現此功能時在安全性方面採取的理念是在允許列表中包含一小組無害命令,並在拒絕列表中包含一組特別危險的命令,以防它們設法透過。允許列表預設為空,因為我們仍在考慮預設值應該是什麼,但以下是我們的想法

  • 允許列表:echocdlscatpwdWrite-HostSet-LocationGet-ChildItemGet-ContentGet-Location
  • 拒絕列表:rmrmdirdelkillcurlwgetevalchmodchownRemove-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

代理模式徽章指示器

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

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

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

Fetch 工具支援非 HTTP URL

我們發現,有時模型希望使用非 HTTP URL 呼叫 Fetch 工具,例如 file:// URL。Fetch 工具現在支援這些 URL,並返回 URL 處檔案或資源的內容,而不是禁止它們。影像也受支援。

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

我們改進了管理擴充套件對擴充套件提供的語言模型訪問的 UX。以前,您會在“賬戶”選單中看到一個名為賬戶名(GitHub Copilot Chat)的項,這與 GitHub Copilot Chat 使用的賬戶無關。相反,它允許您管理哪些擴充套件可以訪問 Copilot Chat 提供的語言模型。

為了使此更清晰,我們已刪除賬戶名(GitHub Copilot Chat)項,並將其替換為名為管理語言模型訪問...的新項。此項會開啟一個快速選擇器,使您能夠管理哪些擴充套件可以訪問 GitHub Copilot Chat 提供的語言模型。

Screenshot that shows the language model access Quick Pick.

我們認為這更清晰...也就是說,在未來的版本中,我們將探索對語言模型進行更精細的訪問控制(例如,只允許特定模型,而不是擴充套件提供的所有模型),敬請期待。

讀取聊天請求

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

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

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

編輯工具改進

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

MCP

VS Code 中 MCP 支援正式釋出

在過去的幾個月裡,我們一直致力於擴充套件 VS Code 中的 MCP 支援,並支援規範中的全部 MCP 功能。從本版本開始,VS Code 中的 MCP 支援現已正式釋出!

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

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

Screenshot that shows the MCP Servers page.

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

支援引導

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

MCP 伺服器發現與安裝

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

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

MCP 伺服器管理檢視

擴充套件檢視中新增的MCP 伺服器 - 已安裝檢視可讓您輕鬆監控、配置和控制已安裝的 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 伺服器 - 已安裝檢視還提供了一個瀏覽 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 伺服器配置在無需任何手動干預的情況下繼續工作,同時提供新架構的增強管理功能。

開發容器支援 MCP 配置

開發容器配置 devcontainer.json 和開發容器功能配置 devcontainer-feature.json 在路徑 customizations.vscode.mcp 支援 MCP 伺服器配置。建立開發容器時,收集到的 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 強調色

設定window.border

如果 Windows 設定中啟用了“在標題欄和視窗邊框上顯示強調色”,則 VS Code 在 Windows 上現在支援使用強調色作為視窗框架邊框。

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

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

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

設定搜尋建議(預覽版)

設定workbench.settings.showAISearchToggle

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

此切換按鈕僅在有 AI 結果可用時啟用。我們歡迎對 AI 設定搜尋未找到預期設定時提供反饋,並計劃在下一次迭代中預設啟用此設定。

任務

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

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

重新啟動任務會重新載入更新後的 tasks.json

重新啟動任務命令現在會在重新啟動之前重新載入您的 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 環境擴充套件在此版本中獲得了多項改進

  • 我們改進了對 Poetry 2.0.0 以上版本的終端啟用支援
  • 您現在可以使用快速建立環境選項來設定多個虛擬環境,這些環境在同一工作區中具有唯一的名稱
  • 生成的 .venv 資料夾現在預設被 git 忽略
  • 我們改進了環境刪除過程

Python 環境作為 Python 擴充套件的一部分包含在內

我們開始將 Python 環境擴充套件作為 Python 擴充套件的可選依賴項推出。這意味著您現在可能會看到 Python 環境擴充套件與 Python 擴充套件一起自動安裝,類似於 Python 偵錯程式和 Pylance 擴充套件。這種受控推出使我們能夠在全面推出之前收集早期反饋並確保可靠性。

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

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

"python.useEnvironmentsExtension": true

Python 3.13 停用 PyREPL

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

Pylance MCP 工具(實驗性)

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

GitHub 身份驗證

重做 GitHub 登入流程

此次迭代,我們重做了 GitHub 登入流程,預設採用環回 URL 流程,而不是使用 vscode:// 協議 URL 的流程。此更改旨在提高登入流程的可靠性,並確保其適用於所有平臺,包括那些不支援自定義 URL 方案的平臺。

當您使用 GitHub 登入時,您現在會被重定向到一個看起來像 https://:PORT/ 的環回 URL。這允許登入流程成功完成,而無需依賴自定義 URL 方案。儘管如此,一旦您到達環回 URL,您仍然會被重定向到 vscode:// URL 以返回 VS Code,但這不需要解析即可成功完成登入流程。

換句話說,我們兩全其美:一個在所有平臺上都可靠的登入流程,以及一個使用 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 的貢獻