🚀 在 VS Code 中

2024 年 4 月 (版本 1.89)

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

下載:Windows: x64 Arm64 | Mac: Universal 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 上預覽)

請注意,所有快速搜尋命令和設定在其識別碼中不再具有「實驗性」關鍵字。例如,命令 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
...

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

遠端開發

遠端開發擴充功能 可讓您使用 Dev Container、透過 SSH 或 Remote Tunnels 的遠端機器,或 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 企業版和 Copilot 商務版客戶支援。有關設定內容排除的資訊,請參閱 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 擴充功能和測試執行子進程之間的通訊切換來實現的,現在使用具名管道。

更新了次要測試錯誤

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

Pylance 的效能改進

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

Hex 編輯器

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

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

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 的檔案監看器,監看應該更有效率、更可靠且消耗更少的資源。我們計劃在 5 月逐步為使用者啟用此功能,並監控是否有倒退。

預覽功能

適用於 PowerShell 的 VS Code 原生 IntelliSense

我們針對終端機內的 PowerShell IntelliSense 進行了原型設計已有一段時間,最近我們才有更多時間投入進行修飾。這就是它的外觀

目前,它會在 - 字元觸發,或在按下 Ctrl+空格鍵時觸發。若要啟用此功能,請在您的 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 功能。這包括

  • 支援工作區編輯。
  • 支援診斷。
  • 支援建議的貼上為 (paste-as) 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 擴充功能的 Issues 和 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 Aux 視窗:還原最大化狀態 (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 的貢獻