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

2024 年 8 月(v1.93 版本)

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

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


歡迎來到 Visual Studio Code 2024 年 8 月釋出版。此版本包含許多更新,我們希望您會喜歡,其中一些主要亮點包括:

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

輔助功能

透過鍵盤調整表格列大小

新的命令 list.resizeColumn 支援您透過鍵盤調整列大小。當您觸發此命令時,選擇要調整大小的列,然後提供要設定的寬度百分比。以下影片演示瞭如何將此應用於“鍵盤快捷鍵”編輯器中的列大小調整。

螢幕閱讀器支援合成聊天響應

我們已更新 accessibility.voice.autoSynthesize 設定,以便螢幕閱讀器使用者可以選擇聽取由我們的合成器宣佈的聊天響應,而不是接收 aria 提醒。

除錯改進

當您在編輯器中除錯且焦點在該編輯器上時,呼叫“Debug: Add to Watch”命令現在會為螢幕閱讀器使用者宣佈變數的值。

此外,除錯輔助對話方塊已得到改進,以便更全面。

工作臺

新的配置檔案編輯器

新的配置檔案編輯器現已正式向 Visual Studio Code 中的所有使用者提供。新的配置檔案編輯器使您可以在一個地方管理配置檔案。此體驗包括建立新配置檔案、編輯和刪除現有配置檔案以及匯入和匯出配置檔案以與他人共享。有關更多資訊,請參閱配置檔案文件

Screenshot that shows the Profiles editor.

Linux 對視窗控制元件疊加層的支援

新的設定 window.experimentalControlOverlay 使原生視窗控制元件即使在透過 window.titleBarStyle 設定啟用了自定義標題欄時也能顯示。

Screenshot of VS Code on Linux, highlighting the Linux window control overlays in the top-right corner.

預設情況下,我們在 Linux 上尚未啟用自定義標題,但我們計劃最終會這樣做。一旦您啟用自定義標題,原生視窗控制元件疊加層將自動顯示。我們歡迎您在使用此新功能時提供的任何反饋!

評論排序

現在可以按檔案中的位置或按日期對評論進行排序。

Screenshot that shows the additional comment sorting options.

從設定編輯器複製設定 URL

您可以從此設定編輯器複製指向特定設定的直接 URL。當您導航到設定 URL 時,它會開啟 VS Code 並聚焦設定編輯器中的相應設定。

Video that shows how to copy a setting URL in the Settings editor.

資源管理器中的反向排序

我們添加了一個額外的排序選項 explorer.sortOrderReverse,它使您可以反轉各種資源管理器排序配置的任意一個,從而提供更靈活的排序。

編輯器

燈泡改進

在上一個里程碑中,我們改進了程式碼操作燈泡圖示的顯示位置。我們現在決定預設將 editor.lightbulb.enabled 設定為 onCode。這意味著燈泡圖示僅在游標位於有原始碼的行上時顯示,並且顯示頻率會降低。

操作列表的顏色主題

操作列表控制元件(如程式碼操作選單)的顏色可以透過主題使用 editorActionList.backgroundeditorActionList.foregroundeditorActionList.focusForegroundeditorActionList.focusBackground 鍵進行配置。預設情況下,操作列表控制元件的主題與快速選擇和命令面板的主題匹配。有關自定義顏色主題的更多資訊。

GitHub Copilot

在此版本中,我們繼續改進 VS Code 中的 GitHub Copilot 體驗,包括編輯器、聊天檢視和內聯聊天。我們還添加了幾項實驗性功能供您嘗試,並希望從中獲得您的反饋。

改進的測試生成

使用 GitHub Copilot,您可以為程式碼生成測試,方法是使用編輯器內容選單中的“Generate Tests using Copilot”操作,或在內聯聊天中使用 /tests 斜槓命令。

我們透過查詢現有的測試檔案並將新測試追加到該檔案末尾,改進了測試生成流程。如果尚未建立測試檔案,Copilot 會為生成的測試建立一個新的測試檔案。

重新命名用於生成測試和文件的程式碼操作

當您將游標放在識別符號(例如方法名)上時,GitHub Copilot 會提供程式碼操作來生成測試或文件。為了更好地反映其目的,我們將這些程式碼操作重新命名為“Generate Tests using Copilot”和“Generate Documentation using Copilot”。之前,它們被稱為“Test using Copilot”和“Document using Copilot”。

New code action names for test and documentation generation

改進的聊天曆史記錄

您可以透過聊天檢視頂部的“Show Chats”按鈕從聊天曆史記錄中開啟之前的聊天會話。這些會話現在擁有更友好的 AI 生成名稱。您還可以透過選擇每行的鉛筆圖示手動重新命名會話。

這些聊天曆史記錄條目現在還按上次請求的日期排序,並按日期分組和標記。

The chat history picker shows friendly session names and entries are grouped by age.

注意:只有新的聊天會話才會獲得 AI 生成的名稱,您已有的任何聊天會話都不會被重新命名。

儲存空視窗的聊天會話

以前,VS Code 不會為沒有開啟資料夾或工作區的空視窗儲存聊天會話。現在,這些會話將按預期儲存,並且可以透過“Show Chats”按鈕載入空視窗的先前聊天記錄。

注意:應避免同時在多個空視窗中開啟和使用同一個聊天會話。

在快速聊天中附加上下文

使用快速聊天時,您現在可以使用“Attach Context”操作將檔案和符號等上下文附加到您的 Copilot 請求。

“Thumbs down”反饋詳細資訊

您是否收到了 Copilot Chat 未達到預期的響應?透過選擇工具欄上的“Thumbs down”按鈕來幫助我們,以描述問題。現在,它會顯示一個下拉列表,其中包含一些詳細選項供您描述問題。您也可以從此選單開啟問題報告器。

The chat response feedback dropdown, showing extra details on the thumbs down button.

程式碼生成指令(實驗性)

設定github.copilot.chat.experimental.codeGeneration.instructions

Copilot 可以幫助您生成程式碼,例如作為重構、生成單元測試或實現功能的一部分。您可能希望使用特定的庫,或者希望 Copilot 生成的程式碼遵循特定的編碼風格。

實驗性設定 github.copilot.chat.experimental.codeGeneration.instructions 允許您定義一組指令,這些指令將新增到每個生成程式碼的 Copilot 請求中。

指令可以在使用者或工作區設定中定義,也可以從檔案中匯入。

以下程式碼片段展示瞭如何從設定和外部檔案中定義一組指令。

  "github.copilot.chat.experimental.codeGeneration.instructions": [
    {
      "text": "Always add a comment: 'Generated by Copilot'."
    },
    {
      "text": "In TypeScript always use underscore for private field names."
    },
    {
      "file": "code-style.md" // import instructions from file `code-style.md`
    }
  ],

myProject/code-style.md 的內容

Always use React functional components.
Always add comments.

在截圖中,您可以從“References”部分看到這些指令已被使用。

Copilot Chat using code generation instructions.

聊天檢視中的自動聊天參與者檢測(實驗性)

設定chat.experimental.detectParticipant.enabled

GitHub Copilot 具有多個內建的聊天參與者,例如 @workspace,它們也為聊天檢視貢獻命令。以前,您必須在聊天提示中顯式指定聊天參與者和命令。

為了使聊天參與者更容易與自然語言一起使用,在接下來的幾周內,我們正在嘗試使 Copilot Chat 能夠自動將您的問題路由到合適的參與者或聊天命令。

Screenshot of Chat view that shows how the '@workspace' participant is automatically detected.

如果自動選擇的參與者不適合您的問題,您可以選擇聊天響應頂部的“rerun without”連結,將您的問題重新發送給 Copilot。

將最近的編碼檔案用作內聯聊天上下文(實驗性)

設定github.copilot.chat.experimental.temporalContext.enabled

通常,當您提示 Copilot 時,您會問一個與您剛剛處理或檢視的程式碼相關的問題。內聯聊天現在可以使用最近檢視或編輯的程式碼作為上下文,以提供更相關的建議。

此功能仍處於實驗階段,但也非常適合所有人進行測試。

使用當前編輯器行作為內聯聊天提示(實驗性)

設定github.copilot.config.experimental.inlineChatCompletionTrigger.enabled

您無需先開啟內聯聊天再輸入聊天提示,而是可以直接在編輯器中鍵入,並將當前行的內容直接用作內聯聊天的提示。為了獲得更順暢的聊天體驗,Copilot 可以檢測到您何時是在進行提示而不是編寫程式碼,然後自動為您啟動內聯聊天。

您可以使用當前行作為內聯聊天提示的各種方法如下:

  • 從“Command Palette”(⇧⌘P (Windows, Linux Ctrl+Shift+P))輸入 Inline Chat: Start in Editor with Current Line
  • inlineChat.startWithCurrentLine 命令配置鍵盤快捷鍵,並將其與 inlineChatExpansion 上下文鍵結合使用。
  • 啟用 github.copilot.config.experimental.inlineChatCompletionTrigger.enabled 設定,以便 Copilot 檢測到當前行主要包含文字而不是原始碼,然後啟動內聯聊天。

以下影片展示了 Copilot 在檢測到當前行主要包含文字後,如何建議啟動內聯聊天。

從聊天開始除錯(實驗性)

設定github.copilot.advanced.startDebugging.experimental.enabled

@vscode 聊天參與者現已提供新的實驗性斜槓命令 /startDebugging。此命令使您能夠建立啟動配置並開始除錯您的應用程式。

您還可以透過“Create a launch.json”快速選擇中的“Generate Debug Configuration with GitHub Copilot”選項來訪問此命令。

Generate Debug Configuration with GitHub Copilot is an option in the Create a launch.json file Quick Pick.

基於測試覆蓋率生成測試(實驗性)

設定github.copilot.chat.experimental.generateTests.codeLens

如果提供了測試覆蓋率資訊,GitHub Copilot 可以為尚未被測試覆蓋的函式和方法提供一個 CodeLens “Generate tests using Copilot”。

語言

將“SQL”重新命名為“MS SQL”

SQL 檔案的語言名稱已從“SQL”重新命名為“MS SQL”,以更好地反映該語言專注於 Microsoft SQL Server (T-SQL) 語法。此語言模式的副檔名仍為 .sql,語法高亮保持不變。

vscode.dev 上的全專案 IntelliSense 和包型別定義

Web 版 VS Code 上處理 JavaScript 和 TypeScript 的體驗得到了極大的改善。首先,我們實現了包 IntelliSense,因此您可以檢視來自任何匯入包(如 react)的建議和文件。這與桌面版 VS Code 的工作方式非常相似。

IntelliSense and error reporting for an imported package on vscode.dev.

在 TypeScript 檔案中,我們為 package.json 中列出的包提供 IntelliSense。JavaScript 檔案則更具靈活性,使用自動型別獲取,它為當前檔案中匯入的任何包提供 IntelliSense,即使它未在 package.json 中列出。

得益於包 IntelliSense,我們還啟用了 JavaScript 和 TypeScript 專案的全專案 IntelliSense。這極大地改善了程式碼導航,使您能夠正確地“Go to Definition”和“Find All References”到專案中的任何符號。它還支援型別錯誤報告。我們甚至支援編寫程式碼時的自動匯入。

Finding all references of a symbol in a TypeScript project.

包型別定義和全專案 IntelliSense 在 Chrome、Microsoft Edge 和 Firefox 中均受支援。Safari 尚不支援,因為它不實現ReadableByteStreamController

原始碼管理

原始碼管理圖檢視

根據使用者反饋,我們將上個里程碑中啟用的歷史記錄圖已從原始碼管理檢視移至一個名為“Source Control Graph”的新檢視。這減少了主檢視的資訊過載,並允許您根據需要隱藏/摺疊/移動新檢視。這還為功能齊全的歷史記錄圖奠定了基礎。

原始碼管理圖檢視目前顯示當前分支的遠端/基準。在下一個里程碑中,我們正致力於新增將圖過濾到任何儲存庫引用的功能,並改進具有多個儲存庫的工作區的體驗。

Source Control Graph view showing a graph visualization of the repository.

主題:GitHub Sharp(可在 vscode.dev 上預覽)

支援 reftable 格式

Git 2.45 添加了對名為“reftable”的新引用儲存後端(backend)的初步支援。在此版本中,我們更新了內建的 Git 擴充套件以支援此新的引用儲存後端。

使用 Git 2.45,您可以使用 --ref-format=reftable 標誌建立或克隆使用新的引用儲存後端的儲存庫。Git 2.46 還透過使用 git refs migrate 命令支援將現有儲存庫遷移到使用新的引用儲存格式。

請注意,新的引用儲存後端仍被視為實驗性的。

緊湊資料夾設定

感謝社群的貢獻,我們添加了一個新設定 scm.compactFolders,用於控制在將更改作為樹檢視顯示在原始碼管理檢視中時,資料夾是否以緊湊形式呈現。

終端

Julia 和 NuShell 支援

現在支援 Julia 和 NuShell 的 Shell 整合。這為這些 Shell 型別啟用了命令裝飾執行最近命令等功能。

移動多個終端標籤頁

您現在可以多選終端標籤頁,並將它們作為一個有序組在終端列表中移動。

命令指南設定和顏色主題

命令指南是一個欄,當滑鼠懸停在命令及其輸出上時,會顯示在旁邊。您現在可以使用 terminal.integrated.shellIntegration.showCommandGuide 設定停用命令指南,並且顏色可以透過 terminalCommandGuide.foreground 主題鍵由主題進行配置。

Notebook

在 diff 檢視中顯示或隱藏未更改的單元格

筆記本 diff 檢視現在會隱藏未更改的單元格,使您可以專注於已更改的單元格。同時,所有未更改單元格的輸入始終是摺疊的。

在 diff 檢視中管理空格

筆記本 diff 檢視現在遵守以下設定:

筆記本執行計數粘滯滾動

程式碼單元格的執行計數在向下滾動程式碼單元格時會固定在螢幕底部。這使得在長程式碼單元格中工作時更容易檢視執行狀態和更新。

任務

任務退出時保持終端開啟

如果任務的終端程序以非零程式碼退出,我們現在會保持終端開啟,以便於除錯。

除錯

跳轉到變數定義

除錯擴充套件現在可以將變數和表示式連結到程式碼中的位置。具有此連結的資料在 Variables、Watch 和 Debug Console 檢視中是 Ctrl 可選(macOS 上為 Cmd 可選)的。

內建的 JavaScript 偵錯程式會連結到程式碼中定義的函式的位置。其他除錯擴充套件需要採用相應的協議更改才能啟用此功能。

查詢控制元件

您現在可以在 Debug Console 中開啟查詢控制元件(⌥⌘F (Windows, Linux Ctrl+Alt+F))以搜尋輸入中的結果。未來將研究支援在輸出中搜索結果。

您也可以透過 Debug Console 工具欄上“Filter”控制元件右側出現的“Debug Console: Focus Find”操作來訪問此控制元件。

啟動配置輸入快取

啟動配置和任務中使用的輸入變數現在會保留其上次輸入的值,從而簡化重新執行依賴於它們的除錯會話的過程。只有在輸入中沒有明確定義 default 時才會這樣做。

JavaScript 偵錯程式

實驗性網路檢視

JavaScript 偵錯程式現在包含一個基本的、實驗性的網路檢視,當 debug.javascript.enableNetworkView 設定為 true 時可用。該檢視顯示了瀏覽器會話發起的請求和響應的資訊。

Screenshot that shows the Network view for the JavaScript debugger. 主題:Codesong(可在 vscode.dev 上預覽)

當 Node.js 22.6.0 及以上版本以 --experimental-network-inspection 引數啟動程序時(例如,在 node 啟動配置中新增 "runtimeArgs": ["--experimental-network-inspection"]),網路檢視也適用於這些版本。

注意:Node 對網路的實現仍處於早期階段,大多數關於請求和響應的資料尚不可用。

測試

支援訊息中的堆疊跟蹤

測試擴充套件現在可以將堆疊跟蹤與測試失敗關聯起來。當它們這樣做時,您將在“Test Results”檢視和錯誤提示中看到導致失敗的呼叫堆疊的每個幀周圍的程式碼。您可以 Ctrl 選擇(macOS 上為 Cmd 選擇)檢視中的程式碼以導航到其原始位置,或使用其標題上的“Go to File”操作。

Editor showing a test failure message and the corresponding call stack that led to the failure. 主題:Codesong(可在 vscode.dev 上預覽)

安裝程式

Debian 包現在會提示您確認是否要新增 packages.microsoft.com 儲存庫。這樣您就可以使用 apt 之後更新該包。

Terminal showing the prompt for adding the Microsoft packages repo during the install.

遠端開發

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

亮點包括:

  • Dev Container 模板的可選路徑
  • 透過 SSH 擴充套件了與遠端 OS 的相容性

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

Web 版 VS Code

https://vscode.dev 或桌面版上使用 GitHub Repositories 擴充套件瀏覽 GitHub 儲存庫時,現在會遵守 git.openDiffOnClick 設定。

Open diff by selecting Open Changes for changed resources.

對擴充套件的貢獻

Python

Django 單元測試支援

我們很高興地宣佈支援我們最受歡迎的功能之一:您現在可以透過測試資源管理器發現和執行 Django 單元測試!有關如何啟用此功能的設定說明,請查閱我們的文件

Django unit tests discovered and run in the Test Explorer. 主題:Catppuccin Macchiato(可在 vscode.dev 上預覽)

在您探索此新功能時,請在我們的 vscode-python 倉庫中或透過使用“Python: Report Issue”命令提供反饋並報告任何問題。

原生 REPL 改進

我們對新的原生 REPL 體驗進行了更多改進和錯誤修復。我們正在進行一項實驗,將原生 REPL 作為“Smart Send”的預設目標,但如果您有興趣嘗試,可以在您的使用者 settings.json 中設定 python.REPL.sendToNativeREPL,然後重新載入您的 VS Code 視窗。

使用 Pylance 從內聯提示轉到定義

當使用 Pylance啟用內聯提示時,您現在可以透過懸停在一個型別上並按住 Ctrl(macOS 上為 Cmd)來更方便地導航到其定義。

Go to Definition supported by using Ctrl/Cmd + click when hovering over a Python type on an inlay hint.

除錯測試時的重啟支援

您現在可以透過除錯工具欄控制元件在除錯測試時重新啟動偵錯程式。

GitHub 拉取請求和議題

GitHub Pull Requests擴充套件方面取得了更多進展,該擴充套件使您能夠處理、建立和管理拉取請求和問題。請檢視該擴充套件 0.96.0 版本的變更日誌,瞭解其亮點。

擴充套件創作

EcmaScript 模組 (ESM) 載入 VS Code 的影響

我們正在逐步將 VS Code 核心中的程式碼載入方式從 AMD/CommonJS 更改為 ESM。擴充套件將繼續以 CommonJS 格式載入,但此更改將導致 require 方法發生變化:特別是,從 1.94 版本開始,require.main 將為 undefined。如果您需要訪問安裝檔案,請考慮使用 vscode.env.appRoot聯絡我們

終端 Shell 整合 API

終端 Shell 整合 API 現已可用。這個強大的 API 使擴充套件能夠監聽終端中執行的命令,讀取它們的原始輸出、退出程式碼和命令。它還提供了一種更可靠的執行命令的方式,該命令將等待提示出現後再發送命令,從而避免命令被額外回顯到終端。

window.onDidEndTerminalShellExecution(event => {
  if (event.execution.commandLine.value.startsWith('git')) {
    if (event.exitCode === 0) {
      // React to a successful git command
    } else {
      // React to a failing git command
    }
  }
});

它還提供了一種更可靠的執行命令的方式,該命令將等待提示出現後再發送命令,從而避免命令被額外回顯到終端。

const commandLine = 'echo "Hello world"';
if (term.shellIntegration) {
  const execution = shellIntegration.executeCommand({ commandLine });
  window.onDidEndTerminalShellExecution(event => {
    if (event.execution === execution) {
      console.log(`Command exited with code ${event.exitCode}`);
    }
  });
} else {
  term.sendText(commandLine);
  // Without shell integration, we can't know when the command has finished or what the
  // exit code was.
}

有關更多資訊,請參閱 vscode.d.ts擴充套件示例

身份驗證帳戶 API

身份驗證 API 現在對處理多個帳戶有了更多的控制。一直以來缺失的功能是能夠獲取所有帳戶併為特定帳戶獲取 AuthenticationSession。現在透過完成 getAccounts API 即可實現。

希望使用身份驗證會話的擴充套件作者可以執行以下程式碼來獲取使用者登入的帳戶的 AuthenticationSessionAccountInformation

const accounts = vscode.authentication.getAccounts('microsoft');

從那裡,您可以使用這些帳戶來專門為這些帳戶頒發會話。

const session = vscode.authentication.getSession('microsoft', scopes, {
  account: accounts[0]
});

注意:要使此功能正常工作,身份驗證提供程式需要處理傳遞給 getSessionscreateSession 的引數。內建的 GitHub 和 Microsoft 提供程式已採用此功能。

我們相信這是處理多個身份驗證會話以及處理我們以前無法支援的各種場景的最清晰方式。

除錯介面卡協議

我們在除錯介面卡協議中向 Variables 和其他資料型別添加了 locationReferences,以實現與源位置的關聯。

VS Code 中的 WebAssembly

wasm-wasi-core 擴充套件的 1.0 版本以及 @vscode-wasm-wasi@vscode/wasm-component-model npm 模組已釋出。使用示例可以在 vscode-extension-samples 倉庫的 wasm-* 子資料夾中找到。在 VS Code 部落格上還有幾篇關於如何在 VS Code 擴充套件中使用 WebAssembly 程式碼的文章。

預覽功能

終端 IntelliSense 改進

此版本中,實驗性 PowerShell IntelliSense 得到了以下改進:

  • git checkout 現在包括一個用於切換到上一個分支的 - 補全。
  • terminal.integrated.suggest.runOnEnter 的預設值現在設定為 ignore,這意味著 Enter 鍵不會與 IntelliSense 互動。這是因為使用者反饋認為對肌肉記憶的影響過於干擾。
  • PowerShell 關鍵字現在可以作為命令(非引數)的補全。
  • cd 的第一個目錄建議現在始終是它本身,這使得當 terminal.integrated.suggest.runOnEnter 設定為 true 時更加流暢。cd into docs will present docs as the top result.
  • 當在命令列不同位置請求時,建議現在更加一致。
  • 當導航回目錄時,會為 <path>/../ 提供補全。cd ..\ will give a suggestion for ..\..\.

Conpty 在產品中釋出

Conpty 是終端的後端,它模擬其他作業系統上的偽終端工作方式。此元件已包含在 Windows 本身中,這意味著修復是透過 Windows 更新發布的。使用者可能需要等待很長時間才能收到這些修復。

在此版本中,我們有一個實驗性設定,它將 conpty 與 VS Code 本身捆綁在一起,類似於 Windows Terminal 的做法。這意味著使用者可以在我們釋出 VS Code 更新時獲得錯誤修復,而無需等待 Windows 更新。

要啟用此功能,請將以下設定設定為 true

"terminal.integrated.experimental.windowsUseConptyDll": true

啟用此功能後,您應該期望看到以下型別的改進:

  • 更好的效能
  • 更可靠的 Shell 整合
  • 更多的轉義序列支援(例如,Windows 上很快將支援 Sixel

目前唯一已知的問題是,一些使用者會有一個程序會一直存在並阻止 VS Code 更新(microsoft/vscode#225719),這需要手動終止該程序才能啟用更新。

TypeScript 5.6 支援

我們繼續改進對即將釋出的 TypeScript 5.6 的支援。請檢視 TypeScript 5.6 RC 部落格文章,瞭解此版本包含的內容。

要開始使用 TypeScript 5.6 的預覽版本,請安裝 TypeScript Nightly 擴充套件

新問題報告者實現

在此里程碑中,我們正在試驗新的問題報告者實現。功能保持不變,但應有一些改進,例如改進的多顯示器支援,以及在 VS Code Web 版本中可用問題報告者。

新版本的問題報告者預設啟用,並且可以在 VS Code 的桌面版本中透過 issueReporter.experimental.auxWindow 設定進行配置。

提議的 API

語言模型工具

我們繼續迭代我們的 LanguageModelTool API。該 API 包含兩個主要部分

  1. 擴充套件程式註冊工具的能力。工具是供語言模型使用的功能的一部分。例如,讀取檔案的 Git 歷史記錄。

  2. 語言模型支援工具的機制,例如擴充套件在發出請求時傳遞工具、語言模型請求工具呼叫以及擴充套件傳回工具呼叫結果。

本月新增的功能之一是使用者能夠手動將某些工具附加到其聊天請求。例如,一個用於計算使用者希望在其請求中使用的一些動態上下文的工具。

可以在 vscode.proposed.lmTools.d.ts 中找到該提案。檢視演示註冊和呼叫工具的 tool-user 示例擴充套件

關注 issue #213274 以獲取更新或給我們反饋。

注意:API 仍在積極開發中,可能會發生更改。

測試增強功能

將程式碼關聯到測試

我們正在開發一個 API,該 API 使擴充套件程式能夠將程式碼關聯到測試,反之亦然。這允許使用者在兩者之間跳轉,並使諸如在游標處執行測試之類的操作也能在實現程式碼中工作。我們預計隨著 API 的發展將構建更多體驗。

檢視 vscode#126932 以獲取更多資訊和更新。

可歸因測試覆蓋率

我們正在開發一個用於按測試基礎屬性測試覆蓋率的 API。這使使用者能夠看到哪些測試運行了哪些程式碼,從而篩選編輯器中顯示的和測試覆蓋率檢視中的覆蓋率。

檢視 vscode#212196 以獲取更多資訊和更新。

聊天參與者檢測 API

如果您正在開發為聊天檢視貢獻參與者或聊天命令的擴充套件程式,您可以透過向 package.json 中的 chatParticipants 貢獻新增元資料來啟用對您的參與者和命令的自動檢測。我們已更新 vscode-extension-samples 倉庫,其中包含展示如何採用此 API 的示例。測試時,請務必設定 chat.experimental.detectParticipant.enabled。請注意,這是一個提議中的 API,可能會發生更改。

網站

我們已修復 VS Code API 頁面下的幾個連結。指向通用型別和函式的連結已恢復正常,原始型別和值不再被格式化為連結!

工程

VS Code 使用 ESM 的進展

在此里程碑期間,我們完成了將 ESM 用於 VS Code Core 的大部分工作。我們的目標是使用 ECMAScript Modules (ESM) 載入並完全放棄 AMD。我們將在九月開始釋出啟用 ESM 的 Insider 版本,並計劃在十月的下一個穩定版釋出中將 ESM 推送到 Stable。

我們釋出 ESM 的計劃已記錄在 https://github.com/microsoft/vscode/issues/226260。

值得注意的修復

感謝

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

問題跟蹤

對我們問題跟蹤的貢獻

拉取請求

vscode 的貢獻

vscode-css-languageservice 的貢獻

vscode-eslint 的貢獻

vscode-flake8 的貢獻

vscode-generator-code 的貢獻

vscode-hexeditor 的貢獻

vscode-isort 的貢獻

vscode-js-profile-visualizer 的貢獻

vscode-json-languageservice 的貢獻

vscode-languageserver-node 的貢獻

vscode-loader 的貢獻

vscode-mypy 的貢獻

vscode-pull-request-github 的貢獻

vscode-python-debugger 的貢獻

vscode-vsce 的貢獻

language-server-protocol 的貢獻

python-environment-tools 的貢獻

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