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 月釋出的版本。此版本中有許多更新,我們希望您會喜歡,其中一些主要亮點包括:
- 預覽 Markdown 中的圖片和影片 - 將滑鼠懸停在連結上即可預覽 Markdown 中的圖片和影片。
- 增強的分支切換 - 在分支之間切換時無縫恢復已開啟的編輯器。
- 支援滑鼠中鍵貼上 - 使用滑鼠中鍵在終端中快速貼上文字。
- WSL over Remote - SSH - 透過 Remote - SSH 連線到遠端計算機時使用 WSL。
- 可訪問檢視 - 從可訪問檢視中導航註釋、聊天程式碼塊和終端命令。
- UI 操作的鍵盤快捷鍵 - 右鍵單擊即可直接自定義 UI 操作的鍵盤快捷鍵。
- 快速搜尋 - 使用快速搜尋在工作區中搜索文字。
- AI 驅動的重新命名建議 - 使用 Copilot 在編輯器中獲得智慧重新命名建議。
- Copilot 內容排除 - 排除檔案不被用於 Copilot 上下文。
- 本地工作區擴充套件 - 直接在工作區中包含和安裝擴充套件。
如果您想線上閱讀這些發行說明,請訪問 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 擴充套件:

本地工作區擴充套件
本地工作區擴充套件,首次在 VS Code 1.88 版本中引入,現在已普遍可用。您現在可以直接在工作區中包含一個擴充套件,並僅為該工作區安裝它。此功能旨在滿足您特定的工作區需求,並提供更具定製化的開發體驗。
要使用此功能,您需要在工作區內的 .vscode/extensions 資料夾中擁有您的擴充套件。然後,VS Code 會在擴充套件檢視的“工作區推薦”部分顯示此擴充套件,使用者可以從那裡安裝它。VS Code 僅為該工作區安裝此擴充套件。本地工作區擴充套件要求使用者在安裝和執行此擴充套件之前信任該工作區。
例如,考慮 VS Code 儲存庫中的 vscode-selfhost-test-provider 擴充套件。此擴充套件集成了測試功能,使貢獻者可以直接在工作區中檢視和執行測試。下圖顯示了擴充套件檢視的“工作區推薦”部分中的 vscode-selfhost-test-provider 擴充套件以及安裝它的能力。

請注意,您應該將解壓後的擴充套件包含在 .vscode/extensions 資料夾中,而不是 VSIX 檔案。您也可以只包含擴充套件的原始碼,並將其作為工作區設定的一部分進行構建。
快速開啟中的自定義編輯器標籤
上個月,我們引入了 自定義標籤,允許您個性化編輯器標籤。此功能旨在幫助您更輕鬆地區分具有相同名稱檔案的標籤,例如 index.tsx 檔案。
在此基礎上,我們將自定義標籤的使用擴充套件到了快速開啟 (⌘P (Windows, Linux Ctrl+P))。現在,您可以使用您建立的自定義標籤來搜尋檔案,使檔案導航更加直觀。

自定義鍵盤快捷鍵
我們已使自定義使用者介面操作的鍵盤快捷鍵變得更加簡單。右鍵單擊工作臺中的任何操作項,然後選擇“自定義鍵盤快捷鍵”。如果操作具有 when 子句,它將自動包含在內,從而更輕鬆地按照您需要的方式設定鍵盤快捷鍵。
樹搜尋的鍵盤快捷鍵
我們已解決了一個問題,即查詢控制元件經常被意外地為樹控制元件開啟。例如,當查詢控制元件出現在資源管理器檢視中而不是在編輯器中搜索時。
為了減少這些意外啟用,我們將開啟樹控制元件查詢控制元件的預設鍵盤快捷鍵更改為 ⌥⌘F (Windows, Linux Ctrl+Alt+F)。如果您偏好之前的設定,可以使用鍵盤快捷鍵編輯器輕鬆地為 list.find 命令恢復原始鍵盤快捷鍵。
自動檢測系統顏色模式的改進
如果您希望您的主題遵循系統的顏色模式,您已經可以透過啟用設定 window.autoDetectColorScheme 來實現。
啟用後,當前主題由暗模式下的 workbench.preferredDarkColorTheme 設定定義,在亮模式下的 workbench.preferredLightColorTheme 設定定義。
在這種情況下,workbench.colorTheme 設定將不再被考慮。它僅在 window.autoDetectColorScheme 關閉時使用。
在此里程碑中,新功能是主題選擇器對話方塊(首選項:顏色主題命令)現在瞭解系統顏色模式。請注意,當系統處於暗模式時,主題選擇僅顯示暗主題。

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

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

原始碼管理
切換分支時儲存/恢復已開啟的編輯器
在此里程碑中,我們解決了一個長期存在的使用者請求,即在切換原始碼管理分支時儲存和恢復編輯器。使用 scm.workingSets.enabled 設定啟用此功能。
要控制切換到分支時的已開啟編輯器,您可以使用 scm.workingSets.default 設定。您可以選擇沒有已開啟的編輯器(empty),或使用當前已開啟的編輯器(current,預設值)。
用於檢視更改的專用命令
為了更輕鬆地在多檔案 diff 編輯器中檢視特定型別的更改,我們在命令面板中添加了一組新命令:Git: 檢視暫存更改、Git: 檢視更改和Git: 檢視未跟蹤的更改。
Notebook
最小錯誤渲染器
您可以使用新佈局的筆記本錯誤渲染器,透過設定 notebook.output.minimalErrorRendering。此新佈局僅顯示錯誤和訊息,以及一個用於展開完整錯誤堆疊的控制元件。
大型筆記本停用備份
現在,對於大型筆記本檔案,將停用定期檔案備份,以減少將檔案寫入磁碟的時間。該限制可以透過設定 notebook.backup.sizeLimit 進行調整。我們還在試驗一個選項,以避免在儲存筆記本檔案時阻塞渲染器,方法是使用 notebook.experimental.remoteSave,這樣自動儲存就可以在沒有效能損失的情況下進行。
修復了關於大綱/粘滯滾動效能迴歸的問題
在過去幾個月裡,我們收到了關於筆記本編輯器效能迴歸的反饋。這些迴歸很難查明,也不容易重現。感謝社群不斷提供日誌和反饋,我們得以確定這些迴歸是由於我們在大綱和粘滯滾動功能中添加了新功能造成的。在此版本中,這些問題已得到修復。
我們感謝社群的反饋和耐心,我們將繼續改進筆記本編輯器的效能。如果您繼續遇到效能問題,請隨時在 VS Code 倉庫中提交新問題。
搜尋
快速搜尋
快速搜尋使您能夠快速地在工作區檔案中進行文字搜尋。快速搜尋已不再是實驗性功能,請透過命令面板中的搜尋:快速搜尋命令來嘗試!✨🔍
主題: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 來在其他作業系統上啟用類似的行為,該行為在滑鼠中鍵單擊時貼上常規剪貼簿內容。
擴充套件的 ANSI 超連結支援
透過 OSC 8 轉義序列建立的 ANSI 超連結以前僅支援 http 和 https 協議,現在支援任何協議。預設情況下,出於安全原因,僅啟用具有 file、http、https、mailto、vscode 和 vscode-insiders 協議的連結,但您可以透過 terminal.integrated.allowedLinkSchemes 設定新增更多協議。
終端的新圖示選擇器
從終端選項卡上下文選單中選擇更改圖示現在會開啟為配置檔案構建的新圖示選擇器。
![]()
主題: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 偵錯程式現在會自動查找出現在 node_modules/.bin 資料夾中的二進位制檔案,並在 runtimeExecutable 配置中使用。現在,它會自動按名稱解析它們。
在下面的示例中,您可以看到,您只需引用 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 中的連結和影像提供路徑完成。在完成影像或影片檔案的路徑時,我們現在會在完成詳細資訊中直接顯示一個小的預覽。這可以幫助您更輕鬆地找到所需的影像或影片。

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

改進的 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 或遠端隧道使用開發容器、遠端機器或適用於 Linux 的 Windows 子系統 (WSL) 作為功能齊全的開發環境。
亮點包括:
- 透過 SSH 連線到 WSL
您可以在遠端開發釋出說明中瞭解有關這些功能的更多資訊。
對擴充套件的貢獻
GitHub Copilot
終端內聯聊天
終端內聯聊天現在是終端中的預設體驗。當終端獲得焦點時,使用⌘I (Windows, Linux Ctrl+I) 鍵盤快捷鍵可以調出它。

終端內聯聊天使用 @terminal 聊天參與者,該參與者具有關於整合終端的 shell 及其內容的資訊。

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

Copilot 驅動的重新命名建議按鈕
現在可以透過使用重新命名控制元件中的閃爍圖示來觸發 Copilot 驅動的重新命名建議。
內容排除
GitHub Copilot 內容排除現在支援 Copilot Chat,適用於所有 Copilot for Business 和 Copilot Enterprise 客戶。有關配置內容排除的資訊,請參閱GitHub Docs。
當一個檔案被內容排除規則排除時,Copilot Chat 無法看到該檔案的內容或路徑,並且不會用於生成 LLM 建議。


預覽:在筆記本編輯器中生成
我們現在支援在筆記本編輯器中插入新的單元格,並自動啟用內聯聊天。當設定 notebook.experimental.generate 為 true 時,我們在筆記本工具欄和單元格之間的插入工具欄上顯示“生成”按鈕。當焦點位於筆記本列表或單元格容器上時,也可以透過按 macOS 上的 Cmd+I(或 Windows/Linux 上的 Ctrl+I)來觸發。此功能可以幫助簡化在語言模型的幫助下生成新單元格中的程式碼的過程。
Python
“實現所有繼承的抽象類”程式碼操作
使用 Pylance 時,處理抽象類現在更加容易。當定義一個繼承自抽象類的類時,您現在可以使用“實現所有繼承的抽象類”程式碼操作來自動實現父類中的所有抽象方法和屬性。
主題:Catppuccin Macchiato(在 vscode.dev 上預覽)
新的自動縮排設定
以前,Pylance 的自動縮排行為受 editor.formatOnType 設定控制,如果您想停用自動縮排但啟用其他支援工具的鍵入格式化,這可能會有問題。為了解決這個問題,Pylance 有自己的設定來控制其自動縮排行為:python.analysis.autoIndent,該設定預設啟用。

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 擴充套件和測試執行子程序之間的通訊切換,現在使用命名管道。
已更新小型測試 bug
測試檢視現在可以正確顯示使用 unittest 和引數化測試在巢狀類中的 testscenarios 的專案。此外,Test Explorer 現在可以處理帶有符號連結的工作區中的測試,特別是作為符號連結路徑子項的工作區根目錄,這在 WSL 場景中尤其有用。
Pylance 的效能改進
Pylance 團隊收到反饋,稱 Pylance 在過去幾個版本中的效能有所下降。我們在記憶體消耗和索引效能方面做了一些小的改進,以解決各種報告的問題。但是,對於那些可能仍然遇到 Pylance 效能問題的使用者,我們懇請透過命令面板中的 Pylance:報告問題命令提交問題,最好附帶日誌、程式碼示例和/或在工作環境中安裝的包。
十六進位制編輯器
十六進位制編輯器現在有一個插入模式,除了其長期存在的“替換”模式之外。插入模式允許在檔案內部和末尾新增新位元組,並且可以使用 Insert 鍵或從狀態列切換。
十六進位制編輯器現在還在狀態列中顯示當前懸停的位元組。
GitHub 拉取請求
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 月份逐步為使用者啟用此功能並監控迴歸。
預覽功能
VS Code 原生 PowerShell IntelliSense
一段時間以來,我們一直在終端中為 PowerShell IntelliSense 提供原型,最近我們才有多餘的時間來完善它。它看起來是這樣的:
目前,它在輸入 - 字元時或按下 ctrl+space 時觸發。要啟用此功能,請在 settings.json 檔案中設定 "terminal.integrated.shellIntegration.suggestEnabled": true(它目前不會顯示在設定 UI 中)。
此功能尚處於早期階段,但我們很樂意聽取您的反饋。我們計劃為此做的一些更重要的事情是使觸發更可靠(#211222),使建議更一致,無論彈出視窗在哪裡觸發(#211364),並將體驗儘可能地接近編輯器 IntelliSense 體驗(#211076,#211194)。
貼上時自動更新 Markdown 連結
假設您正在編寫一些 Markdown 文件,並且您意識到文件的某個部分實際上屬於其他位置。因此,您將其複製並貼上到另一個檔案中。一切都很好,對吧?如果複製的文字包含任何相對路徑連結、引用連結或影像,那麼這些連結很可能現在會損壞,您必須手動修復它們。這可能很麻煩,但幸運的是,新的“貼上時更新連結”功能可以為您提供幫助!
要啟用此功能,只需將 "markdown.experimental.updateLinksOnPaste": true 設定為 true。啟用後,當您在當前編輯器中的 Markdown 檔案之間複製和貼上文字時,VS Code 會自動修復所有相對路徑連結、引用連結以及所有具有相對路徑的影像/影片。
粘貼後,如果您意識到您實際上想插入複製的原始文字,您可以使用貼上控制元件切換回正常的複製/貼上行為。
支援 TypeScript 5.5
我們現在支援 TypeScript 5.5 beta。有關此版本功能的詳細資訊,請檢視TypeScript 5.5 beta 部落格文章和迭代計劃。
編輯器亮點包括:
- 正則表示式的語法檢查。
- 檔案監視改進。
要開始使用 TypeScript 5.5 beta,請安裝TypeScript Nightly 擴充套件。請分享您的反饋,如果您遇到 TypeScript 5.5 的任何 bug,請告知我們。
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 拉取請求擴充套件的問題和 PR 檢視使用。
語言模型和聊天 API
語言模型名稱空間(vscode.lm)匯出了新的函式,用於檢索語言模型資訊和計算給定字串的 token 長度。它們分別是 getLanguageModelInformation 和 computeTokenLength。您應該使用這些函式來構建在語言模型限制範圍內的 prompt。
注意:內聯聊天現在由即將推出的聊天參與者 API 提供支援。這也意味著
registerInteractiveEditorSessionProvider已棄用,並將很快被移除。
更新了文件貼上提議
我們繼續對文件貼上提議 API 進行迭代。此 API 允許擴充套件掛鉤到文字文件中的複製/貼上操作。
API 的顯著更改包括:
-
一個新的
resolveDocumentPasteEdit方法,用於在貼上操作時填充編輯。如果計算編輯需要很長時間,則應使用此方法,因為它僅在實際需要應用貼上編輯時才會被呼叫。 -
所有貼上操作現在都由
DocumentDropOrPasteEditKind標識。這與現有的CodeActionKind的工作方式類似,並用於貼上操作的鍵盤快捷鍵和設定。
document-paste 擴充套件示例中的文件貼上擴充套件示例包含了所有最新的 API 更改,因此您可以測試該 API。請務必就更改和總體 API 設計分享您的反饋。
懸停詳細程度級別
在本迭代中,我們添加了一個新的提議 API 來展開/摺疊懸停,稱為 editorHoverVerbosityLevel。它引入了一個名為 VerboseHover 的新型別,它有兩個布林欄位:canIncreaseHoverVerbosity 和 canDecreaseHoverVerbosity,它們指示懸停詳細程度可以增加或減少。如果其中一個設定為 true,懸停將顯示帶有 + 和 - 圖示,可用於增加/減少懸停詳細程度。
提議 API 還為 provideHover 方法引入了一個新的簽名,該簽名接受一個額外的 HoverContext 型別引數。當用戶傳送懸停詳細程度請求時,懸停上下文會填充前一個懸停以及一個 HoverVerbosityAction,指示使用者是想增加還是減少詳細程度。
擴充套件觸發的測試執行上的 preserveFocus
有一個關於擴充套件觸發的測試執行請求的 preserveFocus 布林值的提議。以前,從擴充套件 API 觸發的測試執行從未導致焦點移入測試結果檢視,這使得某些擴充套件需要重新發明輪子來保持使用者體驗相容性。此新選項可以設定為 TestRunRequest,以請求編輯器像從編輯器內觸發執行一樣移動焦點。
值得注意的修復
- 209917 輔助視窗:恢復最大化狀態(Linux、Windows)
感謝
最後但同樣重要的是,向 VS Code 的貢獻者們致以衷心的感謝。
問題跟蹤
對我們問題跟蹤的貢獻
- @gjsjohnmurray (John Murray)
- @IllusionMH (Andrii Dieiev)
- @RedCMD (RedCMD)
- @starball5 (starball)
- @ArturoDent (ArturoDent)
拉取請求
對 vscode 的貢獻
- @4-tel:修復:在除錯控制檯中搜索以“!”開頭的行 #174146 PR #210178
- @CareyJWilliams (Carey Williams):修復任務模板寫入空的 tasks.json PR #210675
- @cpendery (Chapman Pendery)
- 修復:打包錯誤導致終端建議失敗 PR #208822
- feat:將 git-bash 支援新增到 shell 整合 PR #208960
- fix: 改進 Windows 上的終端標記放置 PR #209136
- fix: 當不存在補全時,終端建議應隱藏模態框 PR #210289
- fix: git bash 中 split 失敗 PR #210513
- @Ditoo29 (Diogo Pinto): fix: 換行符的序列化 PR #209703
- @frankli0324 (Frank): 執行 npm view 時停用 corepack 自動固定功能 PR #210601
- @g-plane (Pig Fang): 當所有檔案都已暫存或提交時,自動關閉 Git 多 diff 編輯器 PR #210327
- @gjsjohnmurray (John Murray)
- 改進
workbench.activityBar.iconClickBehavior和workbench.activityBar.location設定的描述 PR #210574 - 正確清除活動欄圖示徽章 (修復 #210640) PR #210645
- 改進
- @grgar (George Garside)
- 在 Web 上不使用 window.customTitleBarVisibility 配置 PR #209162
- 修復顏色選擇器命令標題 PR #210349
- 將 cmd start escape 移動到提示符末尾 PR #210443
- @hsfzxjy (Xie Jingyi): 記錄可導航容器事件以進行除錯 PR #209357
- @jswillard (John Willard): 在快速開啟中顯示自定義標籤 PR #209681
- @marvinthepa (Martin Sander): 終端中的中鍵貼上 PR #136633
- @mmastrac (Matt Mastracci): 將
windowOptions新增到 xtermTerminal 以允許ESC [18t工作 PR #209310 - @nopeless (nopeless): fix: 使
cmd在 shell integration bash 檔案中成為區域性變數 PR #208364 - @pagict (Premium): feat. 在搜尋檢視中新增一個選單項 'expand-select' 來展開子樹 PR #206033
- @pisv (Vladimir Piskarev): 修復
OpenJsDocLinkCommand_Args中不正確的型別 PR #209872 - @qirong77: 修復 Monaco-Editor 中的 inlinesuggest 工具欄中丟失的類,導致 CSS 變數失效 PR #207582
- @r-sargento (Rafael Sargento): 修復 #201247 (整合終端未從預設配置檔案設定環境變數) PR #209711
- @ScriptBloom (alviner): fix: minimap 部分標題在首次載入時顯示不完整: #209603 PR #209605
- @sheetalkamat (Sheetal Nandi): 為 tsserver 使用 vscode watches PR #193848
- @telamon (Tony Ivanov): 修復 #114425 防止安裝時發生 mime 汙染 PR #209510
- @timorthi (Timothy Ng): 更改行號顯示模式時重新渲染粘性滾動 PR #210815
- @WardenGnaw (Andrew Wang): 為 selectAndStartDebugging 命令新增 'noDebug' PR #209893
- @zWingz (zWing): fix: 執行 execCommand workbench.extensions.installExtension 時出現意外錯誤 PR #210135
- @ale-dg: 持續提供反饋和日誌,以幫助我們診斷筆記本編輯器和 jupyter 中的多個性能問題。
對 vscode-css-languageservice 的貢獻
- @liaoyinglong (vigoss): 支援巢狀 @container PR #390
對 vscode-emmet-helper 的貢獻
對 vscode-eslint 的貢獻
- @hyoban (Stephen Zhou): fix: 將 json、jsonc 新增到
eslint.probe的預設選項中 PR #1830
對 vscode-hexeditor 的貢獻
對 vscode-json-languageservice 的貢獻
- @michaeltlombardi (Mikey Lombardi (He/Him)): 確保解析器對 minContains/maxContains 使用 errorMessage PR #229
對 vscode-languageserver-node 的貢獻
- @werat (Andy Hippo): 登出不存在的功能時不要崩潰 PR #1460
對 vscode-python-debugger 的貢獻
- @DavidArchibald (David Archibald): 修復在 WSL 上執行時偵錯程式附加到程序的問題 PR #267
對 vscode-vsce 的貢獻
- @yutotnh (yutotnh): feat: 忽略
git worktree add生成的 .git PR #943
對 language-server-protocol 的貢獻
- @asukaminato0721 (Asuka Minato): 新增 2 個 lsp PR #1918
- @MariaSolOs (Maria José Solano): 新增 markup 診斷訊息澄清 PR #1917
- @practicalli-johnny (Practicalli Johnny): servers: 更新 clojure-lsp 倉庫和維護者 PR #1921
- @sz3lbi (szelbi): 新增 SAP CDS 伺服器 PR #1924
- @unvalley (unvalley): docs: 將 biome 新增到 lsp 伺服器 PR #1923
- @Wilfred (Wilfred Hughes): 修復 RequestCancelled 文件註釋中的拼寫錯誤 PR #1922
對 monaco-editor 的貢獻
- @timotheeguerin (Timothee Guerin): 新增對 TypeSpec 語言的支援 PR #4450