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

2024 年 4 月 (1.89 版本)

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

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


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

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

輔助功能

進度輔助功能訊號

設定 accessibility.signals.progress 允許螢幕閱讀器使用者在使用者介面中顯示進度條的任何位置聽到進度。訊號在三秒鐘後播放,然後每五秒鐘迴圈播放一次,直到進度條完成。訊號可能播放的示例包括:搜尋工作區時、聊天響應待處理時、筆記本單元執行時等。

改進的編輯器輔助功能訊號

現在,當行有錯誤或警告時,或當游標位於錯誤或警告上時,都有單獨的輔助功能訊號。

我們支援分別自定義在編輯器中行和列之間導航時輔助功能訊號的延遲。此外,aria 警報訊號在播放前比音訊提示訊號有更高的延遲。

當建議控制元件顯示時,內聯建議不再觸發輔助功能訊號。

可訪問檢視

輔助功能檢視(⌥F2 (Windows Alt+F2, Linux Shift+Alt+F2))允許螢幕閱讀器使用者檢查工作臺功能。

終端改進

現在,當您在終端輔助功能檢視中導航到下一個(⌥↓ (Windows、Linux Alt+Down))或上一個(⌥↑ (Windows、Linux Alt+Up))命令時,您可以聽到當前命令是否失敗。此功能可以透過設定 accessibility.signals.terminalCommandFailed 進行切換。

當從啟用了 shell 整合的終端開啟此檢視時,VS Code 會提示終端命令列以改善體驗。

聊天程式碼塊導航

當您在聊天響應的輔助功能檢視中時,您現在可以在下一個(⌥⌘PageDown (Windows、Linux Ctrl+Alt+PageDown))和上一個(⌥⌘PageUp (Windows、Linux Ctrl+Alt+PageUp))程式碼塊之間導航。

評論檢視

當安裝了提供評論的擴充套件且評論檢視處於焦點時,您可以在輔助功能檢視中檢查和導航檢視中的評論。也可從輔助功能檢視中執行評論上可用的擴充套件提供的操作。

工作臺

語言模型使用報告

對於使用語言模型的擴充套件,您現在可以在擴充套件編輯器和執行時擴充套件編輯器中跟蹤它們的語言模型使用情況。例如,您可以檢視語言模型請求的數量,如以下螢幕截圖所示的 Copilot Chat 擴充套件

Screenshot of the Runtime Status for the Copilot Chat extension, showing the number of language model requests.

本地工作區擴充套件

本地工作區擴充套件,首次在 VS Code 1.88 版本中引入,現已全面可用。您現在可以將擴充套件直接包含在工作區中,並僅為該工作區安裝它。此功能旨在滿足您的特定工作區需求並提供更定製的開發體驗。

要使用此功能,您需要將擴充套件放在工作區內的 .vscode/extensions 資料夾中。然後,VS Code 會在擴充套件檢視的工作區推薦部分中顯示此擴充套件,使用者可以從此處安裝它。VS Code 僅為該工作區安裝此擴充套件。本地工作區擴充套件要求使用者在安裝和執行此擴充套件之前信任工作區。

例如,考慮 VS Code 儲存庫中的 vscode-selfhost-test-provider 擴充套件。此擴充套件插入了測試功能,使貢獻者能夠直接在工作區中檢視和執行測試。以下螢幕截圖顯示了擴充套件檢視的“工作區推薦”部分中的 vscode-selfhost-test-provider 擴充套件以及安裝它的能力。

Screenshot showing a local workspace extension available in the .vscode folder in the Explorer view.

請注意,您應該在 .vscode/extensions 資料夾中包含未打包的擴充套件,而不是 VSIX 檔案。您還可以只包含擴充套件的原始碼並將其作為工作區設定的一部分進行構建。

快速開啟中的自定義編輯器標籤

上個月,我們推出了自定義標籤,它允許您個性化編輯器標籤的標籤。此功能旨在幫助您更輕鬆地區分同名檔案的標籤,例如 index.tsx 檔案。

在此基礎上,我們已將自定義標籤的使用擴充套件到快速開啟(⌘P (Windows, Linux Ctrl+P))。現在,您可以使用建立的自定義標籤搜尋檔案,使檔案導航更加直觀。

Screenshot showing the use of custom labels in Quick Open to distinguish between multiple 'index.jsx' files.

自定義按鍵繫結

我們已使自定義使用者介面操作的按鍵繫結更加簡單。右鍵單擊工作臺中的任何操作項,然後選擇自定義按鍵繫結。如果操作具有 when 子句,它將自動包含在內,從而更容易按您需要的方式設定按鍵繫結。

在樹中查詢按鍵繫結

我們解決了一個問題,即“查詢”控制元件在樹控制元件中經常意外開啟。例如,當“查詢”控制元件出現在資源管理器檢視中而不是在編輯器中搜索時。

為了減少這些意外啟用,我們已將樹控制元件中開啟“查詢”控制元件的預設按鍵繫結更改為 ⌥⌘F (Windows, Linux Ctrl+Alt+F)。如果您喜歡以前的設定,可以使用鍵盤快捷方式編輯器輕鬆將 list.find 命令恢復為原始按鍵繫結。

自動檢測系統顏色模式改進

如果您希望主題遵循系統的顏色模式,您已經可以透過啟用設定 window.autoDetectColorScheme 來實現這一點。

啟用後,當前主題在深色模式下由 workbench.preferredDarkColorTheme 設定定義,在淺色模式下由 workbench.preferredLightColorTheme 設定定義。

在這種情況下,workbench.colorTheme 設定將不再考慮。它僅在 window.autoDetectColorScheme 關閉時使用。

在此里程碑中,新功能是主題選擇器對話方塊(首選項:顏色主題命令)現在能夠感知系統顏色模式。請注意,當系統處於深色模式時,主題選擇只顯示深色主題

Screenshot showing the theme selection dialog configuring the theme for Dark mode.

該對話方塊還有一個新按鈕,可以直接將您帶到 window.autoDetectColorScheme 設定

Screenshot showing the theme selection dialog, highlighting the button to configure the autoDetectColorScheme setting.

在評論控制元件的輸入編輯器中,貼上連結與在 Markdown 檔案中貼上連結的行為相同。將顯示貼上選項,您可以選擇貼上 Markdown 連結而不是複製的原始連結。

Screenshot of Comments control, showing the paste link context menu.

原始碼管理

切換分支時儲存/恢復開啟的編輯器

此里程碑中,我們解決了一個長期存在的功能請求,即在切換原始碼控制分支時儲存和恢復編輯器。使用 scm.workingSets.enabled 設定啟用此功能。

要控制首次切換到分支時開啟的編輯器,您可以使用 scm.workingSets.default 設定。您可以選擇不開啟編輯器 (empty),或使用當前開啟的編輯器 (current,預設值)。

用於檢視更改的專用命令

為了更容易在多檔案差異編輯器中檢視特定型別的更改,我們向命令面板添加了一組新命令:Git: 檢視暫存更改Git: 檢視更改Git: 檢視未跟蹤更改

Notebook

最小錯誤渲染器

您可以使用設定 notebook.output.minimalErrorRendering 為筆記本錯誤渲染器使用新的佈局。此新佈局僅顯示錯誤和訊息,以及一個用於展開完整錯誤堆疊以供檢視的控制元件。

停用大型筆記本的備份

現在,對於大型筆記本檔案,已停用定期檔案備份,以減少寫入檔案到磁碟的時間。該限制可以透過設定 notebook.backup.sizeLimit 進行調整。我們還在試驗一個選項,以避免在儲存筆記本檔案時阻塞渲染器,使用 notebook.experimental.remoteSave,這樣自動儲存可以在沒有效能損失的情況下進行。

修復大綱/粘性滾動效能退化

在過去幾個月中,我們收到了關於筆記本編輯器效能退化的反饋。這些退化很難查明,也不容易重現。感謝社群不斷提供日誌和反饋,我們能夠確定這些退化是由於我們在大綱和粘性滾動功能中新增新功能而引起的。這些問題已在此版本中修復。

我們感謝社群的反饋和耐心,並將繼續改進筆記本編輯器的效能。如果您仍然遇到效能問題,請隨時在 VS Code 儲存庫中提交新問題。

快速搜尋使您能夠快速對工作區檔案執行文字搜尋。快速搜尋不再是實驗性的,所以請使用命令面板中的搜尋:快速搜尋命令(⇧⌘P (Windows, Linux Ctrl+Shift+P))進行嘗試!✨🔍

主題:Night Owl Light(在vscode.dev上預覽)

請注意,所有快速搜尋命令和設定在其識別符號中不再包含“experimental”關鍵字。例如,命令 ID workbench.action.experimental.quickTextSearch 已變為 workbench.action.quickTextSearch。如果您有使用這些舊 ID 的設定或按鍵繫結,這可能很重要。

搜尋樹遞迴展開

我們有一個新的上下文選單選項,可以遞迴開啟搜尋樹中選定的樹節點。

主題:Night Owl Light(在vscode.dev上預覽)

終端

預設啟用 Git Bash shell 整合

Git Bash 的 Shell 整合現在自動啟用。這為 Git Bash 帶來了許多功能,例如命令導航粘性滾動快速修復等。

配置中鍵貼上

在大多數 Linux 發行版上,中鍵貼上選定的內容。現在可以透過將 terminal.integrated.middleClickBehavior 配置為 paste,在其他作業系統上啟用類似的行為,這將在中鍵單擊時貼上常規剪貼簿內容。

以前,透過 OSC 8 轉義序列建立的 ANSI 超連結僅支援 httphttps 協議,但現在適用於任何協議。出於安全原因,預設情況下,只有帶有 filehttphttpsmailtovscodevscode-insiders 協議的連結才會被啟用,但您可以透過 terminal.integrated.allowedLinkSchemes 設定新增更多協議。

終端的新圖示選擇器

從終端標籤上下文選單中選擇更改圖示現在會開啟為配置檔案構建的新圖示選擇器

Screenshot showing the new icon picker shows a preview and the id of the icon as well as a filter box

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

支援視窗大小報告

終端現在響應以下轉義序列請求

  • CSI 14 t 報告終端的視窗大小(以畫素為單位)
  • CSI 16 t 報告終端的單元格大小(以畫素為單位)
  • CSI 18 t 報告終端的視窗大小(以字元為單位)

⚠️ Canvas 渲染器棄用

終端有三種不同的渲染器:DOM 渲染器、WebGL 渲染器和 canvas 渲染器。我們早就想移除 canvas 渲染器,但由於 DOM 渲染器效能不佳和 WebKit 未實現 webgl2 而受阻。這兩個問題現已解決!

此版本中,我們從回退鏈中移除了 canvas 渲染器,因此只有當 terminal.integrated.gpuAcceleration 設定明確設定為 "canvas" 時才啟用它。我們計劃在下一個版本中完全移除 canvas 渲染器。如果 terminal.integrated.gpuAcceleration 設定為 "on""off" 時您遇到問題,請告知我們。

除錯

JavaScript 偵錯程式

JavaScript 偵錯程式現在會自動查詢 runtimeExecutable 配置中出現在 node_modules/.bin 資料夾中的二進位制檔案。現在,它會按名稱自動解析它們。

在以下示例中,請注意您只需引用 mocha,而無需指定二進位制檔案的完整路徑。

{
	"name": "Run Tests",
	"type": "node",
	"request": "launch",
-	"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/mocha",
-	"windows": {
-		"runtimeExecutable": "${workspaceFolder}/node_modules/.bin/mocha.cmd"
-	},
+	"runtimeExecutable": "mocha",
}

語言

Markdown 路徑補全中的影像預覽

VS Code 內建的 Markdown 工具為 Markdown 中的連結和影像提供路徑補全。當補全影像或影片檔案的路徑時,我們現在直接在補全詳情中顯示一個小預覽。這可以幫助您更輕鬆地找到所需的影像或影片。

Screenshot showing a preview of an image in Markdown path completions

懸停以預覽 Markdown 中的影像和影片

想要快速預覽 Markdown 中的影像或影片,而無需開啟完整的Markdown 預覽?現在您可以將滑鼠懸停在影像或影片路徑上以檢視其小預覽

Screenshot showing hovering over an image's path to preview it

改進的 Markdown 標題重新命名

您知道 VS Code 內建的 Markdown 支援允許您使用 F2 重新命名標題嗎?這很有用,因為它還會自動更新指向該標題的所有連結。此迭代中,我們改進了在 Markdown 檔案中存在重複標題情況下的重新命名處理。

考慮 Markdown 檔案

# Readme
- [Example 1](#_example)
- [Example 2](#_example-1)

## Example
...

## Example
...

兩個 ## 示例 標題具有相同的文字,但可以透過使用唯一的 ID(#示例#示例-1)分別連結到它們。以前,如果您將第一個 ## 示例 標題重新命名為 ## 第一個示例#示例 連結將正確更改為 #第一個示例,但 #示例-1 連結不會更改。但是,重新命名後 #示例-1 不再是有效連結,因為不再有重複的 ## 示例 標題。

我們現在正確處理此場景。例如,如果您將上面文件中的第一個 ## 示例 標題重新命名為 ## 第一個示例,則新文件將是

# Readme
- [Example 1](#_first-example)
- [Example 2](#_example)

## First Example
...

## Example
...

請注意,兩個連結現在都已自動更新,因此它們都保持有效!

遠端開發

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

亮點包括:

  • 透過 SSH 連線到 WSL

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

對擴充套件的貢獻

GitHub Copilot

終端內聯聊天

終端內聯聊天現在是終端中的預設體驗。當終端處於焦點時,使用鍵盤快捷鍵 ⌘I (Windows, Linux Ctrl+I) 將其調出。

Screenshot showing opening terminal inline chat opens and focuses an input box similar to inline chat in the editor

終端內聯聊天使用 @terminal 聊天參與者,該參與者具有整合終端的 shell 及其內容的上下文。

Screenshot showing that you can ask complex questions like "list the top 5 largest files in the src dir"

一旦建議了命令,使用 ⌘Enter (Windows, Linux Ctrl+Enter) 在終端中執行命令,或使用 ⌥Enter (Windows, Linux Alt+Enter) 將命令插入終端。命令也可以在執行之前直接在 Copilot 的響應中進行編輯(目前在 Windows 和 Linux 上是 Ctrl+down, Tab, Tab;在 macOS 上是 Cmd+down, Tab, Tab)。

Screenshot showing that complex queries are OS and shell-specific

Copilot 驅動的重新命名建議按鈕

Copilot 驅動的重新命名建議現在可以透過重新命名控制元件中的閃光圖示觸發。

內容排除

GitHub Copilot 內容排除現在在 Copilot Chat 中支援所有 Copilot for Business 和 Copilot Enterprise 客戶。有關配置內容排除的資訊可以在 GitHub 文件中找到。

當檔案被內容排除時,Copilot Chat 無法檢視檔案內容或路徑,並且不會用於生成 LLM 建議。

Screenshot showing a file which has been excluded in panel chat, displaying a warning about decreased suggestion quality

Screenshot showing a file which has been excluded in inline chat, showing an error that inline chat cannot be used

預覽:在筆記本編輯器中生成

我們現在支援在筆記本編輯器中自動啟用內聯聊天並插入新單元格。當 notebook.experimental.generate 設定為 true 時,我們在筆記本工具欄和單元格之間的插入工具欄上顯示一個生成按鈕。當焦點位於筆記本列表或單元格容器上時,也可以透過在 macOS 上按 Cmd+I(或在 Windows/Linux 上按 Ctrl+I)來觸發。此功能可以幫助簡化在語言模型的幫助下在新單元格中生成程式碼的過程。

Python

“實現所有繼承的抽象類”程式碼操作

使用 Pylance 時,使用抽象類現在更容易。當定義一個繼承自抽象類的新類時,您現在可以使用實現所有繼承的抽象類程式碼操作來自動實現父類中的所有抽象方法和屬性

主題:Catppuccin Macchiato(在 vscode.dev 上預覽)

新的自動縮排設定

以前,Pylance 的自動縮排行為透過 editor.formatOnType 設定控制,如果您想停用自動縮排但啟用其他受支援工具的鍵入時格式化,這可能會出現問題。為了解決這個問題,Pylance 有自己的設定來控制其自動縮排行為:python.analysis.autoIndent,預設情況下啟用。

Screenshot showing Python Analysis Auto Indent setting to control auto indentation with Pylance

Debugpy 已從 Python 擴充套件中移除,取而代之的是 Python Debugger 擴充套件

現在除錯功能由 Python Debugger 擴充套件處理,我們已從 Python 擴充套件中移除 debugpy。

作為此更改的一部分,您的 launch.json 檔案中指定的 "type": "python""type": "debugpy" 都將引用 Python Debugger 擴充套件的路徑,無需對您的 launch.json 檔案進行任何更改即可有效執行和除錯。未來,我們建議使用 "type": "debugpy",因為它直接對應於 Python Debugger 擴充套件。

現在在測試期間可以停用套接字

您現在可以透過 Python 測試重寫上的測試 UI 執行停用套接字的測試。這是透過 Python 擴充套件和測試執行子程序之間通訊切換到現在使用命名管道來實現的。

已更新次要測試錯誤

測試檢視現在可以正確顯示使用 unittest 和引數化測試在巢狀類中包含 testscenarios 的專案。此外,測試資源管理器現在可以處理帶有符號連結的工作區中的測試,特別是符號連結路徑的子工作區根目錄,這在 WSL 場景中特別有用。

Pylance 的效能改進

Pylance 團隊收到了反饋,Pylance 的效能在過去幾個版本中有所下降。我們對記憶體消耗和索引效能進行了一些小的改進,以解決各種報告的問題。但是,對於那些可能仍然遇到 Pylance 效能問題的人,我們懇請透過命令面板中的Pylance: 報告問題命令提交問題,最好附帶日誌、程式碼示例和/或工作環境中安裝的包。

十六進位制編輯器

十六進位制編輯器現在除了長期存在的“替換”模式外,還具有“插入”模式。插入模式允許在檔案內部和末尾新增新位元組,並且可以使用 Insert 鍵或從狀態列進行切換。

十六進位制編輯器現在還會在狀態列中顯示當前懸停的位元組。

GitHub 拉取請求

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

  • 當透過隱藏設定 "githubPullRequests.experimentalUpdateBranchWithGitHub": true 啟用時,非檢出 PR 的實驗性衝突解決方案可用。此功能允許您在不本地檢出分支的情況下解決 PR 中的衝突。該功能仍處於實驗階段,並非適用於所有情況。
  • 當從 Pull Requests 和 Issues 檢視觸發開啟輔助功能幫助時,會顯示一個輔助功能幫助對話方塊。
  • 當有足夠的空間時,所有審查操作按鈕都會顯示在活動 Pull Request 側邊欄檢視中。

請檢視擴充套件 0.88.0 版本的更新日誌,瞭解其他亮點。

TypeScript

檔案監視由 VS Code 核心處理

一個新的實驗性設定 typescript.tsserver.experimental.useVsCodeWatcher 控制 TS 擴充套件是否使用 VS Code 的核心檔案監視支援來滿足檔案監視需求。TS 廣泛使用檔案監視,通常使用其自己的基於 node.js 的實現。透過使用 VS Code 的檔案監視器,監視應該更高效、更可靠且消耗更少的資源。我們計劃在 5 月逐步為使用者啟用此功能並監控是否存在迴歸。

預覽功能

VS Code 原生 PowerShell 智慧感知

我們已經在終端中實現 PowerShell 智慧感知的原型有一段時間了,最近我們投入了更多時間進行完善。它看起來是這樣的

目前,它在 - 字元或按下 Ctrl+空格鍵時觸發。要啟用此功能,請在您的 settings.json 檔案中設定 "terminal.integrated.shellIntegration.suggestEnabled": true(目前它不會顯示在設定 UI 中)。

此功能仍處於早期階段,但我們很樂意聽取您的反饋。我們計劃的一些更大的目標是使其觸發更可靠(#211222),無論彈出視窗在哪裡觸發,使建議更一致(#211364),並使體驗儘可能接近編輯器智慧感知體驗(#211076#211194)。

假設您正在編寫一些 Markdown 文件,並且您意識到文件的某個部分實際上屬於其他位置。因此,您將其複製並貼上到另一個檔案中。一切都好,對嗎?如果複製的文字包含任何相對路徑連結、引用連結或影像,那麼這些連結很可能會損壞,並且您必須手動修復它們。這可能是一個真正的痛苦,但值得慶幸的是,新的“貼上時更新連結”功能可以幫助您!

要啟用此功能,只需設定 "markdown.experimental.updateLinksOnPaste": true。啟用後,當您在當前編輯器中的 Markdown 檔案之間複製和貼上文字時,VS Code 會自動修復所有相對路徑連結、引用連結以及所有帶有相對路徑的影像/影片。

粘貼後,如果您意識到您想插入完全相同的複製文字,您可以使用貼上控制元件切換回正常的複製/貼上行為。

支援 TypeScript 5.5

我們現在支援 TypeScript 5.5 測試版。請檢視 TypeScript 5.5 測試版部落格文章迭代計劃,瞭解此版本的詳細資訊。

編輯器亮點包括

  • 正則表示式的語法檢查。
  • 檔案監視改進。

要開始使用 TypeScript 5.5 測試版,請安裝 TypeScript Nightly 擴充套件。請分享反饋,並讓我們知道您在使用 TypeScript 5.5 時是否遇到任何錯誤。

API

改進了評論輸入編輯器中的語言功能支援

在編寫新評論時,VS Code 會建立一個精簡的文字編輯器,該編輯器由 TextDocument 提供支援,就像 VS Code 中的主編輯器一樣。本次迭代中,我們在此評論文字編輯器中啟用了額外的 API 功能。這包括

  • 支援工作區編輯。
  • 支援診斷。
  • 支援貼上為建議 API。

評論文字文件可以透過具有 comment 方案的 URI 進行識別。

我們期待看到擴充套件使用此新功能構建什麼!

已最終確定視窗活動 API

視窗活動 API 已最終確定。此 API 提供了一個簡單的附加 WindowState.active 布林值,擴充套件可以使用它來確定視窗最近是否被互動過。

vscode.window.onDidChangeWindowState(e => console.log('Is the user active?', e.active));

提議的 API

檢視的輔助功能幫助對話方塊

可以透過 accessibilityHelpContent 屬性為任何擴充套件貢獻的檢視新增輔助功能幫助對話方塊。當檢視獲得焦點時,螢幕閱讀器使用者會聽到開啟對話方塊的提示(⌥F1 (Windows Alt+F1, Linux Shift+Alt+F1)),其中包含概述和有用的命令。

此 API 由 GitHub Pull Request 擴充套件的 Issues 和 PR 檢視使用。

語言模型和聊天 API

語言模型名稱空間 (vscode.lm) 匯出了用於檢索語言模型資訊和計算給定字串的令牌計數的新函式。它們分別是 getLanguageModelInformationcomputeTokenLength。您應該使用這些函式來構建在語言模型限制範圍內的提示。

注意:內聯聊天現在由即將推出的聊天參與者 API 提供支援。這也意味著 registerInteractiveEditorSessionProvider 已棄用,並將很快移除。

更新的文件貼上提案

我們繼續迭代文件貼上提案 API。此 API 使擴充套件能夠掛接到文字文件中的複製/貼上操作。

API 的顯著變化包括

  • 一個新的 resolveDocumentPasteEdit 方法,用於在貼上操作時填充編輯。如果計算編輯需要很長時間,則應使用此方法,因為它僅在實際需要應用貼上編輯時才呼叫。

  • 所有貼上操作現在都由 DocumentDropOrPasteEditKind 標識。這與現有的 CodeActionKind 非常相似,並用於貼上操作的鍵繫結和設定。

文件貼上擴充套件示例包含所有最新的 API 更改,因此您可以測試 API。請務必分享對更改和整體 API 設計的反饋。

懸停詳細程度

本次迭代中,我們添加了一個新的提案 API 來摺疊/展開懸停,名為 editorHoverVerbosityLevel。它引入了一種名為 VerboseHover 的新型別,該型別具有兩個布林欄位:canIncreaseHoverVerbositycanDecreaseHoverVerbosity,它們指示懸停詳細程度是否可以增加或減少。如果其中一個設定為 true,則懸停將顯示帶有 +- 圖示,可用於增加/減少懸停詳細程度。

提案 API 還為 provideHover 方法引入了一個新簽名,該簽名接受一個型別為 HoverContext 的附加引數。當用戶傳送懸停詳細程度請求時,懸停上下文將填充先前的懸停以及一個 HoverVerbosityAction,該操作指示使用者是希望增加還是減少詳細程度。

在擴充套件觸發的 TestRuns 上 preserveFocus

對於由擴充套件觸發的測試執行請求,有一個提案,其中包含一個 preserveFocus 布林值。以前,從擴充套件 API 觸發的測試執行不會導致焦點移動到測試結果檢視,這需要一些擴充套件重新發明輪子以保持使用者體驗相容性。此新選項可以在 TestRunRequest 上設定,以要求編輯器移動焦點,就像執行是從編輯器內部觸發一樣。

值得注意的修復

  • 209917 輔助視窗:恢復最大化狀態 (Linux, Windows)

感謝

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

問題跟蹤

對我們問題跟蹤的貢獻

拉取請求

vscode 的貢獻

vscode-css-languageservice 的貢獻

vscode-emmet-helper 的貢獻

vscode-eslint 的貢獻

vscode-hexeditor 的貢獻

vscode-json-languageservice 的貢獻

vscode-languageserver-node 的貢獻

vscode-python-debugger 的貢獻

vscode-vsce 的貢獻

language-server-protocol 的貢獻

monaco-editor 的貢獻