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

2020 年 4 月 (版本 1.45)

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

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


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

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

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

輔助功能

此里程碑我們收到了社群的大量反饋,這幫助我們識別並解決了許多輔助功能問題

  • 我們引入了聚焦下一部分 (F6) 和聚焦上一部分 (⇧F6 (Windows、Linux Shift+F6)) 命令,以便於在工作臺之間導航。
  • 狀態列現在可訪問,當聚焦時,螢幕閱讀器可以讀取其內容。
  • 在工作臺的每個列表和樹形小部件中都引入了適當的 ARIA 標籤,例如“開啟的編輯器”、“麵包屑”、“問題”檢視等。

我們團隊的首要任務之一是使 Visual Studio Code 成為更易於訪問的產品,並改善每個使用者的體驗,因此我們為 VS Code 輔助功能建立了一個新的 Gitter 頻道。我們鼓勵使用者加入並提供反饋、提出問題並分享輔助功能實踐。

工作臺

透過滑鼠滾輪切換標籤頁

當您使用滑鼠滾輪滾動編輯器標籤頁時,您目前無法切換標籤頁,只能顯示超出檢視的標籤頁。現在,透過新設定workbench.editor.scrollToSwitchTabs,您可以更改行為以切換活動編輯器標籤頁。

下面,當游標聚焦在編輯器標籤頁區域時,如果使用者滾動滑鼠滾輪,活動編輯器將發生變化。

Changing editor tabs using the mouse wheel

注意:您也可以在滾動時按住Shift鍵以獲得相反的行為(例如,即使scrollToSwitchTabs設定關閉,您也可以切換編輯器標籤頁)。

自定義視窗標題分隔符

新設定window.titleSeparator允許您更改視窗標題中使用的分隔符。預設情況下,使用破折號'-'

Window title separator using dash

預設主題的側邊欄部分標題已更新

我們更新了預設深色和淺色主題的側邊欄部分標題樣式。我們現在使用透明背景,併為每個標題顯示邊框。

下面,開啟的編輯器部分標題沒有背景顏色,而VSCODE大綱標題有上邊框。

Side Bar section headers

編輯器

更快的語法高亮顯示

VS Code 中的語法高亮顯示透過解釋 Text Mate 語法執行。這些語法使用正則表示式編寫,可以使用oniguruma 正則表示式庫進行評估。到目前為止,我們一直使用兩個不同的庫來評估此類正則表示式,一個用於 VS Code 桌面(一個原生 Node 模組),另一個用於瀏覽器中的 VS Code(一個 Web Assembly 二進位制檔案)。

我們現在已經編寫了一個專用的 Web Assembly 繫結,該繫結針對我們的 TextMate 直譯器使用進行了最佳化。透過避免內部迴圈中的記憶體分配並採用幾個月前新增到 oniguruma 的新 API,我們已經能夠建立一種比以前兩種方法都更快,並且為常規程式設計檔案高亮顯示提供高達 3 倍效能的變體。您可以檢視拉取請求 #95958以獲取更多詳細資訊和測量結果。

語義標記樣式

您現在可以在使用者設定中自定義語義主題規則。TypeScript 和 JavaScript 可用語義著色,Java 和 C++ 的支援正在開發中。它預設對內建主題啟用,並被主題擴展采用。

editor.semanticTokenColorCustomizations設定允許使用者覆蓋預設主題規則並自定義主題。

Semantic token color customization

上述設定更改了預設深色+主題。它為引數賦予了新樣式(斜體和新顏色),並下劃線了來自預設庫的所有符號(例如,PromiseMap及其屬性)。

以下示例為所有主題添加了語義樣式

"editor.semanticTokenColorCustomizations": {
    "enabled": true, // enable semantic highlighting for all themes
    "rules": {
        // different color for all constants
        "property.readonly": "#35166d",

        // make all symbol declarations bold
        "*.declaration": { "bold": true }
    }
}

語義高亮指南中更詳細地解釋了語義標記的主題。

預設深色+主題中常量的新顏色

預設深色+和預設淺色+主題現在以與可寫變數不同的色調著色常量。

下面請注意,htmlModerange常量與result變數顏色不同。

預設深色+主題

Constant color in the Dark+ theme

預設淺色+主題

Constant color in the Light+ theme

停用持久撤消

上一個里程碑,我們更改了撤消/重做堆疊,以便在您關閉檔案並重新開啟檔案時保持持久化。並非所有人都想要此新功能,因此現在有一個設定files.restoreUndoStack可以停用持久撤消。

整合終端

移除幾個與提示相關的命令

以下命令已被移除

  • workbench.action.terminal.deleteWordLeft
  • workbench.action.terminal.deleteWordRight
  • workbench.action.terminal.deleteToLineStart
  • workbench.action.terminal.moveToLineStart
  • workbench.action.terminal.moveToLineEnd

這些命令透過向終端傳送特定的字元序列來工作,這是一種基於終端使用的命令鍵繫結進行猜測的最佳嘗試。這些命令的問題在於它們是一個封閉的盒子,您需要逐字搜尋 vscode 程式碼庫才能弄清楚它們是如何工作的。它們已被替換為workbench.action.terminal.sendSequence命令的自定義鍵繫結,該命令以通用方式執行相同的操作。

這些是高階鍵盤快捷鍵,由於它們包含引數,因此無法透過“鍵盤快捷鍵”UI 完全檢視,但您可以透過執行首選項:開啟預設鍵盤快捷鍵 (JSON)命令檢視其 JSON 定義

Terminal sendSequence keybindings JSON

支援在 PowerShell 中貼上多行文字

多行貼上在 PowerShell 中從未起作用,因為 VS Code 總是以與輸入完全相同的方式傳送文字。如上所述,幾個鍵繫結已交換為使用workbench.action.terminal.sendSequence命令,您可能已經注意到為 Windows 添加了一個新的鍵繫結

{ "key": "ctrl+v",                "command": "workbench.action.terminal.sendSequence",
                                     "when": "terminalFocus && !accessibilityModeEnabled && terminalShellType == 'pwsh'",
                                     "args": {"text":"\u0016"} },

這個新的鍵繫結將直接向 PowerShell 傳送表示Ctrl+V的文字,該文字將被 PSReadLine 拾取並正確處理。

之前

Terminal paste error before

之後

Terminal paste correctly after

主題:藍寶石 (Dim)

控制雙擊詞選擇

新設定terminal.integrated.wordSeparators允許您自定義在終端中雙擊時用於分隔單詞的分隔符。

預設分隔符是

  "terminal.integrated.wordSeparators": " ()[]{}',\"`─"

除錯

自動除錯配置

在 VS Code 中設定除錯可能是一項艱鉅的任務,因為使用者必須建立新的除錯配置(或至少根據自己的需要修改模板)。為了繼續簡化除錯體驗,我們添加了一項新功能,使除錯擴充套件作者能夠分析當前專案並自動提供高質量的除錯配置,而無需額外的使用者配置。

與提供構建任務類似,自動除錯配置在除錯檢視的配置下拉選單和選擇並開始除錯快速選擇器中,按相應的偵錯程式(資料夾圖示)分組。選擇偵錯程式後,VS Code 將顯示所有可用的自動配置。選擇配置將啟動新的除錯會話。

以下螢幕截圖顯示了新 JavaScript 偵錯程式(預覽版)和我們的教育性 Mock Debug 的功能

Automatic debug configurations

可以透過在快速開啟 (⌘P (Windows, Linux Ctrl+P)) 中鍵入“debug ”(帶空格)或觸發除錯:選擇並開始除錯命令來開啟除錯快速選擇器。

在下一個里程碑中,我們將新增 UI,以便可以輕鬆地將自動除錯配置新增到launch.json以進行進一步配置。

任務

停用更快的快速選擇器

在 1.44 版本中,我們透過更改佈局並使其更快地改進了執行任務:執行任務命令時顯示的任務選擇器。但是,更快的快速選擇器會根據您要執行的任務使任務選擇器深度達到兩級。如果您想要以前的 UI,現在可以使用task.quickOpen.showAll設定停用更快的選擇器。

執行時儲存

以前,當任務執行時,所有髒編輯器都會始終儲存。如果您不希望在執行任務時儲存編輯器,現在可以使用task.saveBeforeRun配置該行為。

語言

TypeScript 狀態列條目增強功能

當您聚焦 TypeScript 檔案時,VS Code 會在狀態列中顯示當前的 TypeScript 版本

TypeScript version status bar entry

現在點選版本會彈出適用於當前 TypeScript 專案的命令

TypeScript project commands

提示使用者切換到工作區版本的 TypeScript

新設定typescript.enablePromptUseWorkspaceTsdk會彈出一個提示,詢問使用者是否要切換到工作區版本的 TypeScript

Prompt shown when opening a workspace with local TypeScript version

要啟用提示,請在專案的工作區設定中包含"typescript.enablePromptUseWorkspaceTsdk": truetypescript.tsdk

Markdown 檔案中的編輯器連結和 Markdown 預覽中的連結現在可以指向資料夾。點選這些連結中的一個將在 VS Code 的檔案資源管理器中顯示目標資料夾。

原始碼管理

GitHub 儲存庫的 GitHub 身份驗證

VS Code 現在對 GitHub 儲存庫具有自動 GitHub 身份驗證。您現在可以克隆、拉取、推送公共和私有儲存庫,而無需在系統中配置任何憑據管理器。即使在整合終端中呼叫的 Git 命令,例如git push,現在也會自動透過您的 GitHub 帳戶進行身份驗證。

您可以使用git.githubAuthentication設定停用 GitHub 身份驗證。您還可以使用git.terminalAuthentication設定停用終端身份驗證整合。

隱藏 Git 提交輸入框

新設定git.showCommitInput允許您隱藏 Git 儲存庫的提交輸入框。

內聯差異現在可編輯

您現在可以在快速差異編輯器中編輯檔案,預覽檔案中的更改。

Editable inline diff

預覽功能

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

設定同步

我們過去幾個月一直在努力支援跨機器同步 VS Code 首選項,此功能可在Insiders版本中預覽。

您現在可以使用您的 GitHub 帳戶登入以同步您的 VS Code 首選項。

Settings Sync Sign in with GitHub

主題:GitHub Sharp with Customizations

現在還支援同步全域性片段。

新的 JavaScript 偵錯程式

本月我們繼續在新的 JavaScript 偵錯程式上取得進展。它預設安裝在 Insiders 版本中,並且可以從 Marketplace在 VS Code 穩定版中安裝。您可以透過啟用debug.javascript.usePreview設定開始將其與現有啟動配置一起使用。

以下是本月新增的一些功能

分析支援

您可以透過單擊“呼叫堆疊”檢視中的新配置檔案按鈕,或使用除錯:獲取效能配置檔案命令,從 Node.js 或瀏覽器應用程式捕獲 CPU 配置檔案。完成後,您可以選擇配置檔案的執行時間:直到您停止它,持續一段時間,或直到您遇到另一個斷點。

配置檔案結束後,它會儲存在您的工作區資料夾中並在 VS Code 中開啟。如果您執行的是穩定版,您需要安裝我們的視覺化工具擴充套件以檢視它。在 Insiders 版本中,該擴充套件已內建。當您開啟配置檔案時,CodeLens 會新增到您的檔案中,其中包含函式級別和某些“熱”行的效能資訊。與許多其他工具中捕獲的配置檔案不同,記錄的配置檔案是感知源對映的。

Animation showing the process of taking a profile

主題:Earthsong,字型:Fira Code

自動附加整合

debug.javascript.usePreview開啟時,VS Code 的自動附加將使用js-debug提供的新方法,該方法允許所有終端與除錯終端類似地工作。

相對於現有偵錯程式的自動附加改進

  • 偵錯程式立即附加,允許您在程式早期命中斷點。
  • 子程序自動除錯。
  • 自動附加期間沒有程序輪詢開銷。

從變數檢視複製複雜值

以前,嘗試從 VS Code 變數檢視複製複雜值(如物件)通常會導致資料被截斷或不完整。VS Code 和 js-debug 的更改允許我們複製完整的值。

Animation showing copying and pasting a very large array

產品圖示主題

Visual Studio Code 包含一組內建圖示,這些圖示用於檢視和編輯器,但也可以用於懸停、狀態列和擴充套件。這些圖示是產品圖示,而不是檔案圖示,後者顯示在整個 UI 中的檔名旁邊。

VS Code 附帶的產品圖示包含在Codicon 圖示字型中,並用於預設產品圖示主題。擴充套件現在可以提供新的產品圖示主題來重新定義這些圖示併為 VS Code 提供新外觀。

Custom product icon themes

產品圖示主題文件有更多詳細資訊,還有一個產品圖示主題示例

跨所有開啟專案的 TypeScript/JavaScript 符號搜尋

使用 TypeScript 3.9+ 時,VS Code 的工作區符號搜尋現在預設包含來自所有開啟的 JavaScript 和 TypeScript 專案的結果。我們以前只搜尋當前活動檔案的專案。

這由新設定"typescript.workspaceSymbols.scope"控制。要恢復舊行為,請設定:"typescript.workspaceSymbols.scope": "currentProject"

終端中的連結已進行了大修,將後端系統更換為更強大的實現,從而實現了

  • 使用編輯器的連結檢測,以便更好地檢測 Web 和file://連結。
  • 資料夾連結支援,可以在資源管理器中開啟資料夾或開啟新的 VS Code 視窗。
  • 不同連結型別有不同的連結操作,回退到搜尋工作區的“單詞”連結(基於terminal.integrated.wordSeparators設定)。
  • 與編輯器類似的連結高亮顯示和懸停體驗。

Terminal with various links

主題:黃玉 (Dim)

已知問題列表可在此查詢中找到。

動態檢視圖示和標題

在這個里程碑中,我們繼續致力於使佈局更加靈活。在工作臺周圍移動檢視允許您在活動欄中建立新圖示或在面板中建立新選項卡。為了更容易理解這些新建立的檢視容器中包含的內容,我們更新了邏輯以使其更易於理解。

現在,當您擁有自定義容器時,我們將從第一個可見檢視繼承標題和圖示。這將允許您透過重新排列檢視來更改它。對於內建或來自擴充套件的容器,我們將嘗試儘可能長時間地保留此圖示。下面,當一個新檢視放置在檢視容器的頂部時,其圖示和標題會更新。

Dynamic icons and titles

最後,您現在可以一次性移動您的自定義容器以及所有包含的檢視。下面的短影片展示了將終端和輸出檢視組合拖動到活動欄中。

Moving whole View Containers

對擴充套件的貢獻

遠端開發

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

1.45 版本中的主要功能包括

  • 開發容器:提供容器配置建議。
  • 開發容器:WSL 2 Docker 和 Podman 引擎支援。
  • 開發容器:用於本地和容器資料夾的新devcontainer.json變數。

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

GitHub 拉取請求和議題

以前名為“GitHub 拉取請求”,GitHub 拉取請求和問題擴充套件已經讓您在 VS Code 中管理和審查拉取請求一年多了。現在,該擴充套件已擴充套件到包括對 GitHub Issues 的支援。

問題支援包括

  • 針對 # 引用問題和 @ 提及使用者的懸停。
  • 針對問題和使用者的內聯完成建議。
  • 一個問題檢視,您可以在其中使用自定義查詢。
  • 一個開始處理問題的操作,該操作會建立一個分支並填充提交訊息。

還有新的儲存庫支援

下面的短影片演示了釋出到 GitHub 上的一個新私有儲存庫,並可以選擇在檔案成功上傳後在 GitHub 上瀏覽該儲存庫。

Publish repository

有關更多資訊,您可以閱讀最近的GitHub Issues 整合部落格文章和使用 GitHub文件。

GitHub Issue 筆記本

VS Code 團隊正在開發對 Notebooks 的原生支援。目前最流行的 Notebooks 是 Jupyter Notebooks,在研究它們的同時,我們開始尋找構建一個公正且支援不同風格 Notebooks 的 Notebook 解決方案的方法。

其中一個 Notebook 是GitHub Issue Notebooks擴充套件,它允許您管理問題和拉取請求搜尋並內聯渲染結果

GitHub Issue Notebook

此擴充套件仍在開發中,僅適用於 VS Code Insiders 版本,但您可以透過它親身體驗 Notebooks,並向我們提供反饋。

擴充套件創作

編輯器標籤頁的新主題顏色

新增了顏色,以進一步美化工作臺編輯器標籤頁

  • tab.unfocusedInactiveBackground:未聚焦組中非活動標籤頁的背景顏色
  • tab.hoverForeground:懸停時標籤頁的前景顏色
  • tab.unfocusedHoverForeground:未聚焦組中懸停時標籤頁的前景顏色

編輯器標題邊框的新主題顏色

現有顏色editorGroupHeader.tabsBorder已更改為在編輯器標籤頁下方但麵包屑上方渲染邊框。新顏色editorGroupHeader.border允許您在編輯器組標題下方(例如,如果啟用麵包屑則在麵包屑下方)渲染邊框,以恢復editorGroupHeader.tabsBorder之前的行為。

vscode NPM 模組的棄用和歸檔

在 2019 年 6 月,鑑於event-stream事件,我們將 vscode 模組拆分@types/vscodevscode-test。今天,minimist 的安全警報導致了仍然依賴於vscode的擴充套件的安全警報,vscode依賴於mocha@5.2.0,因此也依賴於minimist@0.0.8。不幸的是,mocha@5.2.0不再接收更新,升級到新的mocha版本會破壞現有功能。

我們釋出了新版本的vscode,它移除了一些不必要的依賴項。我們還歸檔了儲存庫並在 NPM 上棄用了vscode 模組。請遷移@types/vscodevscode-test

新的完成項型別

vscode.CompletionItemKind中新增了兩個條目,分別表示問題和使用者。例如,這些可以用於在新增 TODO 標籤時建議使用者名稱。

使用 URI

我們添加了一個vscode.Uri.joinPath實用程式。它是一個工廠函式,透過將路徑段與現有 URI 連線來建立新的 URI。可以將其視為 Node.js 的path.join實用程式,但用於 URI。

對於擴充套件,VS Code 透過Extension.extensionUriExtensionContext.extensionUri公開擴充套件安裝的 URI。藉助 join 實用程式,您現在可以為擴充套件的資源建立 URI。

例如

const fileUri = vscode.Uri.joinPath(context.extensionUri, './file.png');
const bytes = await vscode.workspace.fs.readFile(fileUri);

debug/callstack/context 選單內聯組

VS Code 現在支援對debug/callstack/context選單inline組的貢獻。貢獻到此組的命令將在使用者懸停在除錯會話元素上時內聯渲染在呼叫堆疊中。

Call Stack inline contribution

新的除錯主題顏色

有用於設定除錯檢視樣式的新顏色

  • debugView.exceptionLabelForeground:偵錯程式在異常時中斷時,在呼叫堆疊檢視中顯示的標籤的前景顏色
  • debugView.exceptionLabelBackground:偵錯程式在異常時中斷時,在呼叫堆疊檢視中顯示的標籤的背景顏色
  • debugView.stateLabelForeground:在呼叫堆疊檢視中顯示當前會話或執行緒狀態的標籤的前景顏色
  • debugView.stateLabelBackground:在呼叫堆疊檢視中顯示當前會話或執行緒狀態的標籤的背景顏色
  • debugView.valueChangedHighlight:用於高亮顯示除錯檢視中值更改的顏色(例如,變數檢視)
  • debugTokenExpression.name:除錯檢視中顯示的標記名稱的前景顏色(例如,變數或監視檢視)
  • debugTokenExpression.value:除錯檢視中顯示的標記值的前景顏色
  • debugTokenExpression.string:除錯檢視中字串的前景顏色
  • debugTokenExpression.boolean:除錯檢視中布林值的前景顏色
  • debugTokenExpression.number:除錯檢視中數字的前景顏色
  • debugTokenExpression.error:除錯檢視中表達式錯誤的前景顏色

原始碼管理

向開啟資源命令添加了新的 preserveFocus 引數

呼叫SourceControlResourceState.command命令時,將傳遞一個額外的preserveFocus: boolean引數,這允許擴充套件作者提供更好的使用者體驗。

輸入文字 mimetype

原始碼管理輸入文字現在有一個專用的 mimetype:text/x-scm-input

控制輸入框可見性

擴充套件現在可以使用SourceControlInputBox.visible屬性控制每個儲存庫的原始碼管理輸入框的可見性。

Git

遠端源提供程式

Git 擴充套件 API 現在允許其他擴充套件提供遠端源,以便參與Git:克隆命令。

以下是GitHub Pull Requests and Issues擴充套件的示例

Clone from GitHub

憑據提供程式

Git 擴充套件 API 已擴充套件,以便擴充套件可以提供身份驗證憑據,以便對工作臺和整合終端中針對 HTTPS Git 儲存庫呼叫的 Git 命令進行身份驗證。

SignatureInformation.activeParameter

SignatureInformation上的新activeParameter屬性允許您單獨指定每個簽名的活動引數。如果提供,它將覆蓋頂級SignatureHelp.activeParameter屬性。

EventEmitter 的嚴格 null 修復

在 VS Code 1.44 及更早版本中,EventEmitter.fire的引數是可選的

// Valid in VS Code 1.44
const emitter = new EventEmitter<number>();

emitter.event((x: number) => console.log(x));

// Calling fire with no argument was valid but resulted in the `x` above being `undefined`
emitter.fire();

這違反了嚴格 null 檢查,但未導致編譯錯誤。

在 VS Code 1.45 中,fire現在需要一個引數。如果您仍然希望能夠在原始碼中不帶引數呼叫.fire(),請使用new EventEmitter<void>

語言伺服器協議

規範的 3.16 版本的工作已經開始。作為第一步,呼叫層次結構支援已脫離提議狀態。請注意,3.16 規範尚未最終確定,並且根據反饋,可能仍會更改。

建議的擴充套件 API

每個里程碑都會帶來新的提議 API,擴充套件作者可以進行嘗試。一如既往,我們渴望您的反饋。以下是試用提議 API 的方法:

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

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

貢獻終端環境

上個月引入了這項新的提議 API,以便擴充套件作者可以貢獻終端環境。本月主要是在功能之上應用一些 UI 並對其進行完善。現在,當終端環境“過時”時會顯示一個警告圖示,它會顯示一個豐富的懸停,解釋將要發生的變化,幷包含一個方便的重新啟動終端操作。當更改處於活動狀態時也會顯示一個資訊圖示,但這預設是停用的。

Terminal stale environment warning

動態提供除錯配置

我們更新了除錯擴充套件 API,為除錯擴充套件作者提供了一種根據工作區或專案中找到的資訊動態新增除錯配置的方法。這些除錯配置出現在launch.json中顯示靜態除錯配置的相同 UI 位置。

在此版本中,動態除錯配置顯示在“除錯”檢視的配置下拉選單和“選擇並開始除錯”快速選擇器中。在未來的版本中,我們還考慮在“歡迎”檢視中顯示它們。

新的 API 基於現有DebugConfigurationProviderprovideDebugConfigurations方法。在此版本之前,VS Code 呼叫provideDebugConfigurations以提供最初的“靜態”除錯配置,以便複製到新建立的launch.json中。透過新的 API,現在可以透過將值DebugConfigurationProviderTriggerKind.Dynamic傳遞給新的可選triggerKind引數,為“動態”情況透過vscode.debug.registerDebugConfigurationProvider註冊DebugConfigurationProvider。透過此新註冊,VS Code 將在所有除錯配置列表即將在 UI 中顯示時呼叫provideDebugConfigurations方法。

為了及時啟用使用此新 API 的擴充套件,引入了一個新的啟用事件onDebugDynamicConfigurations:<debug type><debug type>是強制性的,表示指定動態除錯配置的偵錯程式。

一個使用示例可在 Mock Debug 中找到。

二進位制自定義編輯器 API

我們在此迭代中重新設計了二進位制自定義編輯器的提議 API,以準備其穩定化。提醒一下,自定義編輯器允許擴充套件提供自己的編輯器使用者介面,以取代 VS Code 的普通文字編輯器。我們已經穩定了對基於文字檔案的自定義編輯器的支援。提議的 API 將自定義編輯器擴充套件到二進位制檔案格式,例如影像或十六進位制轉儲。

A custom editor for binary files

我們希望您對這個 API 提供反饋,以便我們希望在下一次迭代中最終確定它。請檢視自定義編輯器擴充套件示例,以檢視二進位制檔案自定義編輯器的示例實現。自定義編輯器 API文件現在也涵蓋了二進位制檔案的自定義編輯器。

如果您認為此 API 有用,或者在實現自定義編輯器時遇到任何問題,請告訴我們

工程

原生迭代器

我們現在使用原生 ES6 迭代器來提高效能。您可以在問題 #94540中找到更多詳細資訊。

編譯守護程式

多虧了deemon實用程式,我們現在將自託管編譯任務作為後臺程序執行:即使 VS Code 重新啟動,它也會保持執行。

自動問題分類

在將我們的問題分類流程轉移到 GitHub Actions 的工作中,我們建立了用於自動問題分類的 Actions。這些 Actions 透過自動下載我們所有的問題並生成機器學習模型來按計劃將問題分類到功能區域中。我們所有 Actions 的完整實現都在我們的GitHub 分類 Actions儲存庫中。

新文件

Docker Compose

有一個新的Docker Compose主題,解釋了 Microsoft Docker 擴充套件如何幫助您將 Docker Compose 檔案新增到專案中,以便輕鬆處理多個 Docker 容器。

Java 主題

Java 主題已更新,幷包含關於使用Java 擴充套件Linting重構 Java 原始碼的新主題。

GitHub

隨著 GitHub 整合的擴充套件,有一個新的使用 GitHub主題,展示了您如何在 VS Code 中使用 GitHub。

值得注意的修復

  • 46886:無法調整除錯側欄中的斷點部分大小
  • 85344:當我點選 VSCode 中的連結時 Firefox 崩潰。
  • 86425:整合終端寬度太窄
  • 90714:將除錯控制檯字型大小設定應用於輸入欄位
  • 90734:Windows Terminal 作為外部終端未在工作區目錄中啟動
  • 93973:[SSH] 側欄中的自動顯示不起作用
  • 94574:居中佈局:顯示差異編輯器時使用全寬
  • 94982:Bash 除錯在 1.44.0 版本中不啟動
  • 95108:serverReadyAction debugWithChrome 突然停止工作
  • 95319:getWordRangeAtPosition 可能會凍結擴充套件主機

感謝

最後但同樣重要的是,衷心感謝!以下幫助使 VS Code 變得更好的各位:

對我們問題跟蹤的貢獻

vscode 的貢獻

vscode-json-languageservice 的貢獻

vscode-html-languageservice 的貢獻

language-server-protocol 的貢獻

debug-adapter-protocol 的貢獻

vscode-generator-code 的貢獻

vscode-textmate 的貢獻

vscode-vsce 的貢獻

localization 的貢獻

有超過 800 名 雲 + AI 本地化 社群成員使用 Microsoft 本地化社群平臺 (MLCP),其中約 170 名活躍貢獻者為 Visual Studio Code 做出貢獻。我們感謝您的貢獻,無論是提供新的翻譯、對翻譯進行投票還是提出流程改進建議。

這是貢獻者的快照。有關專案詳細資訊,包括貢獻者姓名列表,請訪問專案網站:https://aka.ms/vscodeloc

  • 簡體中文 (中國) 易婷婷, 顧怡之, Charles Dong, Justin Liu, Joel Yang, Tony Xia, 朱知陽, 邵猛, 普魯文, paul cheung, 張銳, 朱怡婷, 農智超, Liam Kennedy, 武健, 趙立國, 寧倬, 王伯辰, 一斤瓜子, 譚順, 何雲, 劉雲, yungkei fan, 楊越鵬。
  • 繁體中文 (臺灣) 船長, Winnie Lin, 予恆, TingWen Su。
  • 捷克語 David Knieradl。
  • 丹麥語 (丹麥) Javad Shafique, Lasse Stilvang。
  • 英語 (英國) Martin Littlecott, Oren Recht, Faris Ansari。
  • 芬蘭語 (芬蘭) Teemu Sirkiä。
  • 法語 (法國) Antoine Griffard, Thierry DEMAN-BARCELÒ, Rodolphe NOEL, Nathan Bonnemains。
  • 希伯來語 (以色列) Chayim Refael Friedman, Asaf Amitai。
  • 匈牙利語 Bucsai László。
  • 印度尼西亞語 (印度尼西亞) Gerry Surya, Laurensius Dede Suhardiman。
  • 義大利語 (義大利) Alessandro Alpi, Riccardo Cappello。
  • 日語 (日本) Ikko Ashimine, Aya Tokura, Takayuki Fuwa, きさらぎちゃん, 住吉貴志, Koichi Makino, Yoshihisa Ozaki, TENMYO Masakazu。
  • 韓語 (韓國) Kyunghee Ko, June Heo。
  • 挪威語 (挪威) Torbjørn Viem Ness。
  • 波蘭語 (波蘭) Makabeus Orban, Kacper Łakomski, Karol Szapsza。
  • 葡萄牙語 (巴西) Alessandro Trovato, Marcelo Fernandes, Arthur Lima, Luciana de Melo, Luiz Gustavo Nunes。
  • 葡萄牙語 (葡萄牙) Pedro Filipe, António Pereira。
  • 俄語 (俄羅斯) Andrey Veselov, Vadim Svitkin, 米納科夫·安東。
  • 西班牙語 (西班牙,國際排序) Sifredo Da Silva, Ariel Costas Guerrero, David Roa, Abdón Rodríguez P., Luis Manuel, Carlos A. Echeverri V, A. Jesus Flores A., Ricardo Estrada Rdez, Alfonso Jesus Flores。
  • 瑞典語 (瑞典) Per Ragnar Edin。
  • 泰米爾語 (印度) krishnakoumar c。
  • 土耳其語 (土耳其) Umut Can Alparslan, Mehmet Yönügül。
  • 烏克蘭語 (烏克蘭) Nikita Potapenko, igor oleynik。
  • 越南語 (越南) Hieu Nguyen Trung, LN Quang。