2020 年 11 月(版本 1.52)
更新 1.52.1:此更新解決了這些 問題。
下載:Windows:x64 Arm64 | Mac:Intel | Linux:deb rpm tarball Arm snap
歡迎使用 Visual Studio Code 2020 年 11 月版本。正如我們在 11 月迭代計劃 中宣佈的那樣,我們繼續花了兩個星期時間專注於 GitHub 問題的整理和拉取請求,這在我們的 問題整理指南 中有所記錄。在所有 VS Code 儲存庫中,我們關閉了(要麼分類,要麼修復)5242 個問題,甚至比我們在 2019 年 10 月 的上一次整理迭代中關閉的 4622 個問題還要多。在我們關閉問題的同時,您又建立了 2937 個新問題。主要的 vscode 儲存庫 現在有 2146 個未解決的功能請求和 884 個未解決的錯誤。此外,我們關閉了 144 個拉取請求。
和往年一樣,我們使用了 Benjamin Lannon 的 即時跟蹤器 來跟蹤我們的進度。

在專注於整理工作之後,我們還解決了幾個功能請求和社群 拉取請求。這帶來了許多新功能和設定,其中一些主要亮點包括:
- 差異編輯器中的自動換行 - 內聯和並排檢視現在都支援自動換行。
- 新擴充套件二分查詢功能 - 排查哪些擴充套件在 VS Code 中導致問題。
- 鍵盤快捷方式編輯器改進 - 從命令面板建立鍵繫結。
- 資源管理器中撤消檔案操作 - 在資源管理器中撤消或重做檔案操作。
- 新 Git 命令和設定 - 透過新功能最佳化您的版本控制體驗。
- 預覽編輯器改進 - 完全關閉預覽編輯器,並嘗試新的互動模型。
- 使用空格縮排時的粘性製表位 - 使用空格縮排時改進體驗。
- 改進的基於詞語的建議 - 顯示來自其他開啟檔案的基於詞語的建議。
- 終端配置支援 - 從終端下拉選單修改終端設定。
- 新遠端開發資源 - 檢視新的影片和學習模組。
工作臺
預覽編輯器改進
根據使用者反饋,我們對處理 預覽編輯器 的方式進行了一些更新。
workbench.editor.enablePreviewFromQuickOpen 設定現在預設停用,因此從快速開啟開啟的編輯器將不再以預覽模式顯示。
當您開始程式碼導航(例如,使用轉到定義)時,您開始的編輯器將退出預覽模式並保持開啟狀態,而新編輯器將處於預覽模式,直到您進一步導航。

我們更改了所有自定義樹(例如,用於擴充套件或 Git 檢視中的那些)以使其與內建樹(例如,檔案資源管理器)的工作方式更加一致。這意味著,以下互動現在適用於所有這些樹:
- 雙擊或滑鼠中鍵單擊以非預覽模式開啟。
- Enter 以非預覽模式開啟(Space 以預覽模式開啟)。
Alt+Click在活動編輯器旁邊開啟一個編輯器。
注意: 如果您是使用我們的自定義樹 API 的擴充套件作者,您也會受益於此更改。請確保使用 vscode.open 或 vscode.diff 命令作為 TreeItem.command 以獲取新的預覽模式行為。
編輯器溢位選單中的新選單項保持編輯器開啟允許您完全關閉預覽編輯器。

恢復以前的會話視窗
現有 window.restoreWindows 設定的新值 preserve 允許您強制在重新啟動 VS Code 時恢復您在關閉 VS Code 之前開啟的每個視窗,即使明確要求 VS Code 開啟特定資料夾或檔案。一個常見的例子是在平臺的資源管理器中雙擊檔案以在 VS Code 中開啟它,或者使用終端開啟特定檔案或資料夾。如果沒有 window.restoreWindows: preserve 設定,VS Code 將只按指示開啟檔案或資料夾,而不恢復任何其他視窗。
停用拖放時拆分編輯器組
新設定 workbench.editor.splitOnDragAndDrop 可防止在使用拖放編輯器時拆分編輯器組。還有一種方法可以在拖放操作期間透過按住 Shift 鍵 (macOS) 或 Alt 鍵 (Windows, Linux) 有條件地切換此功能。
資源管理器中撤消檔案操作
檔案資源管理器現在支援所有檔案操作的撤消和重做:刪除、重新命名、複製、移動、新建檔案和新建資料夾。確保焦點在檔案資源管理器中,然後觸發撤消或重做命令,您上次的檔案操作將分別被撤消或重做。請記住,我們為編輯器和檔案資源管理器設定了單獨的撤消堆疊,我們根據焦點選擇要撤消的堆疊。

資源管理器中長時間執行操作的進度
我們現在在檔案資源管理器和狀態列中顯示長時間執行的檔案操作(超過 500 毫秒)的進度。還初步支援取消長時間執行的操作。當複製大資料夾或從遠端位置下載資源時,這應該很有幫助。

開啟編輯器排序
有一個新設定 explorer.openEditors.sortOrder 用於控制開啟編輯器列表中的排序順序。
值是:
editorOrder- 編輯器按編輯器標籤頁顯示的順序排列(預設)。alphabetical- 編輯器在每個編輯器組內按字母順序排列。
alphabetical 排序只會影響“開啟編輯器”檢視 - 它不會以任何方式“移動標籤頁”。
當您開啟許多檔案並希望將相關檔案(例如,hello.component.js 和 hello.component.html)匹配起來時,這可能會有所幫助。

可訪問的進度控制
工作臺進度顯示已變得更易於訪問。VS Code 設定了適當的 ARIA 角色,以便螢幕閱讀器可以報告 VS Code 中所有長時間執行的操作的進度。預設情況下,大多數螢幕閱讀器只會在進度持續超過 10 秒時才宣佈進度。
原始碼管理更改顯示其父資料夾路徑
從“原始碼管理”檢視開啟的差異編輯器現在將顯示其檔案路徑(當標籤頁停用時)。以前只顯示檔名,但現在如果前後文件在同一資料夾中,則會顯示父資料夾。

預設啟用新的代理登入對話方塊
我們的新代理登入對話方塊現在預設啟用。您可以閱讀我們的 以前的版本說明 以瞭解更多詳細資訊。設定 window.enableExperimentalProxyLoginDialog 可用於啟用舊對話方塊,但我們將在不久的將來移除此支援。如果您發現新登入對話方塊有問題,請透過提交 問題 告知我們。
改進的終端環境處理 (Linux, macOS)
當您透過 dock 或啟動器(而不是終端)第一次在 Linux 或 macOS 上啟動 VS Code 時,VS Code 會啟動一個後臺程序來解析您的 shell 環境(由 .bashrc 或 .zshrc 定義或更改)。然後,VS Code 使用所有檢測到的環境變數,因此從終端或 dock/啟動器啟動沒有任何區別,這在除錯或執行任務時很重要。
不幸的是,在後臺程序執行完畢之前,VS Code 不會開啟。為了不阻塞啟動太久,VS Code 會在 10 秒後開始開啟。在這種情況下,VS Code 現在會通知您它無法解析 shell 環境,並提供一個連結以瞭解更多資訊。

同樣,VS Code 現在會在三秒後顯示警告,指示 VS Code 啟動被解析 shell 環境阻塞。

我們正在積極研究更改我們的策略,即不阻止 VS Code 啟動,同時仍在後臺解析 shell 環境,但這隻有在未來的里程碑中才有可能實現。
此區域中其他值得注意的更改是:
- 您現在可以在啟動第二個 VS Code 視窗之前從終端定義和更改環境變數,這些變數將正確覆蓋第一次啟動時的變數,從而有效地允許按視窗設定環境變數(例如,這使您能夠在啟動前透過
nvm等工具更改每個視窗的 Node.js 版本)。 - 即使您在第二個視窗中切換資料夾,在啟動第二個 VS Code 視窗之前從終端設定的環境變數現在也會保留。
改進的工作臺溢位
當沒有足夠的空間來容納工作臺中的所有檢視時,VS Code 現在將顯示捲軸來平移內容,讓您可以訪問所有內容。這適用於工作臺中的多個區域,例如側邊欄、編輯器網格等。

Sash 懸停邊框顏色
您現在可以自定義工作臺中 sashes (sash.hoverBorder) 的邊框懸停顏色。

樹:展開模式
新設定 workbench.tree.expandMode 允許您控制資料夾在樹中展開的方式:使用單次單擊或雙擊。
macOS Big Sur 更新
由於 Electron 9 的問題,當您選擇重新啟動以更新時,VS Code 不會自動重新啟動,而是簡單地退出。在下一個 VS Code 版本(應包括 Electron 11)之前,發生這種情況時必須手動重新啟動 VS Code。在 issue #109728 中閱讀更多內容。
原始碼管理
保留原始碼管理檢視狀態
原始碼管理檢視狀態現在在會話之間保留。即使在退出並重新啟動 VS Code 後,摺疊的樹節點也將保持摺疊狀態。
原始碼管理行號操作
新設定 scm.diffDecorationsGutterAction 允許您控制單擊編輯器左側的原始碼管理行號裝飾時發生的情況。可能的值是:
diff- 單擊時開啟內聯差異預覽檢視(預設)。none- 停用任何操作。
Git:新命令
已向命令面板添加了幾個新 Git 命令:
- Git: Cherry Pick... - 將特定提交揀選到您的分支。
- Git: Rename - 對活動檔案執行 git 重新命名。
- Git: Push Tags - 將所有本地標籤推送到遠端。
- Git: Checkout to (Detached)... - 以分離模式執行簽出。
Git:新設定
此外,還添加了新 Git 設定:
git.pruneOnFetch- 使 VS Code 在獲取遠端引用時執行git fetch --prune。git.ignoreSubmodules- 您現在可以確保 VS Code 忽略子模組儲存庫中的更改,這在大型 monorepos 中很有用。git.openAfterClone- 控制克隆 git 儲存庫後是否以及如何開啟資料夾:在當前視窗、在新視窗中、在未開啟資料夾時以及透過提示使用者。git.useCommitInputAsStashMessage- 執行 Git: Stash 時,使 VS Code 使用原始碼管理輸入框中的提交訊息作為 stash 訊息。git.followTagsWhenSync- 執行 Git: Sync 時跟隨標籤。git.checkoutType- 控制執行 Git: Checkout... 命令時顯示的引用以及順序。
Git:暫存前提示儲存檔案
當您嘗試暫存更改時,VS Code 現在會提示您儲存未儲存的檔案。
Git:已刪除檔案合併衝突的更好差異
已刪除檔案合併衝突現在具有改進的差異體驗,顯示與刪除相反的分支中檔案的實際更改。
Git:新增遠端後獲取
VS Code 現在會在您新增遠端後立即執行 git fetch,從該遠端獲取所有引用。
Git:分離簽出
現在可以從 VS Code 以分離模式簽出引用。

Git:錯誤時顯示命令輸出
當 git 命令丟擲錯誤時,您現在可以使用新的顯示命令輸出選項檢視完整的錯誤訊息。

Git:git.api.getRemoteSources 命令的新選項
git.api.getRemoteSources Git API 命令選項現在支援一個可選的 branch?: boolean 屬性,如果遠端源提供程式支援,它將使 Git 提示使用者從遠端源中選擇一個分支。
此外,該命令現在支援一個 providerName?: string 選項,允許呼叫者繞過使用者選擇遠端源並直接使用特定提供程式。
除錯
斷點檢視:異常斷點的條件
VS Code 現在支援使用編輯條件上下文選單操作從“斷點”檢視編輯“異常”斷點的條件。
目前,只有 Mock Debug 擴充套件具有(模擬)異常斷點條件支援,但很快其他除錯擴充套件也會跟進 - 例如 JavaScript 偵錯程式。


異常區域可訪問性
編輯器中的異常資訊區域已變得更易於訪問。除錯時,一旦遇到異常,VS Code 將自動將焦點移到異常區域,這將使螢幕閱讀器報告異常詳細資訊和堆疊幀。
現在還可以使用 Escape 鍵或異常區域右上角的 X 按鈕關閉異常區域。
UI 改進
概述標尺中顯示的除錯行
當前除錯的行現在顯示在編輯器右側的概述標尺中。對於此裝飾,我們使用已存在的 editor.stackFrameHighlightBackground 顏色。除此之外,VS Code 使用 editor.focusedStackFrameHighlightBackground 顏色在概述標尺中顯示當前聚焦的除錯行(聚焦的除錯行是手動在呼叫堆疊檢視中選擇的非頂部堆疊幀位置)。
自動除錯配置改進
以前,我們引入了一項功能,使除錯擴充套件可以分析當前專案並自動提供除錯配置。這些除錯配置是動態建立的,因此它們不會顯示在 launch.json 配置檔案中。在此里程碑中,我們還保留了最近使用的自動除錯配置(跨 VS Code 重新啟動和重新載入),以使整個體驗更順暢。如果自動除錯配置在重新啟動後不再有效,VS Code 將在開始除錯時要求您從同一提供程式中選擇新的自動配置。
除錯懸停:底部有幫助文字/提示以切換到正常懸停
除錯懸停底部現在有幫助文字,使除錯時使用 Alt 切換到編輯器語言懸停更易於發現。提醒一下,當您正在除錯時,除錯懸停優先於語言懸停,導致無法看到語言懸停。您可以透過按住 Alt 修改鍵從除錯懸停切換回語言懸停。只要按下 Alt,就會顯示語言懸停而不是除錯懸停。這使得在除錯時更容易閱讀 Javadoc 描述等懸停。

除錯控制檯:摺疊相同行
除錯控制檯現在摺疊相同的輸出並顯示出現次數。此功能使理解重複的程式輸出變得更加容易。

launch.json 和 tasks.json 的新變數
引入了以下新變數:
${fileWorkspaceFolder}- 解析為活動 VS Code 編輯器中開啟檔案的_工作區資料夾路徑_。${fileDirnameBasename}- 解析為活動 VS Code 編輯器中開啟檔案所在的資料夾名稱。${pathSeparator}- 解析為作業系統用於分隔檔案路徑元件的字元。
serverReadyAction:按名稱啟動其他除錯配置
serverReadyAction 歷史上能夠透過匹配 URL 啟動瀏覽器或 Chrome 除錯。此版本添加了一個新選項,可以按名稱啟動另一個任意配置。例如,在您的 launch.json 中,您可以指定:
"serverReadyAction": {
"action": "startDebugging",
"pattern": "listening on port ([0-9]+)",
"name": "Launch Browser"
}
這允許您在標準 Chrome 除錯配置中傳遞其他選項,並使用其他偵錯程式與 serverReadyAction。
暫時停用自動附加
現在可以透過狀態列中的自動附加項或透過除錯:切換自動附加命令暫時停用自動附加。以這種方式停用自動附加僅適用於當前視窗,並且不需要重新啟動終端。可以透過相同方式重新啟用它。

JavaScript 偵錯程式
可以在偵錯程式的 更新日誌 中找到完整的更改列表。
斷點診斷工具
有一個新工具旨在幫助排查阻止除錯或阻止斷點繫結的構建或配置問題。要使用它,請在除錯會話執行時執行除錯:為當前會話建立診斷資訊命令。在以後的 VS Code 版本中,當適當的時候,將自動出現此診斷工具的提示。
預設可執行檔案位置設定
有一個使用者設定 debug.javascript.defaultRuntimeExecutable,允許您指定 Node.js 或 Chrome 二進位制檔案的預設位置。例如,{ "pwa-chrome": "dev" } 將在您使用 Chrome 型別配置除錯時使用 Chrome 的“dev”構建。
請注意,要使用此新選項,您需要確保您的啟動配置是 pwa-node 而不是 node,或者是 pwa-chrome 而不是 chrome。
任務
npm
內建 npm 擴充套件的設定 npm.packageManager 有一個新的預設值:auto。auto 值將導致包管理器根據 .lock 檔案和用於在工作區中安裝依賴項的包管理器自動檢測。當檢測到多個 .lock 檔案時,仍將選擇一個包管理器,並且會發出警告表示存在衝突。
刪除最近任務
任務快速選擇始終在頂部有一個最近任務部分。由於這是一個有價值的位置,您現在可以透過右側的刪除最近使用的任務按鈕從快速選擇中刪除它們來更好地管理您的最近任務。

擴充套件
在此里程碑中,我們為“擴充套件”檢視和擴充套件詳細資訊頁面添加了多項改進。
擴充套件檢視現在會自動重新整理。例如,安裝擴充套件後,擴充套件會立即顯示在擴充套件:已安裝列表中。您還可以使用標題欄中的重新整理按鈕手動重新整理檢視。

主題:GitHub Light
擴充套件的詳細資訊頁面現在會顯示一個上下文選單,其中包含擴充套件的所有操作,就像在“擴充套件”檢視中一樣。

主題:GitHub Light
擴充套件詳細資訊頁面中的功能貢獻選項卡現在會顯示擴充套件的 啟用事件。

主題:GitHub Light
您現在可以一起停用擴充套件及其依賴項。當您嘗試停用具有依賴項的擴充套件時,會出現一個帶有全部停用操作的通知。

主題:GitHub Light
您可以使用“擴充套件”檢視中擴充套件上下文選單中提供的新增到工作區建議或從工作區建議中移除操作來將擴充套件新增到或從工作區建議中移除。

主題:GitHub Light
當啟用設定同步時,擴充套件建議通知現在會顯示安裝下拉操作,就像在“擴充套件”檢視中一樣。

我們透過棄用 extensions.showRecommendationsOnlyOnDemand 設定來簡化擴充套件建議配置。您現在可以使用 extensions.ignoreRecommendations 設定來控制擴充套件建議通知,並使用“擴充套件”檢視的可見性操作預設隱藏建議。
故障排除:擴充套件二分查詢
VS Code 的真正強大之處在於其擴充套件:主題擴充套件添加了漂亮的顏色和圖示,語言擴充套件提供了 IntelliSense 和程式碼導航,偵錯程式擴充套件使您能夠深入研究錯誤。有時,問題是否由擴充套件引起以及由哪個擴充套件引起並不明顯。直到今天,您需要停用所有擴充套件,然後逐個重新啟用擴充套件以查詢有問題的擴充套件。現在,使用名為擴充套件二分查詢的新功能,此過程變得容易。它使用二分查詢演算法來快速識別導致問題的擴充套件。本質上,它會停用一半的擴充套件,並要求您檢查是否仍然存在您所看到的問題。如果問題消失了,那麼有問題的擴充套件一定在停用的擴充套件列表中,而不是在當前啟用的擴充套件列表中。重複此過程,直到只剩下一個擴充套件。
您可以透過命令面板中的幫助:啟動擴充套件二分查詢命令啟動擴充套件二分查詢(⇧⌘P (Windows, Linux Ctrl+Shift+P))。然後,它會引導您完成重複停用和重新啟用擴充套件的過程。每次重新載入後,都會提示您確認問題是否仍然存在。


擴充套件二分查詢會反覆要求您檢查問題是否重現。您隨時可以透過停止二分查詢中止,如果您關閉二分查詢通知,您可以透過幫助:繼續擴充套件二分查詢命令繼續。

當擴充套件二分查詢過程完成後,系統會要求您針對該擴充套件提交問題。您也可以從此處保持擴充套件停用。
鍵盤快捷方式編輯器
在此里程碑中,我們為鍵盤快捷方式編輯器添加了多項改進。
您現在可以透過右側的配置鍵繫結齒輪按鈕從命令面板配置命令的鍵繫結。

主題:GitHub Light
您可以從鍵盤快捷方式編輯器為一個命令新增多個鍵繫結。

主題:GitHub Light
您現在還可以從搜尋輸入中按特定鍵盤快捷方式編輯器列進行篩選:
@command:commandId- 按命令 ID 篩選。例如,@command:workbench.action.showCommands。@keybinding:keybinding- 按鍵繫結篩選。例如,@keybinding:f1。@source:user|default|extension- 按來源篩選。
您可以使用 Up 和 Down 箭頭在鍵盤快捷方式編輯器中導航搜尋歷史記錄。

IntelliSense
來自其他文件的基於詞語的建議
VS Code 支援簡單的基於詞語的建議。當語言服務不可用或語言服務無法計算結果時(例如在註釋中鍵入時),它們非常有用。在此版本中,VS Code 現在可以配置為建議來自其他開啟檔案的詞語。使用 editor.wordBasedSuggestionsMode 設定 allDocuments 以建議來自所有開啟檔案的詞語,使用 matchingDocuments 以建議來自同一語言的開啟檔案的詞語(預設),以及使用 currentDocument 以僅建議來自當前檔案的詞語。

隱藏內聯詳細資訊
VS Code 中的建議具有詳細資訊,這些詳細資訊顯示在建議旁邊的單獨浮出控制元件中。詳細資訊檢視可以關閉,然後詳細資訊預覽將與建議一起以內聯方式顯示。將詳細資訊與建議一起以內聯方式顯示可能會佔用太多空間,因此現在可以透過新的布林設定 editor.suggest.showInlineDetails 停用此功能。
TypeScript 建議顯示路徑
TypeScript 可以提供也會新增 import 語句的補全。然而,當有多個同名符號時,很難選擇正確的補全。此版本使這更簡單,因為自動匯入補全的路徑會與標籤一起顯示。

自定義 CodeLens
您現在可以配置 CodeLens 項的字體系列和大小。

在上面的螢幕截圖中,字型和大小是使用以下兩個設定自定義的:
"editor.codeLensFontFamily": "Comic Sans MS",
"editor.codeLensFontSize": 12,
編輯器
使用空格縮排時的粘性製表位
如果您更喜歡使用空格縮排程式碼,則有一個名為 editor.stickyTabStops 的新設定,它使 VS Code 將前導空格中的游標移動視為類似於製表符。

刪除詞語命令
現有的刪除詞語操作將刪除從當前游標位置到詞語開頭(例如 Windows/Linux 上的 Ctrl+Backspace)或到詞語末尾(Windows/Linux 上的 Ctrl+Delete)。現在有一個新命令,它將刪除游標下的整個詞語,名為刪除詞語。
差異編輯器中的自動換行
差異編輯器的並排檢視和內聯檢視現在都支援自動換行。通常,差異編輯器將尊重與自動換行相關的編輯器設定。對於預設自動換行的 Markdown 檔案,差異編輯器也會自動換行它們:

如果您希望差異編輯器從不換行或始終換行,您可以使用新的 diffEditor.wordWrap 設定並將其配置為 "on" 或 "off"(預設值為 "inherit",這意味著差異編輯器繼承編輯器換行設定)。
程式碼片段
隱藏擴充套件程式碼片段
現在可以從 IntelliSense 中隱藏擴充套件貢獻的程式碼片段。當您執行插入程式碼片段時,此功能可從“插入程式碼片段”選擇器中獲得。找到要隱藏的擴充套件程式碼片段,然後選擇右側的眼睛圖示。

隱藏的程式碼片段不會顯示在 IntelliSense 中,但仍可透過插入程式碼片段使用。最後,使用設定同步時,隱藏的程式碼片段首選項將在您的裝置之間同步。
沒有字首的程式碼片段
在編寫程式碼片段時,您現在可以省略 prefix 屬性。沒有字首的程式碼片段不會顯示在 IntelliSense 中,但可以從插入程式碼片段使用。
整合終端
終端配置支援
您現在可以透過在終端下拉選單中選擇配置終端設定來修改終端設定。

鍵繫結管理
預設情況下,鍵繫結會分派給工作臺而不是終端,如 terminal.integrated.commandsToSkipShell 設定中所指定。當用戶輸入與這些命令之一對應的鍵繫結時,會顯示一個新通知,並提供配置相關設定的選項。
要將大多數鍵繫結傳送到終端而不是工作臺,您可以設定 terminal.integrated.sendKeybindingsToShell。

語言
Markdown 內聯智慧選擇
使用以下命令在 Markdown 文件中展開和收縮選擇:
- 擴充套件:⌃⇧⌘→ (Windows、Linux Shift+Alt+Right)
- 收縮:⌃⇧⌘← (Windows、Linux Shift+Alt+Left)
選擇適用於斜體、粗體、內聯程式碼塊和連結。

TypeScript 4.1
此版本的 VS Code 包括 TypeScript 4.1.2。此主要的 TypeScript 更新帶來了許多新語言功能的支援——包括 模板文字型別 和對 React 17 的工廠支援——以及改進了 JavaScript 和 TypeScript 的語言工具。一如既往,它還包括許多錯誤修復。
您可以在 TypeScript 部落格 上閱讀有關 TypeScript 4.1 的更多資訊。
JSDoc @see 標籤的初步支援
JSDoc @see 標籤允許您在 JSDoc 註釋中引用其他函式和類。下面的示例顯示了 crash 函式引用來自另一個檔案的 WrappedError 類:
// @filename: somewhere.ts
export class WrappedError extends Error { ... }
// @filename: ace.ts
import { WrappedError } from './somewhere'
/**
* @see {WrappedError}
*/
function crash(kind) {
throw new WrappedError(kind);
}
VS Code 現在將在執行重新命名時包含基本的 @see 引用。您還可以對 @see 標籤的內容執行轉到定義,並且 @see 標籤也將顯示在引用列表中。
我們計劃在未來的版本中繼續改進對 @see 標籤的支援。
IntelliSense 行為和型別檢查的新設定
有兩個新設定控制不在顯式 tsconfig 或 jsconfig 專案中的 JavaScript 和 TypeScript 檔案中的 IntelliSense 和型別檢查行為。
-
js/ts.implicitProjectConfig.strictNullChecks設定啟用 嚴格空值檢查。它預設為false。如果您使用 TypeScript,您絕對應該啟用嚴格空值檢查,因為它可以捕獲許多常見的程式設計錯誤。
嚴格空值檢查在處理 JavaScript 時也很有用。啟用嚴格空值檢查後,懸停和 IntelliSense 資訊將顯示哪些型別可以為
undefined和null。如果您 在 JavaScript 中啟用型別檢查,VS Code 還可以使用嚴格空值檢查來捕獲一些常見的程式設計錯誤。 -
js/ts.implicitProjectConfig.strictFunctionTypes設定啟用 嚴格函式型別。它預設為true。嚴格函式型別更難解釋,但通常也會改進 IntelliSense 並可以捕獲一些程式設計錯誤。
請記住,如果檔案是 jsconfig 或 tsconfig 專案的一部分,則這些設定都將被覆蓋。
重新命名其他隱式 JS/TS 專案設定
其他 JavaScript 和 TypeScript 的隱式專案設定已重新命名以使其更準確:
javascript.implicitProjectConfig.checkJs->js/ts.implicitProjectConfig.checkJsjavascript.implicitProjectConfig.experimentalDecorators->js/ts.implicitProjectConfig.experimentalDecorators
這些設定被重新命名是因為它們適用於不屬於 jsconfig 或 tsconfig 專案的 JavaScript 和 TypeScript 檔案。以前的設定名稱表明它們只適用於 JavaScript 檔案。
HTML
新格式化程式設定
HTML 擴充套件使用 JSBeautify 作為格式化程式。更新到最新版本的 JSBeautify (1.13) 帶來了一些新的格式化程式設定:
html.format.wrapAttributesIndentSize:使用force aligned和aligned multipleinhtml.format.wrapAttributes時的對齊大小,如果為null則使用預設縮排大小。html.format.templating:遵守 django、erb、handlebars 和 php 模板語言標籤。html.format.unformattedContentDelimiter:將文字內容保持在一起,分隔符為字串。
最後一個設定允許您設定一個標籤來標記不應格式化的區域:
"html.format.unformattedContentDelimiter": "<!-- DoNotFormat -->"

onTypeRename 的新設定名稱
用於編輯標籤時修改其匹配的結束標籤的輸入時重新命名功能現在稱為連結編輯。啟用連結編輯的命令是開始連結編輯 (⇧⌘F2 (Windows, Linux Ctrl+Shift+F2)),Escape 停用連結編輯模式。
啟用它的設定現在是:
"editor.linkedEditing": true
對擴充套件的貢獻
遠端開發
遠端開發擴充套件的工作仍在繼續,它允許您使用容器、遠端機器或 適用於 Linux 的 Windows 子系統 (WSL) 作為功能齊全的開發環境。
1.52 中的功能亮點包括:
- Linux 遠端上的自動埠轉發。
- 在本地安裝遠端擴充套件的新命令。
- 您現在可以在容器中開啟儲存庫時選擇一個分支。
- 透過在後臺安裝擴充套件來改進伺服器啟動效能。
您可以在 遠端開發版本說明 中瞭解有關新擴充套件功能和錯誤修復的資訊。
Notebook
VS Code 團隊正在 繼續工作 以支援 Notebooks,並改進其使用者體驗和效能。
改進大型文字輸出渲染
如果內容太大,本地 Notebook 編輯器現在將截斷輸出以確保 UI 始終響應。您仍然可以在文字編輯器中開啟輸出的完整原始內容。

擴充套件創作
檔案裝飾 API
FileDecorationProvider API 現已定型,可供任何擴充套件使用。使用此 API,可以將環境資訊新增到檔案,例如在資源管理器中顯示的 SCM 和錯誤裝飾使用此 API。
撤消資源更改
資源管理器操作(如建立檔案、重新命名檔案或刪除檔案)會引發事件,允許參與,例如 onWillCreateFiles、onWillRenameFiles 或 onWillDeleteFiles。此版本添加了對撤消此類資源管理器操作的支援,您應該知道在撤消操作時不會觸發上述事件。
新主題顏色
statusBarItem.errorBackground:狀態列錯誤項背景顏色。錯誤項從其他狀態列條目中脫穎而出,以指示錯誤情況。statusBarItem.errorForeground:狀態列錯誤項前景顏色。錯誤項從其他狀態列條目中脫穎而出,以指示錯誤情況。
錯誤背景顏色
主題作者現在可以利用新的主題顏色來處理編輯器中的錯誤。編輯器錯誤、警告和資訊現在可以透過以下方式設定樣式:
editorError.backgroundeditorWarning.backgroundeditorInfo.background

更新的 Codicons
我們已將以下新圖示新增到我們的 codicon 庫中:
check-allcircle-large-filledcircle-large-outlinepass-filledpinned-dirty
![]()
支援檢視容器和檢視的 Codicons
您現在可以使用 Codicons 作為檢視容器和檢視的圖示。例如:
"views": {
"explorer": [
{
"id": "npm",
"name": "NPM Scripts",
"icon": "$(code)",
"visibility": "hidden"
}
]
}
有關可用圖示列表,請參閱 圖示列表。
連結編輯範圍提供程式
以前稱為 OnTypeRenameProvider 的功能現在是公共 API,名為 LinkedEditingRangeProvider。
對於文件中的給定位置,LinkedEditingRangeProvider 連結具有相同內容的範圍。對其中一個範圍的更改可以應用於所有其他範圍。
這可以在 HTML 中看到。當編輯開始標籤的名稱時,結束標籤也會自動更新。
FoldingRangeProvider.onDidChangeFoldingRanges
FoldingRangeProvider.onDidChangeFoldingRanges 已成為公共 API。這是一個可選事件,用於指示提供程式中的摺疊範圍已更改。
使用查詢篩選器開啟鍵盤快捷方式編輯器
擴充套件現在可以使用命令 workbench.action.openGlobalKeybindings 在開啟鍵盤快捷方式編輯器時傳遞查詢文字。
vscode.commands.executeCommand('workbench.action.openGlobalKeybindings', 'query');
fs.isWritableFileSystem
新的 fs.isWritableFileSystem API 允許您檢查給定的檔案系統是否支援寫入。例如,要檢查 URL 為 example:/path/to/file 的文件是否在可寫檔案系統上:
switch (vscode.fs.isWritableFileSystem('example')) {
case true:
// The `example` filesystem supports writing.
// Keep in mind the permissions or other issues may still prevent
// a file from being written.
break;
case false:
// The `example` filesystem does not support writing (it is readonly).
break;
case undefined:
// VS Code does not know about the `example` filesystem
break;
}
自定義編輯器 可以使用 fs.isWritableFileSystem 來確定它們是否顯示只讀 UI。
Markdown 樹工具提示 API
用於在 TreeItem 上使用 Markdown 作為 tooltip 的 API 已經定型。您可以在建立 TreeItem 時將 tooltip 設定為 Markdown 字串,或者,如果您的 Markdown 可能需要額外時間來計算,您可以使用新的 TreeDataProvider.resolveTreeItem 來設定工具提示。

TreeItem 突出顯示 API
期待已久的 TreeItemLabel API 已經定型。此 API 可用於在 TreeItem 的 label 上設定突出顯示。您可以在“引用”檢視中看到它的實際應用。

listDoubleSelection 和 listMultiSelection
現在可以使用上下文值 listDoubleSelection 和 listMultiSelection 來啟用貢獻的樹檢視中的命令。
檢視歡迎內容按鈕啟用
您現在可以為檢視歡迎內容部分設定啟用上下文子句。

建議的擴充套件 API
每個里程碑都會帶來新的提議 API,擴充套件作者可以嘗試使用它們。一如既往,我們希望得到您的反饋。要嘗試提議的 API,您需要執行以下操作:
- 您必須使用 Insiders 版本,因為提議的 API 經常更改。
- 您的擴充套件的
package.json檔案中必須包含以下行:"enableProposedApi": true。 - 將最新版本的 vscode.proposed.d.ts 檔案複製到您專案的源位置。
您不能釋出使用提議 API 的擴充套件。下個版本中可能會有破壞性更改,我們絕不希望破壞現有擴充套件。
狀態列條目背景顏色 API
我們為 StatusBarItem 提出了一個新的屬性 backgroundColor,用於設定狀態列條目的背景顏色。目前只支援 statusBarItem.errorBackground,以避免狀態列看起來太花哨。我們可能會在未來擴充套件此支援以支援更多顏色。

此新 API 的用例是使擴充套件能夠在狀態列中指示錯誤情況。例如,ESLint 擴充套件可能會決定使用此顏色來提醒使用者尚未為工作區啟用 ESLint。
更多可主題化的圖示
產品圖示主題的工作已經恢復。產品圖示主題 是一個擬議中的功能,允許您使用一組自定義圖示來設定 VS Code 的樣式。它適用於內建檢視中的所有圖示,以及使用 Codicon 庫中的圖示的所有擴充套件。產品圖示主題將在下一個里程碑中公開發布。
添加了許多圖示名稱,特別是針對除錯、擴充套件和終端檢視,以及設定和筆記本編輯器。
檢視更新的 圖示列表。
移除擬議中的日誌記錄 API
大約一年前存在的日誌記錄 API 提案 LogLevel 和 onDidChangeLogLevel 現已移除。擴充套件可以使用輸出通道 API 進行日誌記錄,或者在使用自定義日誌記錄器時使用 ExtensionContext#logUri。
初步新增擬議中的測試 API
我們正在研究 VS Code 中的測試,並且第一個版本的 API 現在存在於 vscode.proposed.d.ts 中。請閱讀連結的問題以獲取更多上下文,如果您有意見,請參與。我們預計將比觀察者部分更早釋出提供程式部分。
新上下文鍵運算子
<、<=、> 或 >= 現在可用於上下文鍵表示式。這是一個貢獻命令的示例,該命令僅在開啟兩個或更多工作區資料夾時出現:
"contributes": {
"menus": {
...
"when": "workspaceFolderCount >= 2"
...
}
}
語言伺服器協議
語言伺服器協議 3.16 版本的功能集已定型,可在 LSP 協議網站 上找到。3.16 版本的主要亮點是:
詳細的 更改日誌 還包含對現有請求的所有次要改進。
除錯介面卡協議
支援條件異常
在此里程碑中,2020 年 9 月的條件異常 提案 已定型,現在是 除錯介面卡協議 (DAP) 1.43 版本的一部分。
協議新增擴充套件了 setExceptionBreakpoints 請求,增加了一個新的可選 filterOptions 屬性,用於設定異常篩選器及其條件。除錯介面卡可以透過 supportsExceptionFilterOptions 功能宣佈它支援條件異常功能。
澄清 StackTraceResponse.totalFrames 的語義
除錯介面卡協議中 supportsDelayedStackTraceLoading 功能的描述似乎表明,為了使延遲堆疊幀載入工作,介面卡必須用可用堆疊幀的正確數量填充 StackTraceResponse 的 totalFrames 欄位。然而,對於某些偵錯程式或執行時,此值不容易計算,這使得支援延遲堆疊幀載入變得昂貴。
由於堆疊幀的總數從未在 UI 中顯示,我們澄清了 totalFrames 的原始(有些缺乏)語義描述:除錯介面卡現在可以自由地為 totalFrames 提供一個大(不正確)的值,並且客戶端應該準備好接收比請求的幀少,並將其用作已到達堆疊末尾的指示。
澄清 RunInTerminalRequestArguments.cwd 的語義
由於 runInTerminal 請求的 cwd 屬性(“當前工作目錄”)不是可選的,因此無法省略該屬性以表示“不關心”情況。例如,如果除錯介面卡知道“cwd”已經正確,並且不需要讓客戶端生成“更改目錄”命令,則 DAP 規範沒有描述如何實現這一點。
為了解決這個缺點,我們澄清了 DAP 規範,添加了只有當 cwd 屬性包含非空路徑時,客戶端才需要執行更改目錄命令。
工程
為問題報告器和程序資源管理器啟用沙盒和上下文隔離
為了從啟用 Electron 的 沙盒 和 上下文隔離 中獲得更多反饋,我們努力為我們的程序資源管理器和問題報告器視窗啟用它。此配置最終也將成為主 VS Code 視窗的預設配置:
sandbox已啟用contextIsolation已啟用- 資源從自定義的
vscode-file方案(而不是file)提供
NPM 依賴項的安全供應鏈
我們透過利用原始碼掃描和測試服務改進了 NPM 依賴項供應鏈,以提高構建管道的安全性和可靠性。
Linux ARM 儲存庫
用於 ARM 架構(aarch64 和 armhf)的 VS Code 現在釋出在以下 Linux 儲存庫中:
新命令
| 鍵 | 命令 | 命令 ID |
|---|---|---|
| 在差異編輯器中聚焦主側 | workbench.action.compareEditor.focusPrimarySide |
|
| 在差異編輯器中聚焦次側 | workbench.action.compareEditor.focusSecondarySide |
|
| 在差異編輯器中聚焦另一側 | workbench.action.compareEditor.focusOtherSide |
文件
遠端開發
有幾種新的方法可以瞭解 VS Code 遠端開發:
- 檢視討論 VS Code 遠端開發 的“製表符與空格”影片。
- 或者嘗試逐步學習模組,瞭解如何 將 Docker 容器用作開發環境。

GitHub 整合
- 檢視我們關於如何利用編輯器的 GitHub 整合的新學習模組 Visual Studio Code 中的 GitHub 簡介。

我們如何在開放中製作 VS Code
觀看開發人員 Alex Ross 和 Benjamin Pasero 在 GitHub Universe 上的會議錄影 我們如何在開放中製作 VS Code,瞭解我們的團隊如何將 VS Code 作為開源構建並在 GitHub 上與社群協作。
Chromebook 上的 VS Code
您知道您可以在 Chromebook 上執行 VS Code 嗎?我們認為這對學生和初學程式設計師來說是一個很好的選擇。透過我們的 在 Chromebook 上使用 VS Code 學習 部落格文章瞭解如何在 Chrome OS(透過 Crostini)上設定 VS Code,其中包括有關使用 JavaScript 和 Python 開始編碼的說明。
值得注意的修復
- 39543:在拆分 json 設定編輯器中的概述標尺中突出顯示匹配的詞語。
- 67905:同時安裝多個擴充套件 vsix 檔案
- 83187:來自一個配置的環境變數洩漏到另一個配置中。
- 88703:設定 UI 中未報告具有 URI 格式的欄位上的錯誤
- 97202:${config
} 變數無法在多根工作區啟動配置中解析。 - 98041:Emmet 忽略對“評估數學表示式”的選擇
- 107320:當安裝包含 main 的擴充套件時,不應出現主題選擇器。
- 107461:除錯控制檯上的歷史記錄未保留
- 109111:除錯控制檯不尊重使用者設定。
- 110077:資料斷點未顯示在斷點檢視中。
- 110426:支援從 stdin 讀取的
--diff引數 - 110738:允許擴充套件為自定義檔案系統方案設定編輯器標籤
- 110775:Shift 右鍵單擊的“永久刪除”選項消失了
- 110854:支援已開啟編輯器中檔案系統提供程式的只讀更改
- 110905:CLI:如果擴充套件已安裝,則不要聯絡 Marketplace,除非強制執行
感謝
最後但同樣重要的是,衷心感謝以下本月為 VS Code 做出貢獻的人們:
對我們問題跟蹤的貢獻
- John Murray (@gjsjohnmurray)
- Simon Chan (@yume-chan)
- Andrii Dieiev (@IllusionMH)
- ArturoDent (@ArturoDent)
- Alexander (@usernamehw)
對 vscode 的貢獻
- Aasim Khan (@aasimkhan30)
- 修復 ListWidget escape 按鈕行為 PR #110760
- 添加了複選框的輪廓偏移以使焦點可見。 PR #110038
- @AE1020:使點選捲軸按頁移動 PR #104923
- @alisonnoyes:Quiet Light 主題差異語法突出顯示 PR #107926
- Andrew Casey (@amcasey):公開 TS 伺服器跟蹤 PR #110534
- Andrew Branch (@andrewbranch):[typescript-language-features] 更新 importModuleSpecifierPreference 值 PR #110536
- @apogeeoak:防止重新開啟 markdown 預覽時出錯。 (#_107205) PR #111449
- Jonathan Belcher (@belcherj):修復 Firefox 的組合邏輯 PR #106873
- @BTNDev:更新了 javascript for in 程式碼片段 PR #111062
- Borja Zarco (@bzarco):在沒有
folderUri時解析配置變數不要失敗。 PR #97203 - @chanmaoooo:新增 'deleteWordEntire' 命令 PR #109511
- chenjigeng (@chenjigeng):修復在 HTML 中編寫 javascript 時懸停樣式不正確的問題 PR #111110
- @dataleaky:更新 package.json PR #111661
- Devansh Jethmalani (@devanshj):feat(quickinput):支援提示中的 codicons PR #102898
- Aadhish Sriram S (@dfireBird):feat: 檢測預設 stash 訊息 microsoft#106907 PR #107074
- @digeff:添加了 searchView/context 的可擴充套件性點 PR #109049
- Nathaniel Palmer (@diminutivesloop):在失敗時提供顯示 git 命令輸出 PR #95354
- Dor Mesica (@dormesica):添加了刪除 stash 之前的警告。 PR #94267
- David Sanders (@dsanders11)
- 修復錯誤訊息 PR #111269
- 為 vscode.RelativePattern 的 base 引數新增 vscode.Uri 型別 PR #111155
- 對“跟隨連結”命令的工具提示使用標籤 PR #110917
- 澄清命令啟用的效果 PR #110423
- 使用 Array.flat() PR #110189
- Ikko Ashimine (@eltociear):修復拼寫錯誤 'sequece' 為 'sequence' PR #109643
- Erik Krogh Kristensen (@erik-krogh):修復解析 markdown 檔案時的災難性回溯 PR #109964
- Jakub Piskiewicz (@eXotech-code):添加了自動開啟克隆儲存庫的設定。 PR #94369
- Fabio Zadrozny (@fabioz):FileSystemWatcher 限制的文件 (#_60813) PR #110858
- Himanshu Kapoor (@fleon):允許 monaco-editor 與 Jest 正常工作 PR #109833
- Ben Curtis (@Fmstrat):新增 ignoreSubmodules 選項 PR #88772
- John Murray (@gjsjohnmurray)
- 修復 #109733 防止標題欄中出現雙重 '(read-only)' 字尾 PR #109736
- 修復 #106487 實現 viewsWelcome 貢獻按鈕的 'enablement' 子句 PR #107705
- Guillaume Lachance (@glachancecmaisonneuve):Windows 資源管理器圖示 PR #86283
- Hung-Wei Hung (@hunghw):使用更改的檔案建立空提交 #107753 PR #107958
- Dhruva Srinivas (@IQUBE-X):向 Markdown 程式碼片段新增定義列表 PR #110026
- Jean Pierre (@jeanp413)
- 修復快速導航導航欄時擴充套件編輯器的小故障 PR #110370
- 修復列印長行時滾動終端滯後 PR #110213
- 改進合併衝突中已刪除檔案的差異 PR #91245
- 修復原始碼管理記住樹摺疊狀態 PR #89313
- Jessica Petty (@jepetty):新增 node 任務以修復損壞的 Rich Nav 構建 PR #110762
- Josias (@justjosias):拼寫錯誤 hightlight -> highlight PR #108451
- @KapitanOczywisty:比較時忽略 LineDecoration 順序 PR #108379
- Ken Aoki (@kena0ki):更新 xterm.css PR #109850
- Wenlu Wang (@Kingwl)
- Oliver Larsson (@LarssonOliver):實現 git.pruneOnFetch 設定 PR #89249
- Jiaxun Wei (@LeuisKen):在 ExtensionUrlBootstrapHandler 中快取 OpenURLOptions PR #110725
- Jade (@lf-):顯式 fontLigatures 描述 PR #109987
- Logan Rosen (@loganrosen):將 .ember-cli 標記為 jsonc 而不是 json PR #110541
- Mohammed Al-Dahleh (@maldahleh):#109255 - 在設定“檔案:編碼”下拉選單中新增編碼描述 PR #109551
- Mathias Rasmussen (@mathiasvr):允許僅修改 git amend message PR #91838
- MD Asif Hasan (@mdasifhasan):修復 Pull 和 Sync 的 fetchOnPull 行為 PR #99324
- Seth Fitzsimmons (@mojodna):拼寫錯誤:Uncommited → Uncommitted PR #109119
- Nicholas Rayburn (@nrayburn-tech):為 launch.json 新增 dirSep 變數 PR #105887
- oli (@olivercoad):處理衝突的多字元自動關閉對 PR #110094
- @Pikachu920:防止將“null”不必要地連線到反饋 URL PR #111325
- Pablo Sebastian Greco (@psgreco)
- 更多清理 armhfp 和 aarch64 rpm 硬編碼依賴項 PR #111253
- 修復 armv7hl 和 aarch64 的硬編碼 rpm 依賴項 PR #111198
- Rotem Bar (@rotem-bar):feat(extensions):添加了一個選項,用於在停用具有已啟用依賴項的擴充套件時停用相關依賴項 PR #104997
- Andreas Ziegler (@rupran):scmViewPane:不在提交訊息輸入欄位中渲染空格 PR #107913
- Dmitry Sharshakov (@sh7dm):Git:暫存前詢問是否儲存未儲存的檔案 PR #94358
- Shivang Tripathi (@shivangg):feat: Autodetect npm.packageManager #102050 PR #102494
- Shunsuke Iwamoto (@shskwmt):修復 #93946。滾動時移除焦點。 PR #94280
- Emanuel Tesař (@Siegrift):啟用 tsec 作為語言服務外掛 PR #108682
- Jonathan Mannancheril (@SneakyFish5)
- Git:新增 cherryPick 命令 PR #104614
- 新增 git.pushTags 設定 PR #104312
- Scott Davis (@stdavis):feat: 實現 Git: Push Tags 命令 PR #110096
- Suman B K (@sumanbk92):將 ` 包含為 foldEndPairCharacters 的一部分 PR #110108
- Tim (@Timmmm):新增原子製表符選項 PR #107126
- @turara
- 更新 OneSnippet#move 方法以修復 #96545。 PR #108964
- 向 SearchView 新增 updateTextFromFindWidgetOrSelection 方法 PR #108401
- 更新 CodeActionOnSaveParticipant PR #108193
- Alexander (@usernamehw)
- 新增一個設定以包含基於詞語的建議,無論語言如何 PR #110494
- 修復 #99971 - 在功能貢獻中顯示啟用事件 PR #100010
- Valter Pires (@vfcp):修復 package.nls.json 中“Tomorrow Night Blue”主題的 themeLabel PR #110178
- Jason Wang (@wangjaso):為 git.api.getRemoteSources 提供預設使用 github 提供程式的選項 PR #106368
- Eno Yao (@Wscats)
- 支援鍵繫結瀏覽器上下文鍵 PR #110902
- 支援大於和小於 PR #110846
- 最佳化程式碼可讀性 PR #110572
- @xndcn:修復 minimap 滑塊的重疊區域 PR #108448
- winwin2011 (@YuJianghao):修復進度位溢位錯誤 PR #110411
- Zuckjet (@Zuckjet):懸停資訊不應在詞語內中斷 PR #106885
對 language-server-protocol 的貢獻
- @KamasamaK
- Danny Tuppeny (@DanTup):調整以簡化規範解析 PR# 1156
對 vscode-languageserver-node 的貢獻
- Niccolò Belli (@darkbasic):實現 ShowTextDocumentRequest PR #490
- Danny Tuppeny (@DanTup):新增對 onProgress 中介軟體的支援 PR #690
- Julien HENRY (@henryju):使用 appName 作為客戶端資訊而不是 'vscode' PR #697
對 vscode-eslint 的貢獻
對 vscode-js-debug 的貢獻
- Momtchil Momtchev (@mmomtchev):新增對除錯外部 node internals 的支援 PR #824
對 vscode-html-languageservice 的貢獻
- Jean Pierre (@jeanp413):修復 autocomplete text edit outputs </[object Object]> PR #93
對 node-jsonc-parser 的貢獻
- Dan Russell (@dangrussell):將副檔名新增到 typings 屬性值 PR #43
對 vscode-generator-code 的貢獻
- Tom Sherman (@tom-sherman):替換已棄用的
assert.equal為strictEqualPR #229 - Tomáš Hübelbauer (@TomasHubelbauer):允許透過 CLI 傳遞 gitInit、pkgManager 和 webpack PR #227
對 vscode-vsce 的貢獻
- Fabian Meumertzheim (@fmeum):確保 *.vsix 中的 package.json 可寫 PR #508
- James George (@jamesgeorge007):chore: 移除過時的程式碼 PR #511
- Matan Gover (@matangover):presense -> presence PR #510