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

2020 年 6 月(版本 1.47)

更新 1.47.1:此更新解決了此安全問題

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

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

下載:Windows:x64 Arm64 | Mac:Intel | Linux:deb rpm tarball snap


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

如果您想線上閱讀這些發行說明,請訪問 code.visualstudio.com 上的更新頁面。

加入我們,於太平洋時間 7 月 13 日星期一上午 9 點(倫敦時間下午 5 點)參加 VS Code 團隊直播,觀看此版本新功能的演示並向我們提問。

內部人員預覽版: 想盡快試用新功能嗎?您可以下載每晚內部人員預覽版並立即試用最新更新。有關最新的 Visual Studio Code 新聞、更新和內容,請在 Twitter 上關注我們 @code

輔助功能

在此里程碑中,我們再次收到了社群的有用反饋,這幫助我們識別並解決了許多輔助功能問題。亮點:

  • 檔案資源管理器中的緊湊資料夾現在能正確地講述展開/摺疊狀態和 ARIA 級別。
  • 螢幕閱讀器現在可以更新編輯器中的游標偏移量。因此,螢幕閱讀器“全部朗讀”命令在停止和恢復時應更好地工作。
  • 相同的 ARIA 即時訊息現在將由螢幕閱讀器正確重新朗讀。

工作臺

從設定編輯器編輯物件設定

以前,設定編輯器只能用於編輯字串和布林值等基本型別設定,對於更復雜的設定型別,您需要直接編輯 settings.json。現在,您可以從設定編輯器編輯非巢狀物件設定。擴充套件作者可以使用此功能來提高這些型別設定的可見性。

之前

在設定編輯器中

Object setting in the old Settings editor

settings.json

Object setting in the JSON editor

之後

在設定編輯器中

Object setting in the new Settings editor

在列表檢視中選擇並保持焦點

有一個新命令 list.selectAndPreserveFocus,它允許您從列表中選擇一個專案,同時保持焦點在該列表中。如果您想從列表中(例如檔案資源管理器)選擇多個檔案,而不需要焦點轉移到檔案編輯器,這會很有幫助。

該命令預設未繫結任何鍵盤快捷鍵,但您可以新增自己的鍵繫結

{
  "key": "ctrl+o",
  "command": "list.selectAndPreserveFocus"
}

穩定的 Windows ARM 版本

適用於 ARM 上的 Windows 的 VS Code 現已推出穩定版!🎉

透過拖放安裝 VSIX

VS Code 現在支援透過拖放 VSIX 檔案到“擴充套件”檢視來安裝擴充套件。

新搜尋編輯器命令引數

搜尋編輯器命令(search.action.openNewEditorsearch.action.openNewEditorToSide)添加了兩個新引數,允許鍵繫結配置新搜尋編輯器的行為方式

  • triggerSearch - 搜尋編輯器開啟時是否自動執行搜尋。預設為 true。
  • focusResults - 是將焦點放在搜尋結果還是查詢輸入上。預設為 true。

例如,以下鍵繫結在搜尋編輯器開啟時執行搜尋,但將焦點留在搜尋查詢控制元件中。

{
  "key": "ctrl+o",
  "command": "search.action.openNewEditor",
  "args": { "query": "VS Code", "triggerSearch": true, "focusResults": false }
}

新搜尋編輯器上下文預設值

search.searchEditor.defaultNumberOfContextLines 設定已更新,預設值從 0 更改為 1,這意味著在搜尋編輯器中,每個結果行之前和之後將顯示一個上下文行。要恢復舊行為,請將值設定回 0。

列表/樹:動態水平滾動

以前存在的 workbench.list.horizontalScrolling 設定現在可以在執行時切換,而無需強制您重新載入工作臺。

編輯器

正則表示式替換中的大小寫更改

VS Code 現在支援在編輯器中進行查詢/替換時更改正則表示式匹配組的大小寫。這透過修飾符 \u\U\l\L 完成,其中 \u\l 將單個字元轉換為大寫/小寫,\U\L 將匹配組的其餘部分轉換為大寫/小寫。

示例

Changing case while doing find and replace

修飾符也可以堆疊——例如,\u\u\u$1 將使組的前三個字元大寫,或者 \l\U$1 將使第一個字元小寫,其餘字元大寫。

目前,這些僅在編輯器的“查詢”控制元件中受支援,而在全域性“在檔案中查詢”中不受支援。

除錯

新的 JavaScript 偵錯程式

我們的新 JavaScript 偵錯程式在上個月成為 Insiders 上的預設偵錯程式之後,現在是 VS Code 中 JavaScript(Node.js 和 Chrome)的預設偵錯程式。如果您跳過了過去幾個 VS Code 更改日誌的“預覽功能”部分,您可以在偵錯程式 README 的新增功能部分中瞭解最新資訊。

您不需要更改任何設定或啟動配置即可利用新的偵錯程式。如果您遇到任何問題,請提交問題

單檔案除錯

直到今天,VS Code 偵錯程式沒有標準的方式來顯示編輯器中的檔案可以輕鬆地透過點選按鈕進行除錯。一些除錯擴充套件允許您這樣做,通常使用一個除錯配置,提示您“除錯編輯器中的檔案”。但是,使用者仍然必須在除錯配置下拉選單中選擇正確的配置才能使用 F5。其他除錯擴充套件為 F5 實現了一種回退策略:如果不存在 launch.json,則 F5 將嘗試除錯活動編輯器中當前開啟的檔案。

由於這兩種方法都不易發現,一些除錯擴充套件(例如 Python)已開始在編輯器的標題區域新增一個“執行”按鈕。

由於我們沒有找到更好的方法,並且這種方法可以在不需要任何新 API 的情況下實現,我們編寫了一些關於如何以標準方式實現它的指南。擴充套件作者可以在下面的“擴充套件創作”部分中找到這些指南。

使用者只需記住這些圖示

Run and debug action in editor title

如果編輯器標題區域的左側出現一個或兩個,則只需單擊一下即可執行或除錯編輯器中的檔案。

更簡潔的 CALL STACK 檢視

我們已開始使 CALL STACK 在常見情況下不那麼擁擠:CALL STACK 檢視現在支援隱藏出於技術原因存在但對使用者價值不大的除錯會話節點。

第一個選擇此功能的除錯擴充套件是新的 JavaScript 偵錯程式,它可以在只有一個子會話時消除父除錯會話。

Screenshot of two "Call Stack" views. Without compaction, there is an extra child session between the parent session and each attached worker processes.

我們希望其他除錯擴充套件也能效仿。請參閱下面新提議的 API。

跳到游標”的新命令別名“設定下一條語句

為了讓來自 Visual Studio 的使用者更容易發現“跳到游標”命令,我們添加了命令別名“設定下一條語句”。

如果您不知道“跳到游標”的作用:它允許您將程式執行移動到新位置,而無需執行中間的任何原始碼。

懸停時顯示斷點路徑

當在“斷點”檢視中將滑鼠懸停在源斷點上時,VS Code 現在會顯示斷點的絕對路徑。

任務

pnpm 包管理器支援

現在 pnpmnpm.packageManager 設定的有效選項,與 npmyarn 一起,用於執行您的指令碼。

原始碼管理

單檢視

原始碼管理檢視已整合為單個檢視

Source Control with a single view

所有儲存庫都顯示在單個檢視中,因此您可以更好地概覽整個工作區狀態。此外,原始碼管理檢視現在可以移動到面板,其他檢視可以移動到原始碼管理檢視容器。

檢視和排序

當使用列表檢視選項時,我們添加了按名稱、路徑(預設)和狀態對原始碼管理檢視中的更改進行排序的支援。我們已將檢視選項(列表與樹)和排序選項整合到上下文選單中的新“檢視和排序”選單項中。

View & Sort in Source Control

Git:恢復壓縮訊息

與通常的 git merge 命令類似,如果使用者正在執行 git merge --squash 命令,SCM 檢視現在將使用預設訊息恢復 SCM 輸入。

語言

TypeScript 3.9.6

VS Code 現在捆綁了 TypeScript 3.9.6。此次小型更新修復了一些錯誤,包括一個可能導致 TypeScript 伺服器在某些原始碼模式下崩潰的錯誤。

瀏覽器支援

大檔案上傳支援

您現在可以將大檔案和資料夾上傳到 VS Code 的 Web 版本,並且進度將準確報告,以便您可以跟蹤已上傳的位元組數以及上傳速度。

Web upload indicator in bottom Status bar

朝著文字檔案編碼支援的方向發展

在此里程碑中,大量工作投入到瀏覽器中對檔案讀寫文字編碼的全面支援。我們依賴於兩個現在透過利用 webpack 在瀏覽器中受支援的庫

這項工作將在 7 月繼續進行,很快就會普遍可用。

預覽功能

預覽功能尚未準備好釋出,但已足夠實用。我們歡迎您在這些功能開發期間提供早期反饋。

設定同步

過去幾個月,我們一直在努力支援跨機器同步 VS Code 首選項,此功能已在內部人員預覽版中提供預覽。

您現在可以使用“同步機器”檢視中機器條目上的“關閉首選項同步”上下文選單操作,停用其他機器上的同步。

Turn off preferences sync for a machine

我們還改進了開啟同步時的進度資訊。

TypeScript 4.0 支援

在此迭代中,我們繼續改進對 TypeScript 4.0 的支援。一些亮點包括:

  • 在編輯器中使用刪除線突出顯示對已棄用符號的呼叫。

    Call to a deprecated function rendered in the editor

  • 解釋無法應用給定重構的原因。

    Displaying the reason a refactoring cannot be applied

  • 改進的自動匯入 - 在 TypeScript 4.0 部落格文章中閱讀更多資訊。

您可以透過安裝 TypeScript 夜間版擴充套件,立即試用這些功能。

載入大型 JavaScript 或 TypeScript 專案時提供部分 IntelliSense 支援

TypeScript 4.0 測試版還帶來了一項新功能,旨在幫助減少載入大型 JavaScript 或 TypeScript 專案時等待的時間。為了解釋其工作原理,我們首先需要了解當前版本 TypeScript 的一些背景知識。

當您在 VS Code 中開啟 JavaScript 或 TypeScript 檔案時,TypeScript 語言服務會確定該檔案屬於哪個專案,然後載入關聯的專案。有時這個專案會非常大,例如 VS Code 核心程式碼庫,它包含數千個 TypeScript 檔案。在專案載入期間,VS Code 能夠處理基本的語法操作,例如獲取文件大綱和啟用程式碼摺疊,但目前無法提供 IntelliSense 或其他更高階的語言功能,因為它們依賴於理解整個專案。例如,為了提供自動匯入,TypeScript 語言服務需要知道專案中所有匯出的符號。

TypeScript 4.0 中的更改使得 VS Code 能夠在大型專案仍在載入時提供 IntelliSense 和其他更高階的語言功能。需要注意的是,我們提供的 IntelliSense 僅限於查閱當前檔案而不是整個專案。這意味著建議和“轉到定義”等功能將起作用,但我們只會顯示當前檔案中的建議,並且您只能執行“轉到定義”以跳轉到當前檔案中的另一個符號。

如果您從事大型 JavaScript 和 TypeScript 專案,我們有興趣聽取您對此新功能的反饋。您今天可以透過使用 TypeScript 夜間版擴充套件來試用它。我們希望它能讓您幾乎立即開始使用程式碼,直到更完整的專案級 IntelliSense 可用。

程式碼操作的撤消/重做

我們正在努力實現程式碼操作和重構的撤消和重做。一個突出的例子是 Java 類重新命名重構,它會進行文字更改並重命名磁碟上的檔案。現在可以撤消此操作,但仍需要觸發兩次撤消。請繼續關注我們對此的進一步改進,並請提供早期反饋。

對擴充套件的貢獻

Notebook

VS Code 團隊正在繼續開發對 Notebooks 的原生支援。為了幫助開發,我們建立了一個 GitHub 問題 Notebooks 擴充套件,它允許您搜尋 GitHub 問題和拉取請求。此擴充套件仍處於預覽階段,需要使用 VS Code 內部人員預覽版,但它讓您親身體驗 Notebooks,我們歡迎您的反饋。

更新的使用者體驗

我們更新了 Notebook 單元格的視覺外觀,使其設計更緊湊。我們還為選定的單元格添加了陰影輪廓,使選擇狀態更明顯。

Updated Notebook UX

筆記本熱退出支援

我們已在 Notebooks 中添加了熱退出支援,以允許擴充套件處理備份和恢復。您的未儲存本地更改現在可以透過擴充套件序列化,並在工作區重新開啟時恢復。

撤消/重做增強

我們增加了對擴充套件貢獻撤消/重做堆疊的支援。擴充套件現在可以控制哪些操作是可撤消的。例如,在 GitHub 問題筆記本中,您可以選擇“鎖定”按鈕使單元格內容只讀,並且還可以透過正常的撤消/重做命令撤消/重做此操作。

Undo/Redo in GitHub Issue Notebook

主題:GitHub 主題

建立無標題筆記本

我們擴充套件了“新建檔案”命令(⌘N (Windows, Linux Ctrl+N))以支援建立新的無標題 Notebook 檔案。例如,您可以使用以下鍵繫結快速建立 GitHub 問題 Notebook 並執行查詢。

{
  "key": "cmd+i",
  "command": "workbench.action.files.newUntitledFile",
  "args": { "viewType": "github-issues" }
}

Create Untitled GitHub Issue Notebook

主題:GitHub 主題

筆記本顏色令牌

我們還為筆記本添加了以下顏色令牌

  • notebook.cellBorderColor:筆記本單元格的邊框顏色
  • notebook.cellHoverBackground:單元格懸停時的背景顏色
  • notebook.cellInsertionIndicator:筆記本單元格插入指示器的顏色
  • notebook.focusedCellBackground:單元格聚焦時的背景顏色
  • notebook.focusedCellBorder:單元格聚焦時頂部和底部邊框的顏色
  • notebook.focusedCellShadow:單元格聚焦時單元格陰影的顏色
  • notebook.focusedEditorBorder:筆記本單元格編輯器邊框的顏色

兩個新示例展示瞭如何在筆記本中支援除錯

筆記本擴充套件指南

如果您有興趣為 VS Code 建立 Notebook 擴充套件,有一份新指南詳細介紹了 Notebook API。您將瞭解 API 以及 VS Code Notebook 基礎設施的詳細資訊和 Notebook 擴充套件開發最佳實踐。

遠端開發

遠端開發擴充套件的工作仍在繼續,它允許您使用容器、遠端機器或 適用於 Linux 的 Windows 子系統 (WSL) 作為功能齊全的開發環境。

1.47 中的功能亮點包括

  • 遠端 - SSH:遠端伺服器可以監聽套接字而不是埠。
  • 開發容器:提示在卷中開啟儲存庫。
  • 開發容器和 WSL:檢視最近的 在 WSL 2 中使用開發容器 部落格文章。

您可以在 遠端開發發行說明中瞭解新的擴充套件功能和錯誤修復。

如果您是 VS Code 遠端開發的新手,可以透過這些入門教程開始使用

Azure 帳戶

最新版本的 Azure 帳戶擴充套件現在公開了一個憑據物件,可與最新的 Azure SDK 一起使用。

GitHub 拉取請求和議題

GitHub Pull Requests and Issues 擴充套件的開發仍在繼續,該擴充套件允許您處理、建立和管理拉取請求和問題。此版本的一些更新包括:

  • “問題”檢視中的 Markdown 懸停。
  • 新問題編輯器中的標籤建議。
  • 對格式為 GH-123 的問題的懸停支援。

要了解所有新功能和更新,您可以檢視該擴充套件的 0.18.0 完整更新日誌

十六進位制編輯器

HexEditor 擴充套件不斷改進,以在 VS Code 中提供原生的十六進位制編輯體驗。此版本對該擴充套件的主要更新包括簡單的編輯支援(允許使用者撤消、重做、編輯現有十六進位制單元格以及向文件末尾新增新單元格)和大型檔案最佳化,允許使用者開啟超過 18 兆位元組的檔案,這在以前是不可能的。

Editing in the HexEditor extension

值得注意的完整更改列表可在 CHANGELOG 中找到。任何反饋或遇到的問題都可以在 vscode-hexeditor 儲存庫中提交。

擴充套件創作

輔助功能資訊

我們已在 TreeItemStatusBarItemTimelineItem 元素中完成了 AccessibilityInformation,以支援螢幕閱讀器。AccessibilityInformation 包含一個 label 和一個 role。一旦專案獲得焦點,螢幕閱讀器就會朗讀 label。專案的 role 定義螢幕閱讀器如何與其互動。當,例如,樹狀元素表現得像複選框時,應在特殊情況下設定 role。如果未指定 role,VS Code 將自動選擇適當的 role

“轉到位置”的備用訊息

當找不到位置時,editor.action.goToLocations 命令現在可以顯示一個備用訊息。這允許擴充套件實現“轉到超型別”等功能,其行為與內建功能(例如“轉到定義”)完全相同。下面的程式碼片段是呼叫此命令的擴充套件的完整示例:

vscode.commands.executeCommand(
  'editor.action.goToLocations',
  vscode.window.activeTextEditor.document.uri, //anchor uri and position
  vscode.window.activeTextEditor.selection.start,
  [], // results (vscode.Location[])
  'goto', // mode
  'No Super Types Found' // <- message
);

改進單檔案除錯體驗的指南

對於希望透過在編輯器中新增“執行”和/或“除錯”按鈕來改善單檔案除錯體驗的除錯擴充套件,我們建議遵循以下指南以保持一致的外觀和感覺:

  • 在 package.json 中貢獻“執行”和/或“除錯”命令(參見 Mock Debug
    • 使用命令標題“執行檔案”/“除錯檔案”或“執行 Python 檔案”/“除錯 Python 檔案”。
    • “執行”使用 $(play) 圖示,“除錯”使用 $(debug-alt-small)
  • 將命令新增到編輯器標題區域(參見 Mock Debug
    • 要使命令僅對特定語言可見,請使用“when”子句,例如 "resourceLangId == python"
    • 將“執行”命令放在 1_run@10 組中,將“除錯”命令放在 1_run@20 組中。

CodeActionProviderMetadata.documentation

CodeActionProviderMetadata 上的新 documentation 屬性允許擴充套件為其返回的程式碼操作提供靜態文件。當提供者返回程式碼操作時,此文件會顯示在程式碼操作列表的底部。

A documentation entry in the Code Actions menu

當用戶選擇文件條目時,會執行一個命令。此命令可以在編輯器中顯示文件或在瀏覽器中開啟它。

開啟和儲存對話方塊標題

透過 OpenDialogOptionsSaveDialogOptions 為開啟和儲存檔案對話方塊提供 title 的 API 已最終確定。請注意,並非所有作業系統都允許設定此標題,因此行為可能因擴充套件執行位置而異。

新擴充套件類別

您現在可以使用以下新新增的類別來分類您的擴充套件。

  • 資料科學
  • 機器學習
  • 視覺化
  • 測試
  • Notebook

輔助按鈕樣式

我們引入了輔助按鈕樣式,用於在需要使按鈕不那麼突出時使用。

  • button.secondaryForeground
  • button.secondaryBackground
  • button.secondaryHoverBackground

GitHub 工作流徽章

您現在可以將 GitHub 工作流徽章 新增到已釋出擴充套件的徽章列表中,因為 github.com 已新增到 批准徽章來源列表中。

GitHub Workflow badge

透過 argv.json 啟用提議的 API

enable-proposed-api 欄位現在在 argv.json 中受支援。這允許擴充套件作者在釋出的版本中執行其提議的 API 擴充套件進行長期試用,而無需透過命令列開啟 VS Code 並傳遞 --enable-proposed-api CLI 標誌。

新 codicon 圖示

我們已在 codicon 庫中添加了以下新圖示

  • debug-alt-small
  • vm-connect

Codicons icons

語言伺服器協議

語義令牌完成項中額外文字編輯的延遲解析的支援已新增到即將釋出的 3.16 規範中。

建議的擴充套件 API

每個里程碑都會帶來新的提議 API,擴充套件作者可以嘗試使用它們。一如既往,我們希望得到您的反饋。要嘗試提議的 API,您需要執行以下操作:

  • 您必須使用 Insiders 版本,因為提議的 API 經常更改。
  • 您的擴充套件的 package.json 檔案中必須包含以下行:"enableProposedApi": true
  • 將最新版本的 vscode.proposed.d.ts 檔案複製到您專案的源位置。

請注意,您不能釋出使用提議 API 的擴充套件。下一個版本中可能會有重大更改,我們絕不希望破壞現有擴充套件。

上一個版本中新增的終端新連結系統的基礎上,這項新提案 window.registerLinkProvider 允許擴充套件將連結附加到終端,包括懸停時顯示的工具提示標籤。

Terminal Link Provider

這與之前提出的(現已棄用)“連結處理器”API 形成對比,該 API 允許您的擴充套件可能處理相關連結,如果它不處理,則會有一個回退鏈。這種新模型,即連結將肯定被處理,更符合連結可以有一系列可能操作的願景。

不帶除錯執行的新 API

VS Code 的“不帶除錯執行”功能是除錯的一種變體,其中現有除錯配置用於執行程式而不是除錯它。這種執行模式的結果是程式不會進入偵錯程式,無論是命中斷點還是任何其他原因。

在此里程碑中,我們提供了“不帶除錯執行”的官方擴充套件 API:debug.startDebugging 函式的 DebugSessionOptions 中添加了一個新屬性 noDebugnoDebug 控制即將開始的會話是否應在不除錯的情況下執行。如果缺少 noDebug 屬性,則使用父會話的值(如果存在)。如果沒有父會話,則對於缺失的 noDebug 屬性假定值為“false”。

請注意:以前可以透過向啟動配置新增 noDebug 標誌來實現相同的效果。這個非官方 API 現已棄用(但仍受支援),我們建議擴充套件過渡到新 API。

用於減少 CALL STACK 檢視混亂的新 API

隨著複雜除錯擴充套件和除錯設定的出現,CALL STACK 樹檢視中出現了更多的除錯會話,使它們看起來很擁擠。在大多數情況下,除錯會話對使用者很有用,他們需要完全控制它們。在其他情況下,一些除錯會話只是實現工件或一組子會話的分組機制。

為了使 CALL STACK 檢視在常見情況下不那麼擁擠,我們引入了一項功能,如果父除錯會話節點只有一個子會話,則隱藏它。此功能稱為“緊湊模式”,可透過 debug.startDebugging 函式的 DebugSessionOptions 上的新可選 compact 屬性獲得。

如果 compact 為 true,則新建立的除錯會話的父級將隱藏在 CALL STACK 檢視中,只要它只有一個子級。如果 compact 為 false 或缺失,則父節點保持可見(這是當前行為)。

樹狀檢視中的 Markdown 懸停

有一個新的提議 API,允許 TreeItemtooltipMarkdownString。除了允許工具提示使用 Markdown 外,TreeDataProvider 上還有一個新的 resolveTreeItemresolveTreeItem 的理念是,可能需要更長時間才能計算的屬性(目前只有 tooltip)可以稍後解析,而不是預先為每個樹項計算。您可以在 GitHub Pull Requests and Issues 擴充套件中看到 resolveTreeItem 和 Markdown tooltip 的用法。

工程

使用 TypeScript 4.0 構建 VS Code

VS Code 現在使用 TypeScript 4.0 的每夜構建版構建。

這個新的 TypeScript 版本幫助我們捕獲了一些 關於訪問器的潛在錯誤,並且還幫助我們測試即將釋出的 TypeScript 版本。

文件和擴充套件

C++ 的 CMake 工具

有關使用 CMake 和 CMake 工具擴充套件開發 C++ 應用程式的新教程。

CMake Tools extension

適用於 macOS 的 Java Pack 安裝程式

Visual Studio Code for Java Pack Installer 下載在 macOS 上的 Visual Studio Code 中進行 Java 開發所需的依賴項和擴充套件。

Java Pack installer for macOS

值得注意的修復

  • 71291:樹狀檢視中水平滾動導致渲染中斷
  • 93230:區域性變數以令人煩惱的方式摺疊
  • 98309:支援工作副本檔案服務中的多個檔案
  • 99061:允許重新開啟已關閉的差異編輯器
  • 99290:Git:重新載入時恢復差異編輯器
  • 99704:當未暫停時,頂層除錯會話行顯示“暫停”
  • 99786:除錯工具欄位置停靠時無法啟動附加會話
  • 100524:SCM 裝飾丟失
  • 101132:離線時嘗試打開發行說明後無法再次開啟

感謝

最後但同樣重要的是,衷心感謝以下本月為 VS Code 做出貢獻的人們:

對我們問題跟蹤的貢獻

vscode 的貢獻

vscode-extension-samples 的貢獻

vscode-eslint 的貢獻

debug-adapter-protocol 的貢獻

language-server-protocol 的貢獻

vscode-languageserver-node 的貢獻

vscode-css-languageservice 的貢獻

node-jsonc-parser 的貢獻

vscode-generator-code 的貢獻

vscode-vsce 的貢獻