🚀 在 VS Code 中

2024 年 4 月 (版本 1.89)

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

下載:Windows: x64 Arm64 | Mac: 通用 Intel silicon | 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 子句,則會自動包含,讓您更輕鬆地設定您需要的鍵盤快速鍵。

在樹狀結構中尋找鍵盤快速鍵

我們已解決在樹狀結構控制項中,尋找控制項經常意外開啟的問題。例如,當尋找控制項出現在 Explorer 檢視中,而不是在編輯器中搜尋時。

為了減少這些意外啟動,我們已將在樹狀結構控制項中開啟尋找控制項的預設鍵盤快速鍵變更為 ⌥⌘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.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 報告終端機的視窗大小 (字元)

⚠️ 已棄用畫布轉譯器

終端機具有三種不同的轉譯器:DOM 轉譯器、WebGL 轉譯器和畫布轉譯器。我們一直想移除畫布轉譯器,但由於 DOM 轉譯器效能不佳,且 WebKit 未實作 webgl2 而受阻。這兩個問題現在都已解決!

此版本中,我們已從回退鏈中移除畫布轉譯器,因此僅當 terminal.integrated.gpuAcceleration 設定明確設定為 "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
...

兩個 ## Example 標題具有相同的文字,但可以使用唯一的 ID (#example#example-1) 個別連結到每個標題。先前,如果您將第一個 ## Example 標題重新命名為 ## First Example,則 #example 連結會正確變更為 #first-example,但 #example-1 連結不會變更。但是,在重新命名之後,#example-1 不再是有效的連結,因為不再有重複的 ## Example 標題。

我們現在正確處理了這種情況。例如,如果您在上面的文件中將第一個 ## Example 標題重新命名為 ## First Example,則新文件將會是

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

## First Example
...

## Example
...

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

遠端開發

遠端開發擴充功能,讓您可以使用 開發容器、透過 SSH 或 遠端通道 的遠端機器,或 Windows Subsystem for Linux (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+向下TabTab,在 macOS 上是 Cmd+向下TabTab)。

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 偵錯工具擴充功能

既然偵錯功能已由 Python 偵錯工具 擴充功能處理,我們已從 Python 擴充功能中移除 debugpy。

作為此變更的一部分,您在 launch.json 檔案中指定的 "type": "python""type": "debugpy" 都會參考 Python 偵錯工具擴充功能的路徑,您的 launch.json 檔案不需要任何變更即可有效執行和偵錯。展望未來,我們建議使用 "type": "debugpy",因為這直接對應於 Python 偵錯工具擴充功能。

現在可以在測試期間停用 Socket

您現在可以從 Python 測試重寫的測試 UI 中執行停用 Socket 的測試。這是透過 Python 擴充功能與測試執行子程序之間的通訊切換為現在使用具名管道來實現的。

更新了次要測試錯誤

測試檢視現在正確顯示使用 testscenarios 搭配 unittest 和巢狀類別內參數化測試的專案。此外,測試 Explorer 現在處理具有符號連結的工作區中的測試,特別是符號連結路徑的子系的工作區根目錄,這在 WSL 案例中特別有用。

Pylance 的效能改進

Pylance 團隊一直收到回饋,指出 Pylance 的效能在過去幾個版本中有所下降。我們已對記憶體消耗和索引效能進行了一些較小的改進,以解決各種回報的問題。但是,對於那些可能仍然遇到 Pylance 效能問題的使用者,我們懇請透過命令面板中的 Pylance:回報問題 命令提交問題,最好附上記錄、程式碼範例和/或工作環境中安裝的套件。

Hex Editor

Hex Editor 現在除了長期存在的「取代」模式外,還具有插入模式。插入模式允許在檔案內和檔案末尾新增位元組,並且可以使用 Insert 鍵或從狀態列切換。

Hex Editor 現在也會在狀態列中顯示目前懸停的位元組。

GitHub Pull Requests

GitHub Pull Requests 擴充功能方面取得了更多進展,這讓您可以處理、建立和管理提取要求和問題。新功能包括

  • 當隱藏設定 "githubPullRequests.experimentalUpdateBranchWithGitHub": true 啟用時,適用於未簽出 PR 的實驗性衝突解決已可用。此功能讓您無需在本機簽出分支即可解決 PR 中的衝突。此功能仍處於實驗階段,並非在所有情況下都適用。
  • 當從提取要求和問題檢視觸發 開啟協助工具說明 時,會顯示協助工具說明對話方塊。
  • 當有足夠空間時,所有檢閱動作按鈕都會顯示在「使用中提取要求」側邊欄檢視中。

檢閱擴充功能 0.88.0 版本的變更記錄,以瞭解其他重點。

TypeScript

由 VS Code 核心處理的檔案監看

新的實驗性設定 typescript.tsserver.experimental.useVsCodeWatcher 控制 TS 擴充套件是否使用 VS Code 的核心檔案監看支援來滿足檔案監看需求。TS 大量使用檔案監看,通常使用他們自己基於 node.js 的實作。透過使用 VS Code 的檔案監看器,監看應該會更有效率、更可靠,並消耗更少的資源。我們計劃在五月份逐步為使用者啟用此功能,並監控是否有回歸問題。

預覽功能

適用於 PowerShell 的 VS Code 原生 IntelliSense

我們針對終端機內的 PowerShell IntelliSense 已經有一個原型版本有一段時間了,最近我們才有更多時間投入來完善它。這就是它的樣子

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

對於此功能來說,現在還處於早期階段,但我們很樂意聽取您對它的意見回饋。我們計劃進行的一些更重要的事項包括使其觸發更加可靠 (#211222)、使建議更加一致,無論彈出視窗在何處觸發 (#211364),以及使體驗盡可能接近編輯器 IntelliSense 體驗 (#211076, #211194)。

假設您正在撰寫一些 Markdown 文件,並且您意識到文件中的某個章節實際上屬於其他地方。因此,您將其複製並貼到另一個檔案中。一切都很好,對吧?但是,如果複製的文字包含任何相對路徑連結、參考連結或圖片,那麼這些連結現在很可能會損壞,並且您必須手動修復它們。這可能非常麻煩,但幸運的是,新的「貼上時更新連結」功能可以幫上忙!

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

貼上後,如果您意識到您反而想要插入您複製的確切文字,則可以使用貼上控制項切換回正常的複製/貼上行為。

支援 TypeScript 5.5

我們現在支援 TypeScript 5.5 beta 版。請查看 TypeScript 5.5 beta 版部落格文章迭代計劃,以了解此版本的詳細資訊。

編輯器重點功能包括

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

若要開始使用 TypeScript 5.5 beta 版,請安裝 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)),其中包含概述和有用的命令。

GitHub Pull Request 擴充套件的問題和 PR 視圖使用了這個 API。

語言模型和 Chat API

語言模型命名空間 (vscode.lm) 匯出新的函式,以檢索語言模型資訊並計算給定字串的 Token 數量。它們分別是 getLanguageModelInformationcomputeTokenLength。您應該使用這些函式來建立在語言模型限制內的提示。

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

更新的文件貼上建議

我們持續迭代 文件貼上建議 API。此 API 使擴充套件能夠掛鉤到文字文件中的複製/貼上操作。

API 的重大變更包括

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

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

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

Hover 詳盡程度

在此迭代中,我們新增了一個新的建議 API 來收縮/展開 Hover,稱為 editorHoverVerbosityLevel。它引入了一個名為 VerboseHover 的新類型,它有兩個布林欄位:canIncreaseHoverVerbositycanDecreaseHoverVerbosity,它們表示 Hover 詳盡程度可以增加或減少。如果其中一個設定為 true,則 Hover 會顯示 +- 圖示,可用於增加/減少 Hover 詳盡程度。

建議的 API 也為 provideHover 方法引入了一個新的簽章,它採用 HoverContext 類型的額外參數。當使用者傳送 Hover 詳盡程度請求時,Hover 內容會填入先前的 Hover,以及 HoverVerbosityAction,它指示使用者是否想要增加或減少詳盡程度。

擴充套件觸發的 TestRun 上的 preserveFocus

對於擴充套件觸發的測試執行請求上的 preserveFocus 布林值,有一個 建議。先前,從擴充套件 API 觸發的測試執行從未導致焦點移動到測試結果視圖中,這需要一些擴充套件重新發明輪子以維持使用者體驗相容性。這個新選項可以在 TestRunRequest 上設定,以要求編輯器移動焦點,就像從編輯器內觸發執行一樣。

值得注意的修正

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

感謝您

最後但同樣重要的是,非常感謝 VS Code 的貢獻者。

Issue 追蹤

對我們的 issue 追蹤的貢獻

Pull requests

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 的貢獻