🚀 在 VS Code 中取得

2024 年 8 月 (版本 1.93)

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

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


歡迎使用 Visual Studio Code 2024 年 8 月版。此版本有許多更新,希望您會喜歡,其中一些主要重點包括

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

協助工具

透過鍵盤調整表格欄大小

新的命令 list.resizeColumn 可讓您使用鍵盤調整欄大小。當您觸發此命令時,請選取您要調整大小的欄,並提供您要設定的寬度百分比。下列影片示範如何套用此功能來調整鍵盤快速鍵編輯器中的欄大小。

螢幕助讀程式支援合成聊天回應

我們已更新 accessibility.voice.autoSynthesize 設定,讓螢幕助讀程式使用者可以選擇加入,以收聽我們的合成器宣告的聊天回應,而不是取得 aria 警示。

偵錯改進

當您在編輯器中偵錯並將焦點放在編輯器中時,叫用偵錯:新增至監看式命令現在會為螢幕助讀程式使用者宣告變數的值。

此外,偵錯協助工具說明對話方塊也已改進,以提高完整性。

工作台

新的設定檔編輯器

新的設定檔編輯器現在已正式推出,供 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,您可以為您的程式碼產生測試,方法是使用編輯器內容功能表中的使用 Copilot 產生測試動作,或使用內嵌聊天中的 /tests 斜線命令。

我們改進了測試產生流程,方法是尋找現有的測試檔案,並將新的測試產生到該檔案中,將其附加在結尾。如果尚無測試檔案,Copilot 會為產生的測試建立新的測試檔案。

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

當您將游標放在識別項 (例如方法名稱) 上時,GitHub Copilot 會提供程式碼動作,以產生測試或文件。為了更佳地反映其用途,我們將這些程式碼動作重新命名為使用 Copilot 產生測試使用 Copilot 產生文件。先前,這些動作稱為使用 Copilot 測試使用 Copilot 文件

New code action names for test and documentation generation

改進的聊天記錄

您可以從聊天記錄中開啟先前的聊天工作階段,方法是使用聊天檢視頂端的顯示聊天按鈕。這些工作階段現在具有更友善使用者且由 AI 產生的名稱。您也可以透過選取每列上的鉛筆圖示來手動重新命名工作階段。

這些聊天記錄項目現在也會依其上次要求日期排序,並依日期分類標籤和分組。

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

注意:只有新的聊天工作階段會取得 AI 產生的名稱,您已擁有的任何聊天工作階段都不會重新命名。

儲存空白視窗的聊天工作階段

先前,VS Code 不會儲存空白視窗 (沒有開啟資料夾或工作區) 的聊天工作階段。現在,這些工作階段會如預期般儲存,而且可以透過顯示聊天按鈕載入來自空白視窗的先前聊天。

注意:您應避免同時在多個空白視窗中開啟和使用相同的聊天工作階段。

在快速聊天中附加內容

使用快速聊天時,您現在可以使用附加內容動作來附加內容,例如檔案和符號到您的 Copilot 要求。

不讚賞意見反應詳細資料

您是否收到來自 Copilot 聊天的非預期回應?請選取聊天回應工具列上的不讚賞按鈕來協助我們。現在,它會顯示一個下拉式清單,其中包含一些詳細選項,供您描述問題。您也可以從此功能表開啟問題回報程式。

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.

在螢幕擷取畫面中,您可以從參考章節看到已使用指示

Copilot Chat using code generation instructions.

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

設定chat.experimental.detectParticipant.enabled

GitHub Copilot 有數個內建的聊天參與者,例如 @workspace,這些參與者也會將命令貢獻給聊天檢視。先前,您必須在聊天提示中明確指定聊天參與者和命令。

為了讓您更輕鬆地以自然語言使用聊天參與者,在接下來的幾週內,我們將實驗啟用 Copilot 聊天,以自動將您的問題路由至合適的參與者或聊天命令。

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

如果自動選取的參與者不適合您的問題,您可以選取聊天回應頂端的重新執行但不執行連結,將您的問題重新傳送給 Copilot。

將最近的程式碼撰寫檔案用作內嵌聊天內容 (實驗性功能)

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

通常,當您提示 Copilot 時,您會詢問與您剛才正在處理或查看的程式碼相關的問題。內嵌聊天現在可以使用最近查看或編輯的程式碼作為內容,以提供更相關的建議。

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

將目前的編輯器行用作內嵌聊天提示 (實驗性功能)

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

您現在可以直接在編輯器中開始輸入,並使用目前行的內容作為內嵌聊天的提示,而不用先開啟內嵌聊天,然後輸入您的聊天提示。為了獲得更順暢的聊天體驗,Copilot 可以偵測您何時正在提示而不是撰寫程式碼,然後自動為您啟動內嵌聊天。

您可以使用目前行作為內嵌聊天提示的不同方式如下

  • 命令調色盤 (⇧⌘P (Windows、Linux Ctrl+Shift+P)) 輸入內嵌聊天:在編輯器中以目前行開始
  • inlineChat.startWithCurrentLine 命令設定鍵盤快速鍵,並將其與 inlineChatExpansion 內容金鑰結合
  • 啟用 github.copilot.config.experimental.inlineChatCompletionTrigger.enabled 設定,以便 Copilot 偵測到目前行主要包含文字而不是原始碼,然後啟動內嵌聊天。

下列影片示範 Copilot 在偵測到目前行上主要包含文字時,如何建議啟動內嵌聊天。

從聊天開始偵錯 (實驗性功能)

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

新的實驗性斜線命令 /startDebugging@vscode 聊天參與者上可用。此命令可讓您建立啟動組態並開始偵錯您的應用程式。

您也可以透過建立 launch.json 快速選取中的使用 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 使用 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。這大幅改進了程式碼的導覽,讓您可以正確地移至定義尋找所有參考專案中的任何符號。它也啟用了類型錯誤報告。我們現在甚至支援在撰寫程式碼時自動匯入。

Finding all references of a symbol in a TypeScript project.

Chrome、Microsoft Edge 和 Firefox 支援套件類型定義和完整專案 IntelliSense。Safari 尚不支援,因為它未實作 ReadableByteStreamController

原始檔控制

原始檔控制圖表檢視

根據使用者意見反應,我們已將上一個里程碑中從原始檔控制檢視啟用的歷程記錄圖表移至名為原始檔控制圖表的新檢視中。這減少了主要檢視中的資訊過載,並可讓您視需要隱藏/摺疊/移動新檢視。這也為功能完整的歷程記錄圖表奠定了基礎。

原始檔控制圖表檢視目前顯示目前分支的遠端/基準。在下一個里程碑中,我們正努力新增篩選圖表至任何存放庫參考的功能,並改善具有多個存放庫的工作區體驗。

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

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

支援 reftable 格式

Git 2.45 新增了對名為「reftable」的新參考儲存後端的初步支援。在此里程碑中,我們更新了內建的 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 主題金鑰透過主題設定色彩。

筆記本

在差異檢視中顯示或隱藏未變更的儲存格

筆記本差異檢視現在會隱藏未變更的儲存格,讓您可以專注於已變更的儲存格。同時,所有未變更儲存格的輸入一律會摺疊。

管理差異檢視中的空白字元

筆記本差異檢視現在會遵循下列設定

筆記本執行計數的黏性捲動

當向下捲動程式碼儲存格時,程式碼儲存格的執行計數現在會黏附在螢幕底部。這讓您在長程式碼儲存格中工作時,更容易查看執行狀態和更新。

工作

在程序結束時保持工作終端開啟

如果工作終端程序以非零程式碼結束,我們現在會保持終端開啟,以便更輕鬆地進行偵錯。

偵錯

跳至變數定義

偵錯擴充功能現在可以將變數和運算式連結至程式碼中的位置。具有此連結的資料在變數檢視、監看式檢視和偵錯主控台中是 Ctrl 可選取的 (在 macOS 上是 Cmd 可選取的)。

內建的 JavaScript 偵錯工具會連結程式碼中定義的函式位置。其他偵錯擴充功能需要採用對應的通訊協定變更才能啟用此功能。

尋找控制項

您現在可以在偵錯主控台中開啟尋找控制項 (⌥⌘F (Windows、Linux Ctrl+Alt+F)),以搜尋輸入中的結果。在未來的里程碑中,將研究在輸出中搜尋結果的支援。

您也可以透過出現在偵錯主控台工具列上篩選控制項右側的動作 Debug Console: Focus Find 來存取控制項。

啟動組態輸入快取

啟動組態和工作中使用的輸入變數現在會持續其上次輸入的值,以簡化重新執行依賴它們的偵錯工作階段的程序。只有在輸入上未定義明確的 default 時,才會執行此動作。

JavaScript 偵錯工具

實驗性網路檢視

JavaScript 偵錯工具現在包含一個基本的實驗性網路檢視,當 debug.javascript.enableNetworkView 設定開啟時,該檢視可用。此檢視會顯示瀏覽器工作階段提出的要求和回應的相關資訊。

顯示 JavaScript 偵錯工具網路檢視的螢幕擷取畫面。 主題:Codesong (在 vscode.dev 上預覽)

當程序使用 --experimental-network-inspection (在其引數中,例如將 "runtimeArgs": ["--experimental-network-inspection"] 新增至 node 啟動組態) 啟動時,網路檢視也適用於 Node.js 22.6.0 及更高版本。

注意:Node 的網路實作仍處於非常早期的階段,而且大部分關於要求和回應的資料尚無法使用。

測試

支援訊息上的堆疊追蹤

測試擴充功能現在可以將堆疊追蹤與測試失敗建立關聯。當它們執行此動作時,您會在測試結果檢視和錯誤預覽中看到呼叫堆疊每個框架周圍的程式碼。您可以在檢視中 Ctrl 選取 (在 macOS 上是 Cmd 選取) 程式碼以移至其原始位置,或在其標頭上使用移至檔案動作。

編輯器顯示測試失敗訊息和導致失敗的對應呼叫堆疊。 主題:Codesong (在 vscode.dev 上預覽)

安裝程式

Debian 套件現在會提示您確認是否要新增 packages.microsoft.com 存放庫。這可讓您稍後使用 apt 更新套件。

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

遠端開發

遠端開發擴充功能可讓您使用 開發容器、透過 SSH 或 遠端通道的遠端機器,或 Windows Subsystem for Linux (WSL) 作為功能完整的開發環境。

重點包括

  • 開發容器範本的選用路徑
  • 透過 SSH 擴充遠端作業系統的相容性

您可以在遠端開發版本資訊中深入瞭解這些功能。

適用於 Web 的 VS Code

當在 https://vscode.dev 上或在桌面上使用 GitHub 存放庫擴充功能瀏覽 GitHub 存放庫時,現在會遵循 git.openDiffOnClick 設定。

Open diff by selecting Open Changes for changed resources.

擴充功能的貢獻

Python

Django 單元測試支援

我們很高興宣佈支援我們最要求的功能之一:您現在可以透過測試總管探索和執行 Django 單元測試!如需關於如何啟用此功能的設定指示,請查看我們的文件

在測試總管中探索和執行的 Django 單元測試。 主題:Catppuccin Macchiato (在 vscode.dev 上預覽)

當您探索這項新新增的功能時,請提供意見反應,並在我們的 vscode-python 存放庫中回報任何問題,或使用Python:回報問題命令。

原生 REPL 改進

我們對新的原生 REPL 體驗進行了更多改進和錯誤修正。我們正在推出原生 REPL 作為 智慧型傳送的預設目標作為實驗,但如果您有興趣試用此功能,您可以在您的使用者 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 Pull Requests 和 Issues

GitHub Pull Requests 擴充功能已取得更多進展,可讓您處理、建立和管理提取要求和問題。檢閱擴充功能 0.96.0 版本的變更記錄,以瞭解重點。

擴充功能撰寫

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

我們正處於變更程式碼在 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

驗證 API 現在在處理多個帳戶時具有更多控制權。一直以來缺少的功能是取得所有帳戶以及取得特定帳戶的 AuthenticationSession 的能力。現在可以透過 getAccounts API 的最終版本來實現這一點。

想要取用驗證工作階段的擴充功能作者可以執行下列程式碼,以取得使用者登入的帳戶的 AuthenticationSessionAccountInformation

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

從那裡,您可以使用這些帳戶來特別為這些帳戶鑄造工作階段

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

注意:為了使此功能運作,身份驗證提供者需要處理一個參數,該參數會傳遞到 getSessionscreateSession。內建的 GitHub 和 Microsoft 提供者已經採用了此方法。

我們認為這是處理多個身份驗證工作階段,以及處理我們之前無法支援的各種情境的最清晰方式。

偵錯配接器通訊協定

我們在 偵錯介面協定 中的變數和其他資料類型中新增了 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 設定時更加順暢。cd into docs will present docs as the top result.
  • 當在命令列上的不同位置請求建議時,建議現在更加一致。
  • 當導航回目錄時,為 <path>/../ 提供完成項目。cd ..\ will give a suggestion for ..\..\.

Conpty 產品內建

Conpty 是終端機的後端,它模擬虛擬終端機在其他作業系統上的運作方式。此組件在 Windows 本身中發布,這表示錯誤修復會透過 Windows Update 發布。使用者可能最終需要等待很長時間才能收到這些修復。

在此版本中,我們有一個實驗性設定,將 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 for the 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 的發展,將會建構更多體驗。

查看 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 for VS Code Core 的大部分工作。我們的目標是使用 ECMAScript Modules (ESM) 載入並完全捨棄 AMD。我們將在 9 月開始發布啟用 ESM 的 Insider 組建,並計劃在 10 月的下一個版本中將 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 的貢獻