現已釋出!閱讀關於 11 月新增功能和修復的內容。

2021 年 7 月 (版本 1.59)

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

此版本還解決了 CVE-2021-26437

下載:Windows: x64 Arm64 | Mac: 通用 Intel silicon | Linux: deb rpm tarball Arm snap


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

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

在太平洋時間 8 月 10 日星期二上午 8 點(倫敦時間下午 4 點)加入我們的 VS Code 團隊直播,觀看此版本中的新功能演示,並向我們即時提問。

內測版:想盡快嘗試新功能?您可以下載每晚的內測版構建,並儘快嘗試最新的更新。

工作臺

擴充套件

調整大小時改進的擴充套件檢視。在下面的短片中,預設寬度的擴充套件檢視顯示所有詳細資訊(以前未顯示圖示、評分和安裝計數)。隨著檢視縮小,會顯示較小的擴充套件圖示,當其寬度進一步減小時,圖示和評分會隱藏。

Dynamic Extensions view

主題:GitHub Light Theme

擴充套件檢視現在在擴充套件上顯示自定義懸停提示。此豐富的懸停提示包括擴充套件的完整描述以及其他有用資訊,例如擴充套件被停用或推薦的原因。

Custom Extension hover

主題:GitHub Light Theme

您現在可以在擴充套件窗格中的新執行時狀態選項卡中檢視擴充套件的執行時狀態。狀態資訊包括其啟用時間、是否在啟動時啟用以及是否有任何警告或錯誤。其中一些資訊顯示在擴充套件檢視及其懸停提示中(如上圖所示)。

Extension Runtime Status

主題:GitHub Light Theme

擴充套件窗格詳細資訊選項卡現在顯示類別、資源連結以及其他資訊,例如擴充套件釋出和更新日期。選擇一個類別將在擴充套件檢視中顯示該類別的其他擴充套件。

Extension Details

主題:GitHub Light Theme

設定編輯器

設定編輯器現在支援對物件進行驗證。驗證會檢查在直接編輯 JSON 檔案時可能引入的型別錯誤。

Object setting showing validation errors

陣列設定現在在非編輯模式下支援拖放。此外,屬性 uniqueItems 設定為 true 的列舉陣列設定現在只顯示剩餘選項,而不是下拉列表中的所有選項

Drag and drop for array settings

設定編輯器現在還支援多行字串設定,其中值在多行文字區域中呈現,而不是在單行輸入框中呈現

An example of a multiline string setting

擴充套件主題自定義語法

下面列出的顏色自定義設定允許使用者自定義當前主題的顏色

  • workbench.colorCustomizations
  • editor.tokenColorCustomizations
  • editor.semanticTokenColorCustomizations

有新的語法可以一次自定義多個主題

    "workbench.colorCustomizations": {
        "[Abyss][Red]": {
            "activityBar.background": "#ff0000"
        },
        "[Monokai*]": {
            "activityBar.background": "#ff0000"
        }
    },

可以列出多個主題,也可以在名稱開頭和結尾使用 * 萬用字元。

支援 Jupyter 筆記本

本月,我們將處理讀取 *.ipynb 檔案的程式碼從 Jupyter Notebook 擴充套件移動到了一個新的內建擴充套件中。這意味著您現在可以在全新安裝的 VS Code 中開啟 Jupyter 筆記本,而無需安裝完整的 Jupyter 擴充套件。但是,如果您想執行單元格或檢視使用 ipywidgets 或其他複雜渲染器型別的輸出,則必須安裝 Jupyter 擴充套件。

筆記本佈局改進

我們在此迭代中對筆記本佈局進行了一些改進

  • 摺疊單元格時,現在會渲染單元格輸入的第一行。
  • 當視窗不夠寬而無法渲染所有主要操作時,筆記本編輯器工具欄上的操作將移入溢位選單(...)。
  • notebook.undoRedoPerCell 的預設值現在更改為 true

notebook layout improvements

我們還更新了程式碼單元格的預設樣式,現在顯示背景顏色以幫助區分單元格。主題可以使用 notebook.cellEditorBackground來自定義此顏色。

Example of updated notebook code cells

最後,您現在可以使用設定 notebook.globalToolbarShowLabel 在筆記本工具欄上切換文字標籤

Example of notebook toolbar text

配置複製相對路徑的路徑分隔符

一個新設定 explorer.copyRelativePathSeparator 允許您在呼叫複製相對路徑操作時顯式設定路徑分隔符。

可用的分隔符選項是

  • auto(預設值)- 使用作業系統特定的路徑分隔符。
  • / - 使用斜槓作為路徑分隔符。
  • \\ - 使用反斜槓作為路徑分隔符。

跨編輯器組共享檢視狀態

添加了一個新設定 workbench.editor.sharedViewState,用於配置編輯器檢視狀態(例如,編輯器中的滾動位置)如何在編輯器組之間共享。

預設情況下,此設定處於停用狀態以保留當前行為。如果您開啟一個編輯器到側邊,然後關閉該編輯器組,稍後再次開啟該編輯器到側邊,則不會恢復檢視狀態,因為您正在開啟一個新的編輯器組。但是,當您啟用此設定時,最新的編輯器檢視狀態將跨所有編輯器組保留並使用,除非找到針對該編輯器組更具體的檢視狀態。

下面是重新開啟 package.json 檔案到側邊時保留選擇狀態的示例。

Shared editor group view state

編輯器

在摺疊區域之間導航

有新命令可將游標位置設定為相應的摺疊

  • 轉到下一個摺疊 (editor.gotoNextFold)
  • 轉到上一個摺疊 (editor.gotoPreviousFold)
  • 轉到父摺疊 (editor.gotoParentFold)

這些命令目前沒有預設的鍵繫結,但您可以透過首選項:開啟鍵盤快捷方式 (⌘K ⌘S (Windows, Linux Ctrl+K Ctrl+S)) 新增自己的鍵盤快捷方式。

自動摺疊匯入

使用設定 editor.foldingImportsByDefault 來自動摺疊匯入語句。摺疊狀態在檔案開啟一次後儲存。此功能適用於 TypeScript、JavaScript、Java、C#、C++ 以及所有具有使用 FoldingRangeKind.Imports 註釋匯入語句的摺疊範圍提供程式的語言。

從選擇中填充搜尋字串

查詢控制元件設定 editor.find.seedSearchStringFromSelection 已擴充套件為支援僅從非空選擇中填充搜尋字串。預設情況下,當顯示查詢控制元件時,編輯器將使用選擇或空選擇周圍的單詞作為搜尋鍵盤。

內聯建議改進

我們更改了內聯建議的呈現方式。這不僅修復了許多錯誤,還使自動換行感知內聯建議。

此外,現在支援非尾隨位置的多行內聯建議。

嵌入式提示改進

我們還更改了嵌入式提示的呈現方式。透過使用與內聯建議相同的機制,嵌入式提示現在也考慮了自動換行。此機制還可以在嵌入式提示周圍啟用單獨的游標停止點。

終端

跨視窗拖放終端

將終端從一個視窗的選項卡列表或編輯器區域拖放到另一個視窗的選項卡列表、編輯器區域或面板中。

Drag and drop terminal across windows

子程序跟蹤和關閉警告

現有的 terminal.integrated.confirmOnExit 和新的 terminal.integrated.confirmOnKill 設定使用子程序跟蹤來顯示警告,當嘗試關閉具有 shell 程序下的子程序的終端時。預設情況下,此跟蹤僅影響編輯器區域中的終端,但現在可以配置為顯示所有終端或面板區域中的終端的警告。

將貢獻的終端配置檔案設定為預設值

擴充套件貢獻的終端配置檔案現在可以設定為預設配置檔案。預設終端配置檔案由終端下拉列表中的預設字尾指示。

The terminal profile dropdown displays indicates the extension terminal profile is set as the default

下劃線和刪除線支援

整合終端現在支援下劃線和刪除線屬性。例如,Git 可以配置為使用這些新屬性

Git output in terminal with underline and strikethrough text

主題:Sapphire Theme

上面的示例在 .gitconfig 中使用以下設定

[color "status"]
  added = green bold
  changed = red bold strike
  untracked = cyan
  branch = yellow black bold ul

在編輯器區域建立終端到側邊

有一個新命令 workbench.action.createTerminalEditorSide 用於在活動編輯器的側邊編輯器區域中建立終端。

活動終端選項卡指示器

主題現在可以使用主題鍵 terminal.tab.activeBorder 設定垂直線的顏色來指示活動終端選項卡。

Highlighted active terminal

如果未設定 terminal.tab.activeBorder,顏色將回退到 tab.activeBorder

停用終端選項卡圖示中的動畫

新設定 terminal.integrated.tabs.enableAnimation 將停用終端選項卡圖示中的動畫。對於任務,使用播放按鈕而不是旋轉動畫

Terminal tab without animation and play button displayed

除錯

改進的編輯器標題中的執行/除錯按鈕

在二月版本中,我們引入了一個下拉按鈕,用於將執行和除錯命令集中(且緊湊)地分組在編輯器的標題區域中(請參閱 1.54 版本說明)。根據使用者反饋,我們嘗試透過記住上次執行的操作來改進下拉按鈕。下拉按鈕現在有兩個點選區域,一個用於預設操作(左側),另一個用於下拉選單(右側),選擇後會執行操作並將其記住為新的預設值。

Debug/run split button shown for Java

下拉行為

  • 如果只有一個執行或除錯操作,則省略下拉選單。
  • 如果有多個執行或除錯操作,則所有操作都會出現在下拉選單中,並且預設操作設定為下拉選單中的第一個操作(只要沒有記住的操作)。
  • 預設操作在 VS Code 重啟後為特定工作區保留;它按編輯器保留。

對擴充套件的貢獻

即時預覽

上個月釋出的 Live Preview 擴充套件 Live Preview 具有一些令人興奮的新功能。這些功能包括

  • 與內建 JavaScript 偵錯程式相容以進行外部預覽。
    • 執行Live Preview: Show Debug Preview來試一試!
  • 對嵌入式瀏覽器的改進,例如“在頁面中查詢”支援和快速訪問 webvivew DevTools。
  • 自動生成檔案的檔案系統監視。
  • 還有更多!🎉

要檢視本月進展的更多詳細資訊,請參閱 擴充套件的版本說明

Live Preview Debugging

Live Preview new browser features

主題:GitHub Dark Theme

GitHub 拉取請求和議題

繼續開發 GitHub Pull Requests and Issues 擴充套件,該擴充套件允許您處理、建立和管理拉取請求和問題。本月的一個亮點是開始處理問題已擴充套件為允許您處理當前儲存庫之外的問題。

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

Jupyter

繼續開發 Jupyter 擴充套件。要了解所有新功能和更新,您可以閱讀擴充套件 7 月版本的完整 更改日誌

如果您想了解有關 VS Code 實現本機支援筆記本的路徑的更多資訊,可以閱讀最近的 筆記本成熟 部落格文章。

互動式視窗

Jupyter 互動式視窗提供了一種替代方式來構建和使用 Jupyter 筆記本,使用文字檔案而不是筆記本介面。上個月,我們預覽了升級版的 Jupyter 互動式視窗,具有更深入的工作臺整合,包括支援主題、自定義鍵繫結、程式碼片段、與擴充套件的相容性等。非常感謝我們的使用者透過 GitHub 問題提供有關預覽體驗的反饋。內建互動式視窗現在是 1.59 中的預設介面。以前的介面將透過設定 "jupyter.enableNativeInteractiveWindow": false 保持可用,並將在即將釋出的版本中刪除。我們期待 您的反饋

Shift+Enter to run code in the Interactive window

按行執行

我們一直在努力支援 Jupyter 筆記本中的“按行執行”功能。此功能本質上是一種簡化的除錯模式,可讓您逐行遍歷單元格的程式碼,而無需複雜的除錯 UI。這仍然是實驗性的,但您可以透過設定 "jupyter.experimental.debugging": true、在選定的核心中安裝 ipykernel 版本 6,然後選擇單元格工具欄中的按行執行按鈕來試用它。

Run by line

Python

Python 擴充套件中,我們改進了 Python 直譯器列表的排序。過去,虛擬環境會顯示在列表底部,導致大量滾動和/或搜尋。位於專案根目錄的虛擬環境現在首先顯示,然後是全域性安裝的環境。

List of Python interpreters

開發容器 devcontainer CLI

用於在 VS Code 中使用 Docker 容器的 開發容器 擴充套件現在包含一個 devcontainer 命令列介面,允許您在開發容器中開啟資料夾 (devcontainer open) 或構建開發容器映像 (devcontainer build)。

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

預覽功能

未儲存檔案的自動語言檢測

我們很高興地宣佈未儲存檔案自動語言檢測的初始預覽版,它使用機器學習來檢測您正在使用哪種語言編碼,並自動設定未儲存檔案的語言模式。此功能使用開源 ML 庫 Tensorflow.js 和 GitHub 使用者 @yoeoGuesslang ML 模型。

在此版本中,此功能預設關閉,但我們計劃在下一個迭代中將其設為預設值。要啟用它,請應用以下設定

"workbench.editor.untitled.experimentalLanguageDetection": true

要檢視此功能的實際效果,請開啟一個未儲存的檔案(檔案 > 新建檔案)並將原始碼貼上到編輯器中。

這是一個 Python 程式碼自動檢測的示例

paste a code snippet right into VS Code and it will detect the language

主題:Panda Theme

此外,您可以透過開啟語言選擇器來檢視正在檢測的語言。

the language picker also shows the detected languages if there are any

主題:Panda Theme

注意:如果語言檢測不夠自信,那麼您將保持在當前的語言模式下,並且在語言檢測有更多信心之前,語言選擇器中不會顯示任何結果。

該設定還允許您提供語言覆蓋以指定您不想自動切換離開的語言模式。

這是一個不自動檢測 Markdown 檔案的示例

"workbench.editor.untitled.experimentalLanguageDetection": true
"[markdown]": { "workbench.editor.untitled.experimentalLanguageDetection": false }

使用上面的設定,當您編輯未儲存的 Markdown 檔案時,自動語言檢測將不會執行。但是,如果您修改任何其他型別的未儲存檔案,自動語言檢測將使用這些檔案的內容執行。

我們將與 ML 模型互動的程式碼分離到它自己的庫中,作為 npm 包釋出在 vscode-languagedetection 儲存庫中。

讓我們知道未儲存檔案的自動語言檢測對您來說效果如何!

TypeScript 4.4

此版本包括對即將釋出的 TypeScript 4.4 版本的支援。您可以在 TypeScript 部落格上閱讀有關 TypeScript 4.4 中新語言功能和改進的更多資訊。一些工具亮點

  • JavaScript 和 TypeScript 檔案中的引數名稱和型別的嵌入式提示。
  • 純 JavaScript 檔案中的基本拼寫建議。僅當 TypeScript 語言服務對錯誤和修復有信心時才會顯示這些建議。

要開始使用 TypeScript 4.4 每晚構建,請安裝 TypeScript Nightly 擴充套件。

請分享您的反饋,並讓我們知道您在使用 TypeScript 4.4 時是否遇到任何錯誤。

反彙編檢視

感謝 Microsoft C++ 團隊的大量 貢獻,我們很高興在此里程碑中包含除錯反彙編檢視的預覽版。

反彙編檢視可以從編輯器的上下文選單中開啟,以顯示活動堆疊幀的反彙編源,並支援單步執行彙編指令和在單個指令上設定斷點。

反彙編檢視僅在活動除錯會話中可用,並且當底層除錯擴充套件支援它時。截至今天,只有 Microsoft C++Mock Debug 擴充套件可以為反彙編檢視提供資料。

Disassembly view in Mock Debug extension

從技術角度來看,VS Code 對反彙編檢視的實現現在支援除錯介面卡協議的另外四個功能

  • 用於為記憶體位置提供反彙編源的 disassembly 請求。
  • 堆疊幀上的 instructionPointerReference 屬性。
  • 單步請求上的 granularity 屬性。
  • 指令斷點和 setInstructionBreakpoints 請求。

擴充套件創作

測試 API

去年秋天,我們開始著手在 VS Code 中新增執行測試的本機支援,本月第一組與測試相關的 API 已定稿。與以前在擴充套件中發現的 API 相比,這些 API 提供了更大的靈活性、更好的效能和更豐富的 UX。檢視 編寫測試擴充套件指南 以深入瞭解。

Image showing the test explorer and rich diff view experience

主題:codesong

現有 Test Explorer UI 擴充套件的使用者可以透過將 testExplorer.useNativeTesting 設定為 true 來獲得本機體驗。但是,轉換反映了 Test Explorer UI 擴充套件的現有 API,因此不包括豐富的 diff 支援等某些功能。

首批採用測試 API 的擴充套件之一是包含在 Extension Pack for Java 中的 Microsoft Test Runner for Java

Java extension using the native test API in VS Code

新檔案選單的貢獻點

提供建立新檔案編輯器(例如筆記本或自定義編輯器)的方式的擴充套件現在可以將命令貢獻給新的 file/newFile 選單貢獻點。可以從歡迎頁或檔案選單中的新建檔案...項訪問此選單。

New File menu in use via Welcome page

豐富的狀態列懸停提示

狀態列專案現在支援包含連結和圖示的豐富懸停提示 StatusBarItem.tooltip: string | IMarkdownString

Rich Status bar hover

  • 如果 MarkdownString.supportThemeIcons 為 true,則可以使用 $(iconName) 語法使用圖示。
  • 如果 MarkdownString 受到信任,您還可以新增命令連結。語法:([test](command:vscode.newWindow))

狀態列警告顏色

表示警告的狀態列專案可以使用新新增的顏色 statusBarItem.warningBackgroundstatusBarItem.warningForeground

沒有 additionalProperties 的物件設定

物件設定必須將 additionalProperties 設定為 false,才能在設定編輯器中支援物件。否則,設定編輯器會將設定解釋為可以採用任何形狀的複雜設定,並引導使用者轉到 settings JSON 檔案。

多行字串設定

要在設定編輯器中新增對多行字串設定的支援,請將 "editPresentation": "multilineText" 作為鍵值對新增到字串設定中。將字串設定更改為多行將導致設定編輯器在多行文字區域而不是單行輸入框中呈現設定值。

更新的 codicons

我們已將以下新圖示新增到我們的 codicon 庫中:

List of updated icons

  • azure
  • compass-active
  • compass-active
  • compass-dot
  • compass
  • debug-all
  • debug-coverage
  • git-pull-request-closed
  • git-pull-request-draft
  • issue-draft
  • layers-active
  • layers-dot
  • layers

文字文件更改原因

當觸發事件 workspace.onDidChangeTextDocument 時,事件物件上的新屬性 reason 指示文字更改是由撤消還是重做操作引起的。

語言伺服器協議

新版本的 語言伺服器協議以及相應的 npm 模組已釋出。 3.17 版本包含一個與 VS Code 本身最新更改一致的完成項標籤詳細資訊提案。

除錯介面卡協議

“writeMemory”請求和“memory”事件提案定稿

writeMemory 請求已定稿,現在可在 除錯介面卡協議 的 1.48 版本和相應的 npm 模組中使用。如果除錯介面卡具有 supportsWriteMemoryRequest 功能,客戶端可以使用 writeMemory 請求將位元組寫入給定位置的記憶體。

memory 事件有一個 提案,將在下一個里程碑中新增到 DAP 中。

建議的擴充套件 API

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

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

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

TaskGroup 的 isDefault

group 屬性存在於 tasks.json 檔案中定義的任務上,並透過任務 API 公開。group 屬性具有 isDefault 屬性,該屬性直到現在才在 API 中可用。此提案將 isDefault 屬性作為只讀屬性公開在 TaskGroup 上,以便擴充套件可以讀取哪個任務是組的預設任務,但不能透過設定組的預設值來覆蓋使用者的配置。

AuthenticationGetSessionOptions 的 forceRecreate

到目前為止,用於獲取身份驗證會話物件的 getSession API 無法要求使用者登入。對於 GitHub 等身份驗證服務,需要提示登入,這些服務使用 SAML/單點登入 (SSO),其訪問令牌在 SSO 會話過期時最終會失去對資源的訪問許可權。此提案向 AuthenticationGetSessionOptions 添加了另一個屬性 forceRecreate,允許您要求使用者再次登入。向用戶顯示類似於指定 createIfNone 時的模態體驗。

工程

基於 iframe 的 Webview 現在在桌面上的任何地方使用

本月我們完成了從 Electron 的 webview tag 元素到基於普通 <iframe> 元素的 webview 的過渡。這更好地使 VS Code 的 webview實現在桌面和 Web 上保持一致,也讓我們刪除了許多現在多餘的程式碼。

Electron 13 更新

在此里程碑中,我們完成了將 Electron 13 打包到 VS Code 中的探索,我們要感謝所有參與測試和在 Insiders 上進行自託管的人。這是一個主要的 Electron 版本,附帶 Chromium 91.0.4472.124。此版本中 Node.js 版本沒有變化,仍將是 v14.16.0。

Electron 沙盒支援的進展

隨著我們繼續使 VS Code 工作臺為啟用 Electron 的 沙盒做好準備,我們希望在 Linux 上啟用混合沙盒模式,並且不再在我們的分散式包 deb、rpm、snap 和 tar 存檔中捆綁 CLI 引數 --no-sandbox。Chromium 在 Linux 上有一個 多層沙盒模型。如果 Chromium 不能使用名稱空間沙盒進行第 1 層,它將嘗試透過與應用程式二進位制檔案一起提供的輔助二進位制檔案 chrome-sandbox 使用 setuid 沙盒。要使 setuid 二進位制檔案正常工作,它需要滿足以下條件

  • 沙盒二進位制檔案必須可由 Chromium 程序執行。
  • 它必須是 SUID 並且可由其他人執行。

我們能夠為 deb 和 rpm 包保留這些條件。目前無法為 snap 實現這些許可權,我們有跟蹤 問題 #127140 來解決 snap 包的後續問題。

至於使用 tar 存檔,如果應用程式無法使用名稱空間沙盒(在容器內執行時可能是這種情況),它將失敗並出現以下錯誤

FATAL:setuid_sandbox_host.cc(158)] The SUID sandbox helper binary was found, but is not configured correctly. Rather than run without sandboxing I'm aborting now. You need to make sure that chrome-sandbox is owned by root and has mode 4755.

如果發生這種情況,您可以使用以下兩種選項之一使其工作

  • 修復 setuid 輔助檔案的許可權

    sudo chown root <path-to-vscode>/chrome-sandbox
    sudo chmod 4755 <path-to-vscode>/chrome-sandbox
    
  • 使用 --no-sandbox 標誌執行

冒煙測試改進

我們執行一套冒煙測試,在每次構建時觸發,它會啟動 VS Code(桌面和 Web)並執行各種 UI 元素以確保功能正常。這個里程碑我們投資於這個基礎設施,允許我們從釋出清單中刪除手動冒煙測試。

冒煙測試現在在所有平臺(macOS、Linux 和 Windows)上執行。最重要的是,我們更復雜的冒煙測試套件之一(專門檢查上一個穩定版本 VS Code 和新版本之間的迴歸)已自動化,在每次提交時執行。

最後,感謝我們用於自動化 Web 冒煙測試的強大 Playwright 庫,我們啟用了它們的跟蹤功能,允許我們使用它們的 跟蹤檢視器 工具重放失敗的冒煙測試。

值得注意的修復

  • 26425:當沒有更改時,不應顯示“開啟更改”按鈕
  • 100815:連線到遠端 WSL 時外部終端損壞
  • 106981:當視窗縮放設定為 -1 時終端游標重影
  • 127959:偵錯程式暫停時除錯窗格開啟
  • 129059:設定編輯器中的物件小部件不渲染描述
  • 129070:無法透過僅按 OK 按鈕來更正下拉設定值
  • 129415:使用者任務無法在單檔案模式下執行

感謝

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

對我們問題跟蹤的貢獻

vscode 的貢獻

vscode-extension-samples 的貢獻

vscode-languageserver-node 的貢獻

vscode-pull-request-github 的貢獻

vscode-vsce 的貢獻

debug-adapter-protocol 的貢獻

language-server-protocol 的貢獻

monaco-editor 的貢獻

monaco-languages 的貢獻

© . This site is unofficial and not affiliated with Microsoft.