2021年9月 (版本 1.61)
更新 1.61.1:此更新解決了這些問題。
更新 1.61.2:此更新解決了這些問題。
下載:Windows:x64 Arm64 | Mac:通用 Intel silicon | Linux:deb rpm tarball Arm snap
歡迎使用 Visual Studio Code 2021 年 9 月發行版本。此版本包含許多更新,我們希望您會喜歡,其中一些主要重點包括
- 在同一個群組中分割編輯器 - 快速為同一個檔案建立並排編輯器。
- 鎖定的編輯器群組 - 選擇編輯器類型以在編輯器群組中自動鎖定。
- 更佳的已刪除和唯讀檔案顯示 - 索引標籤裝飾會醒目提示已刪除和唯讀檔案。
- 括號配對引導線 - 顯示垂直引導線以連結相符的括號配對。
- 固定的終端機尺寸 - 設定活動終端機的寬度和高度。
- Jupyter Notebook 改善 - 目錄檢視、完整偵錯支援。
- 平台特定擴充功能 - 為 Windows、macOS 和 Linux 發佈不同的擴充功能版本。
- 虛擬工作區擴充功能指南 - 了解如何為虛擬環境更新您的擴充功能。
- 進階容器組態 - 提示、程式碼範例和影片,協助您設定開發容器。
如果您想在線上閱讀這些版本資訊,請前往 更新,網址為 code.visualstudio.com。
觀看精華片段,了解 VS Code 團隊發行派對中此版本的新功能。您可以在我們的 YouTube 頻道上找到活動錄影。
Insiders:想要盡快試用新功能嗎?您可以下載每晚Insiders 組建版本,並在最新更新可用時立即試用。
工作台
在不建立新群組的情況下分割編輯器
新增了 在群組中分割 命令 (⌘K ⇧⌘\ (Windows、Linux Ctrl+K Ctrl+Shift+\)),可將編輯器分割成兩邊,而無需第二個編輯器群組。這可讓您在同一個檔案上並排處理兩個編輯器。您也可以透過短片中看到的 切換版面配置 按鈕,在垂直或水平分割之間切換版面配置。
如果您偏好垂直或水平分割,則可以使用新的設定 workbench.editor.splitInGroupLayout
。
有新的命令可透過按鍵繫結使用此功能
workbench.action.splitEditorInGroup
workbench.action.toggleSplitEditorInGroup
workbench.action.joinEditorInGroup
workbench.action.toggleSplitEditorInGroupLayout
以及在兩邊之間導覽
workbench.action.focusFirstSideEditor
workbench.action.focusSecondSideEditor
workbench.action.focusOtherSideEditor
新的色彩 sideBySideEditor.border
設定邊框色彩,以分隔兩邊。
鎖定的編輯器群組
我們在上個里程碑中推出了鎖定的編輯器群組作為實驗性新功能。在此里程碑中,設定體驗已獲得改善,可讓您輕鬆選取在開啟時應自動鎖定群組的編輯器
此設定現在稱為 workbench.editor.autoLockGroups
。同樣地,與編輯器群組鎖定相關的命令已重新命名,不再是實驗性功能
workbench.action.lockEditorGroup
workbench.action.unlockEditorGroup
workbench.action.toggleEditorGroupLock
透過裝飾指出已刪除和唯讀編輯器
已開啟的編輯器可以指出它們是否為唯讀,或其相關聯的資源是否已從磁碟刪除。此指示透過在編輯器標籤後附加「已刪除」和/或「唯讀」來提供,需要相當多的空間。
VS Code 現在將裝飾用於此目的
- 具有已刪除資源的編輯器會以刪除線和紅色顯示。
- 具有唯讀資源的編輯器會以鎖定圖示顯示。
將編輯器分割到現有群組中
當您將編輯器分割到側邊時,VS Code 會開啟新的編輯器群組,即使側邊已存在群組也一樣。但是,有時您會想要將編輯器分割到已存在的群組中。
為了支援此功能,新增了新的命令
workbench.action.splitEditorToPreviousGroup
:分割到上一個群組。workbench.action.splitEditorToNextGroup
:分割到下一個群組。workbench.action.splitEditorToAboveGroup
:分割到目前群組上方的群組。workbench.action.splitEditorToBelowGroup
:分割到目前群組下方的群組。workbench.action.splitEditorToLeftGroup
:分割到目前群組左側的群組。workbench.action.splitEditorToRightGroup
:分割到目前群組右側的群組。workbench.action.splitEditorToFirstGroup
:分割到第一個群組。workbench.action.splitEditorToLastGroup
:分割到最後一個群組。
差異編輯器的較短標籤
當您比較兩個檔案時,工作區相對資料夾路徑會附加在檔案名稱上,導致難以看到正在比較的檔案名稱。
在此版本中,資料夾現在會從標籤中隱藏,除非兩個檔案名稱相同,否則會比對一般編輯器標籤的行為。
如果兩個檔案名稱相同,則會顯示描述,提示資料夾差異
macOS:檔案功能表變更
在 macOS 上,如果您從 檔案 功能表選取 開啟... 功能表項目,您可以同時開啟檔案和資料夾。對於新使用者來說,這可能會令人驚訝,而且人們嘗試使用 開啟工作區 命令來開啟資料夾,但該功能表項目專門用於開啟 .code-workspace
檔案。
為了避免混淆,我們對 macOS 上的檔案功能表進行了輕微調整
- 新的項目 開啟資料夾... 會開啟資料夾。
- 開啟工作區... 已重新命名為 從檔案開啟工作區...
遙測設定
有一個新的遙測設定 telemetry.telemetryLevel
,可提供更高的組態細微程度,並讓使用者選取他們是否只想傳送錯誤遙測,而不是一般使用資料。值為 on
、error
和 off
。on
和 error
的值也會啟用當機報告程式。
現有的設定 telemetry.enableTelemetry
和 telemetry.enableCrashReporter
已標示為已棄用,改為使用新的 telemetry.telemetryLevel
設定,但仍會繼續受到尊重。
迷你地圖背景透明度
現在可以使用新加入的 minimap.foregroundOpacity
色彩,獨立於迷你地圖文字的不透明度來設定迷你地圖背景不透明度。
更新的「說明」功能表項目
隨著入門體驗的持續改善,說明 功能表項目已更新為更常用的名稱。這是根據新使用者的學習經驗,但希望讓所有人更容易找到說明。入門影片 現在是 影片教學課程,而 互動式遊樂場 則變成 編輯器遊樂場。您會在 說明 功能表和命令選取區中找到新名稱。說明 功能表也有 顯示所有命令 項目,作為開啟命令選取區的其他進入點。
編輯器
括號配對引導線
編輯器現在支援基本的括號配對引導線。括號配對引導線使用與括號配對色彩化功能相同的色彩和演算法。括號配對比對演算法在最近的「括號配對色彩化速度提升 10,000 倍」部落格文章中有詳細說明。
與縮排引導線類似,活動括號配對引導線會醒目提示。
可以透過設定 editor.guides.bracketPairs
設定 (預設為 false
) 來啟用括號配對引導線。我們將繼續反覆運算此功能,並在下一個版本中探索垂直引導線。
縮排引導線設定
editor.renderIndentGuides
和 editor.highlightActiveIndentGuide
設定已棄用,改為使用 editor.guides.indentation
和 editor.guides.highlightActiveIndentation
。
原始碼控制
Git 存放庫的「發佈或同步」動作按鈕
Git 擴充功能現在會將新的「動作」按鈕新增至原始碼控制檢視,讓您可以更輕鬆地發佈或同步任何未推送的變更。
佈景主題:Amethyst Theme
依預設,如果存在未推送的提交,Git 擴充功能會新增如上所示的 同步變更 按鈕;如果分支尚未發佈,則會新增 發佈變更 按鈕。此外,使用者可以透過設定 git.showUnpublishedCommitsButton
設定來自訂此行為,預設為 whenEmpty
,因此只有在存在未推送的提交且檢視中沒有其他變更時,才會顯示按鈕。
這個新的動作按鈕可作為原始碼控制擴充功能的新建議 API 使用,如需更多詳細資訊,請參閱下方的建議的 API 區段。
最後,使用者可以透過新的 scm.showActionButton
設定完全停用原始碼控制檢視中任何動作按鈕的可見性,這會覆寫任何原始碼控制擴充功能的行為。
增加變更檔案顯示的限制
在此版本之前,Git 擴充功能在原始碼控制檢視中可顯示的變更數量硬式編碼限制為 5000 個。此限制是為了防止使用者在 VS Code 處理 Git 報告的所有變更時必須等待太久。此限制現在已增加到 10,000 個變更,並且有一個新的 git.statusLimit
設定,可讓使用者自訂限制 (如果需要,每個存放庫)。此設定也可以設定為 0
以完全停用限制,但請注意,如果變更很多,這可能會導致更新花費很長時間。
此外,當超出限制時,我們已在輸入方塊中新增下列警告指示器。
終端機
固定的尺寸
您現在可以透過 終端機:設定固定尺寸 命令 (workbench.action.terminal.setDimensions
) 靜態設定終端機尺寸。這在換行可能會造成混亂或中斷的情況下非常有用。
此命令會顯示提示,您可以在其中輸入慣用的寬度和/或高度。
自訂標題和描述
終端機名稱通常是與其相關聯的處理程序名稱,有時可能難以區分終端機。
您現在可以使用 terminal.integrated.tabs.title
和 terminal.integrated.tabs.description
設定中的變數來設定標題和描述。
目前的預設值為
{
"terminal.integrated.tabs.title": "${process}",
"terminal.integrated.tabs.description": "${task}${separator}${local}${separator}${cwdFolder}"
}
可用的變數為
${cwd}
- 終端機的目前工作目錄${cwdFolder}
- 終端機的目前工作目錄。${workspaceFolder}
- 啟動終端機的工作區。${local}
- 指出遠端工作區中的本機終端機。${process}
- 終端機處理程序的名稱。${separator}
- 條件分隔符號 (" - "),僅在被具有值或靜態文字的變數包圍時才會顯示。${sequence}
- 處理程序提供給 xterm.js 的名稱。${task}
- 指出此終端機與工作相關聯。
表情符號 IME
macOS 上的輸入法編輯器 (IME) 現在支援表情符號。
Alt 緩衝區作用中內容金鑰
某些終端機 UI 應用程式 (例如 nano) 使用的鍵盤快速鍵會被 VS Code 工作台取用,這會限制它們在 VS Code 中整合時的功能。新的何時子句內容金鑰 TerminalContextKeys.altBufferActive
,會在 Alt 緩衝區處於作用中狀態時,將按鍵繫結導向終端機,而不是工作台,以解決此問題。
語言
新的 JavaScript 和 TypeScript 語言狀態項目
目前的 TypeScript 版本和 IntelliSense 狀態現在會顯示在語言狀態列項目中
先前,TypeScript 版本一律顯示在狀態列中。您可以釘選版本以還原舊行為
語言狀態項目也會顯示目前檔案的 jsconfig/tsconfig
,並指出您目前是否處於部分模式。
跨未命名檔案的 IntelliSense
所有未命名的 JavaScript 和 TypeScript 檔案現在都視為同一個專案的一部分。這表示在一個未命名檔案中定義的全域符號現在會在其他檔案中顯示為建議。
這更符合工作區中磁碟上檔案的行為。您可以將 import
或 export
新增至未命名的檔案,以將其轉換為模組,這會從其他檔案隱藏其全域變數。
跨網頁檔案的 IntelliSense
當 VS Code 在瀏覽器中執行時,IntelliSense 現在可在 vscode.dev 或 github.dev 上的 JavaScript 和 TypeScript 檔案之間運作。
請記住,當 VS Code 在瀏覽器中執行時,它只能存取您目前開啟的檔案,因此 VS Code 無法提供專案範圍的 IntelliSense 功能,例如自動匯入。
更一致的 JSX 標籤摺疊
當您在 JavaScript 或 TypeScript 中摺疊 JSX 標籤時,VS Code 現在會繼續顯示結束標籤
這與 HTML 中的摺疊運作方式相同。
預覽功能
TypeScript 4.5 支援
此更新包含對即將推出的 TypeScript 4.5 版本的初始支援。如需有關新語言和工具功能的詳細資訊,請參閱TypeScript 4.5 beta 公告文章。一些工具重點
- 對JSX 屬性完成的初始支援。
- 參考 CodeLens 的更精確參考計數。
若要開始使用 TypeScript 4.5 每晚組建版本,請安裝 TypeScript Nightly 擴充功能。
請分享您的意見反應,並告知我們您是否遇到任何 TypeScript 4.5 的錯誤。
跨應用程式重新啟動還原終端機會話
當 VS Code 視窗關閉時,終端機處理程序會被處置。在此版本中,有一個新的選擇加入設定,用於記錄和還原緩衝區,並使用它來重新建立處理程序。設定 terminal.integrated.persistentSessionReviveProcess
以啟用此功能。
切換終端機大小以符合內容寬度
您可以透過 ⌥Z (Windows、Linux Alt+Z) 或使用索引標籤內容功能表動作 切換大小以符合內容寬度,在符合完整內容和換行之間切換終端機寬度。
這與在編輯器中切換換行類似,且共用按鍵繫結。
擴充功能貢獻
Jupyter
目錄
現在可以透過命令選取區中的 Jupyter:顯示目錄 命令存取 Jupyter Notebook 的目錄。也可以透過 Notebook 工具列中的圖示存取相同的功能。
此功能適用於 VS Code 中的所有 Notebook,因此可透過檔案總管中的大綱檢視存取。
透過「新增檔案」功能表建立新的 Notebook
您現在可以使用功能表項目 檔案 > 新增檔案... 來建立新的 Jupyter Notebook。也可以從 歡迎使用 頁面或命令選取區中的 新增檔案... 項目存取此功能表。
偵錯
VS Code 現在支援 Jupyter Notebook 的完整偵錯功能。若要試用,請確定您已安裝 ipykernel
v6+ 作為您選取的核心,設定中斷點,然後選取 偵錯儲存格 命令。
遠端偵錯
您也可以使用 逐行執行 和偵錯使用遠端核心的 Jupyter Notebook。若要試用,請使用 Jupyter:指定連線的本機或遠端 Jupyter 伺服器 命令連線到您的遠端核心,確定您已安裝 ipykernel
v6+ 作為您選取的核心,並照常使用 逐行執行 或偵錯。
個別的轉譯器擴充功能
Jupyter Notebook 轉譯器已分割成個別的擴充功能 (Jupyter Notebook Renderers),讓使用者可以在 vscode.dev 和 github.dev 上檢視 Notebook 輸出,例如 plotly、vega、latex 等。
Python
新的 Python 逐步解說
Python 擴充功能現在提供逐步解說,其中包含一些基本設定步驟,以改善 VS Code 中 Python 的入門體驗。
改善的偵錯體驗
當使用沒有 launch.json
組態檔案的工作區時,Python 擴充功能會在您每次開始偵錯 Python 檔案或專案時顯示偵錯工具組態功能表。當偵錯具有自訂引數的 Web 應用程式 (例如 Flask、Django 或 FastAPI) 時,這可能會特別煩人。
您現在不再需要每次開始偵錯時都選擇組態,因為您第一次的選取項目會重複用於會話的其餘部分。
GitHub Pull Requests and Issues
持續開發 GitHub Pull Requests and Issues 擴充功能,可讓您處理、建立和管理提取要求和問題。查看擴充功能 0.31.0 版本的變更記錄以查看重點。
遠端開發
持續開發遠端開發擴充功能,可讓您使用容器、遠端機器或 Windows Subsystem for Linux (WSL) 作為功能完整的開發環境。
1.61 中的功能重點包括
- 轉送埠中的 DNS 名稱。
- 輕鬆選取容器其他功能。
- 開發容器擴充功能可以在 WSL 中執行 CLI 命令。
您可以在遠端開發版本資訊中了解新的擴充功能功能和錯誤修正。
擴充功能撰寫
平台特定擴充功能
擴充功能現在可以為 VS Code 支援的每個平台 (Windows、Linux、macOS) 發佈不同的 VSIX。從 VS Code 1.61.0 版開始,VS Code 會尋找符合目前平台的擴充功能套件。從 1.99.0 版開始,vsce 擴充功能發佈工具支援發佈 平台特定擴充功能。
如果您的擴充功能具有平台特定程式庫或相依性,則平台特定擴充功能非常有用,因此您可以控制平台套件中包含的確切二進位檔。常見的使用案例是擴充功能使用 原生節點模組 時。
如需更多資訊,請參閱我們的平台特定擴充功能文件。
測試標籤和非錯誤輸出
本月,我們針對建置在新的測試 API 上的擴充功能發佈了額外的 API。
讓檔案系統提供者能夠宣告檔案為唯讀
檔案系統提供者現在可以透過 FileStat
物件上的新 permissions
屬性,將個別檔案標示為唯讀,方法是將屬性的值設定為 FilePermission.Readonly
。唯讀檔案不可編輯。
注意:如果所有檔案都應視為唯讀,您可以在呼叫 registerFileSystemProvider
時使用現有的 isReadonly
選項。
設定編輯器擴充功能類別
當存在類別時,設定編輯器現在會顯示擴充功能的 contributes.configuration
端點的子樹。
若要建立多個類別,contributes.configuration
接受組態陣列,且每個組態的 title
金鑰會用於區段標題。還有一個 order
欄位,可讓類別在子樹中重新排序。
類型階層
新增類型階層提供者的 API 建議已定案。
WebviewOptions.enableForms
WebviewOptions
上的新 enableForms
屬性可讓您啟用或停用 Webview 內的表單。為了向後相容性,如果您已設定 enableScripts
,則 enableForms
預設為 true。否則預設為 false。
我們建議停用表單,除非您的 Webview 內容需要它們。
終端機狀態
Terminal
物件上公開了一個新的 state
屬性,以及對應的 window.onDidChangeTerminalState
事件,並指出使用者是否與終端機互動。例如,擴充功能可能想要等到使用者與終端機互動後再執行動作。
在測試資料上執行 Web 擴充功能測試
@vscode/test-web 節點模組提供 CLI 和 API,以在 Chromium、Firefox 或 Webkit 中測試 Web 擴充功能。
此里程碑的新功能是 folderPath
選項,可在測試資料上開啟 VS Code for the Web。記憶體內檔案系統包含給定位置的資源,以便測試具有可使用的檔案。
vscode-test-web --browserType=chromium --extensionDevelopmentPath=$extensionLocation $testDataLocation
更新的 codicon
下列新圖示已新增至我們的 codicon 程式庫
beaker-stop
bracket-dot
bracket-error
bracket
debug-continue-small
graph-line
graph-scatter
pie-chart
Visual Studio Code 的 Webview UI Toolkit
Visual Studio Code 的 Webview UI Toolkit 是用於在 Visual Studio Code 中建置以 Webview 為基礎的擴充功能的元件程式庫。
程式庫的功能包括
- 實作 Visual Studio Code 設計語言:建立與編輯器的其餘部分具有一致外觀和風格的擴充功能。
- 自動支援色彩佈景主題:所有元件在設計時都考慮到佈景主題,並會自動顯示目前的編輯器佈景主題。
- 使用任何技術堆疊:程式庫以一組 Web 元件的形式提供,這表示開發人員可以使用工具組,無論其擴充功能是以何種技術堆疊 (React、Vue、Svelte 等) 建置。
- 開箱即可存取:所有元件都隨附 Web 標準相容的 ARIA 標籤和鍵盤導覽。
虛擬工作區擴充功能指南
有一個新的虛擬工作區擴充功能指南,可協助擴充功能作者在 VS Code 在虛擬環境中執行時,測試和更新其擴充功能。隨著 GitHub 存放庫等擴充功能的推出 (建立自己的虛擬檔案系統),以及 vscode.dev 和 github.dev 等新工作流程 (其中 VS Code 在您的瀏覽器中執行),擴充功能再也不能假設它們可以直接存取磁碟上的檔案系統或平台功能。
虛擬工作區擴充功能指南涵蓋
- 您的擴充功能是否可以在虛擬工作區中運作而無需修改。
- 如何在沒有磁碟上檔案系統的情況下,更新您的擴充功能以在虛擬工作區中運作。
- 如何在虛擬工作區中執行時,向 VS Code 發出訊號,以啟用或停用您的擴充功能。
建議的擴充功能 API
每個里程碑都隨附新的建議 API,擴充功能作者可以試用它們。與往常一樣,我們想要您的意見反應。以下是您試用建議 API 必須執行的動作
- 您必須使用 Insiders,因為建議 API 經常變更。
- 您必須在擴充功能的
package.json
檔案中包含此行:"enableProposedApi": true
。 - 將最新版本的 vscode.proposed.d.ts 檔案複製到專案的原始碼位置。
您無法發佈使用建議 API 的擴充功能。下一個版本中可能會出現重大變更,我們絕不希望中斷現有的擴充功能。
TaskPresentationOptions close 屬性
close
屬性是 tasks.json
結構描述中的 presentation
屬性,可在 TaskPresentationOptions
API 中使用。它的功能與相符的 tasks.json
屬性相同,可控制在工作完成時是否關閉終端機。
索引標籤 API
有一個建議的 API 用於讀取和操作索引標籤。這解鎖了常見的功能要求,例如在沒有備份 textDocument
時想要存取已開啟資源的清單。您可以在 問題 #133532 中提供有關此 API 的意見反應。
MarkdownString.supportHtml
MarkdownString
上新建議的 supportHtml
屬性可啟用轉譯 Markdown 文字內顯示的安全原始 HTML 子集。
supportHtml
屬性預設為 false
。停用時,VS Code 會移除 Markdown 文字中顯示的任何原始 HTML 標籤。
控制器轉譯器腳本現在使用 JavaScript 模組
NotebookController.rendererScripts
可讓 Notebook 控制器在任何轉譯器執行之前,將一組 JavaScript 檔案預先載入到 Notebook 中。這些腳本可以初始化 Notebook 或定義轉譯器所依賴的全域符號。
轉譯器腳本先前是正常的 JavaScript 檔案。這些腳本可以使用 VS Code 匯出的全域符號來呼叫 VS Code 特定 API。
此全域符號無法探索,也未讓 VS Code 對轉譯器腳本本身進行太多控制。為了修正此問題,轉譯器腳本現在使用 JavaScript 模組,這些模組會匯出 activate
函式。此函式會傳遞 VS Code API
interface KernelPreloadContext {
readonly onDidReceiveKernelMessage: Event<unknown>;
postKernelMessage(data: unknown): void;
}
export function activate(ctx: KernelPreloadContext): Promise<void> | undefined {
...
}
此變更也更好地對齊了 NotebookController
中的轉譯器腳本與貢獻的Notebook 轉譯器提供的轉譯腳本。
Quick Pick keepScrollPosition 屬性
從 window.createQuickPick()
取回的 QuickPick
物件上的 keepScrollPosition
屬性已新增為建議 API。這可讓您控制 Quick Pick 中的捲動位置 (cursorTop
) 是否移回清單頂端。
以下是此 API 的一些使用案例
- 實作使用建議的
QuickPickItemButton
s API 的「從清單中移除此項目」選項 (例如,Ctrl/Cmd + Px
QuickPickItemButton)。 - 實作使用建議的
QuickPickItemButton
s API 的「以某種方式切換此項目」選項 (例如,插入程式碼片段 命令)。 - 在快速選取 (Quick Pick) 中非同步載入項目 (例如,
setInterval
透過重新賦值.items
屬性將項目新增至清單,其中捲動不應跳到頂端)。
若沒有控制捲動位置的能力,這些操作中的每一個都會強制快速選取 (Quick Pick) 的捲動位置跳到清單頂端。keepScrollPosition
允許擴充功能作者控制此行為。
SourceControl.actionButton
原始碼控制 API 現在在 SourceControl
物件上包含 actionButton
屬性,允許 SCM 提供者有條件地在輸入框下方顯示「動作」按鈕。例如,Git 擴充功能使用此新屬性在有未推送的變更時顯示發布或同步按鈕。
語言伺服器協定
新版的 語言伺服器協定,以及對應的 npm 模組,已發布。新版本包含類型階層的建議實作。
工程
切換至 DOMPurify 以清理渲染的 HTML
我們已切換至內部使用 DOMPurify,以清理在主要工作台中渲染的 HTML。這主要用於清理渲染的 Markdown。
DOMPurify 維護良好,並且開箱即用即符合 trusted types。此切換有助於保護使用者,並讓我們更有信心啟用諸如 MarkdownString.supportHtml 等功能。
將 open 命令用於 Big Sur CLI
在 macOS Big Sur 上,當從命令列啟動 VS Code 時,我們現在使用 open 命令來產生 VS Code。此變更允許 VS Code 像從 macOS Dock 啟動一樣開啟,這修正了一些涉及權限的問題。
檔案監看變更
用於偵測磁碟上檔案和資料夾變更的檔案監看器已變更為一個 函式庫,該函式庫可以處理我們所有支援的平台 (Windows、Linux、macOS),並減少維護不同平台的不同監看器的額外負擔。我們計劃在所有平台上預設啟用此函式庫。在此迭代中,我們已在 Windows 和 macOS 上啟用它,並計劃很快在 Linux 上啟用它。
新的監看器在啟動時應該更快,並減少在大型資料夾上花費的 CPU 週期。使用此函式庫的一個缺點是,檔案監看器不再自動偵測工作區中在 macOS 上為符號連結的資料夾。如果您有這樣的設定,您可以使用新的 files.watcherInclude
設定來明確新增符號連結路徑,以包含在檔案監看中。從好的方面來說,您可以在 Windows 上使用此新設定來明確包含工作區內的符號連結資料夾 - 這在以前的 Windows 上是不可能的。
您在日常工作中應該不會注意到任何差異,但如果檔案監看對您而言已損壞,請回報問題。如果遇到問題,可以使用設定 files.legacyWatcher
來啟用舊的監看器。
文件
進階容器設定
有一個新章節涵蓋 Dev Containers 擴充功能的進階容器設定。
在容器文件中,您可以學習如何
- 設定環境變數
- 掛載本機磁碟機
- 新增非 root 使用者
- 使用多個容器
- 以及更多...
進階容器設定文件包含設定開發容器的提示和程式碼範例,以及簡短的 YouTube 影片。
值得注意的修正
- 69665: Terminal shows corrupt texture sometimes when resuming the OS from a sleep state
- 130407: [trivial] settings>files: exclude changing pattern as (blank) won't deletable
- 133149: Task terminal marked failed for info/warning-level problems.
- 133567: accessibility: the labels for the top-level tree nodes in find references all just read "true"
- 133910: Show an error when resolving shell environment fails or is timing out
- 133976: Allow to open a
.code-workspace
via protocol URL
感謝您
最後但同樣重要的是,衷心感謝以下在本月為 VS Code 做出貢獻的人們
對於我們的問題追蹤的貢獻
- John Murray (@gjsjohnmurray)
- Andrii Dieiev (@IllusionMH)
- CodeCrazy-ywt (@CodeCrazy-ywt)
- ArturoDent (@ArturoDent)
- Alberto Santin (@albertosantini)
- Tarunav.BA (@TarunavBA)
- Simon Chan (@yume-chan)
對於 vscode
的貢獻
- @adaex (Aex)
- 更新至最新的 seti-ui 圖示主題 PR #131856
- 更新至最新的 seti-ui 圖示主題 PR #132512
- @aghArdeshir (aghArdeshir):移除剪貼簿資料的 IE 支援 PR #133679
- @AiverReaver (Ashish Vagish):新增為複製命令標題新增按鍵綁定的功能 (修正 #131350) PR #131436
- @AkatQuas (Akat)
- 修正 (html-language-feature):移除模糊的陳述 PR #132508
- 修正:取消時提早返回 PR #132523
- @akosyakov (Anton Kosyakov):套用來自 vsix 檔案的擴充功能安裝選項 PR #131786
- @armanio123 (Armando Aguirre):新增 jsxAttributeCompletionStyle 設定 PR #133920
- @CGNonofr (Loïc Mangeonjean):將 resolveCodeAction 新增至 monaco registerCodeActionProvider PR #133335
- @crackalak (Dan Hughes):將
ariaContainerElement
新增至IStandaloneEditorConstructionOptions
PR #131865 - @crimx (CRIMX):修正:修正子選單位置計算 PR #133596
- @davidanthoff (David Anthoff):將 setKernelSpecAndLanguageInfo 新增至 ipynb ext PR #132298
- @door-bell (Tim):修正設定工作台捲動靈敏度設定描述的格式 PR #132214
- @DragWx:允許括號組在著色器中共用開始或結束符號 PR #132504
- @fwcd (FW):將 Citation File Format (
.cff
) 新增至已識別的 YAML 檔案副檔名 PR #131323 - @gjsjohnmurray (John Murray)
- 如果輸入支援歷程記錄,則將提示文字附加至預留位置 PR #129324
- 防止視窗標題上重複的「(唯讀)」後綴 (#_132127) PR #132134
- @heartacker:新增 cmd+i (mac)、ctrl+i (linux/win) 作為額外的 intellisense toggleSuggestionDetails PR #131976
- @IllusionMH (Andrii Dieiev):修正用於解析終端機設定的金鑰 PR #132851
- @jackos (Jack Clayton):在 vscode.d.ts 介面 TaskPresntationOptions 中新增 close 欄位 PR #131127
- @jeanp413 (Jean Pierre):修正終端機編輯器索引標籤顯示來自另一個終端機編輯器索引標籤的內容 PR #131211
- @jwei98 (Justin Wei):不要摺疊結束標籤 PR #132316
- @LEGOL2 (Sebastian Łużyński):增加檔案比較的最大檔案大小 PR #127860
- @MarkZuber (Mark Zuber):將遙測新增至擴充功能主機啟動成功/失敗 PR #131917
- @MasterOdin (Matthew Peveler):文件:修正語言和值文件字串上的文法 PR #132782
- @matkoniecz (Mateusz Konieczny):將 .geojson 識別為 json,修正 #129329 PR #129330
- @philnagel (Philipp Nagel):在 Python 擴充功能中識別 .pyt 檔案 PR #133546
- @SNDST00M (SNDST00M: M.U.N.I.N):允許所有 JSON 檔案中的註解 PR #129206
- @ssigwart (Stephen Sigwart)
- 修正沒有父摺疊的摺疊跳轉 PR #130309
- 使前往下一個/上一個摺疊範圍更直觀 PR #133363
- 修正 Typescript NLS JSON PR #134179
- @Suven-p (Suven-p):移除純文字檔案的彩色括號組 PR #132534
- @Un-index:更新 iframe.ts PR #132577
- @utajum (Vladimir Tasic):迷你地圖 - 醒目提示選取單字的所有執行個體 PR #132584
- @youngjuning (洛竹):修正:GetSessionOptions -> AuthenticationGetSessionOptions PR #131644
- @yume-chan (Simon Chan)
- 修正:歡迎頁面中的進度文字 PR #133812
- 修正:避免為大型檔案載入括號指南時發生堆疊溢位 PR #134189
- @goldst (Leonard Goldstein):差異編輯器的多個標籤 PR #116178
對於 vscode-eslint
的貢獻
- @eungyeole (Eungyeol):將例外狀況新增至 .gitignore PR #1332
- @geekanant (Anant Patni):修正:tasks 錯字 PR #1342
對於 vscode-html-languageservice
的貢獻
- @domdomegg (Adam Jones):更新 method 和 formmethod HTML attrs 大小寫 PR #113
- @ssigwart (Stephen Sigwart):新增 doNotAddAttributeQuotes 設定以停用自動引號 PR #112
對於 vscode-json-languageservice
的貢獻
- @dsherret (David Sherret):修正:在結構描述變更時清除
JsonSchemaService
本機單一資源快取 PR #105
對於 vscode-languageserver-node
的貢獻
- @AkatQuas (Akat):修正:修改 jsdoc 中的一些註解 PR #817
- @link89:修正 jsonrpc 模組的匯入 PR #805
對於 vscode-pull-request-github
的貢獻
- @burkeholland (Burke Holland)
- @lgarron (Lucas Garron):GitHub 永久連結:如果範圍為單行,則重複使用行號。 PR #2980
- @moshfeu (Mosh Feu):修正:使待處理檢查「顯示」按鈕/連結可存取 PR #2972
對於 vscode-references-view
的貢獻
- @Eskibear (Yan Zhang):顯示類型階層 PR #71
對於 vscode-vsce
的貢獻
- @prashantvc (Prashant Cholachagudda):修正搜尋傳回 ADO 和 VSIDE 的問題 PR #606
- @wangweixuan (Wang Weixuan):支援儲存庫 shorthand PR #598
- @youngjuning (洛竹):雜項:新增 defaultIgnore 項目 PR #614
對於 language-server-protocol
的貢獻
- @larshp (Lars Hvam):語意醒目提示範圍,不傳回 delta PR #1345
- @rcjsuen (Remy Suen):重新排序單字以修正文法 PR #1347
對於 monaco-editor-webpack-plugin
的貢獻
- @six-ponies (马騳骉):修正:無法在 'WorkerGlobalScope' 上執行 'importScripts':URL xxx 無效。 PR #160