🚀 在 VS Code 中

2023 年 10 月 (版本 1.84)

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

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

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


歡迎使用 Visual Studio Code 2023 年 10 月版發行!此版本包含許多更新,我們希望您會喜歡,其中一些重點包括

如果您想在線上閱讀這些發行說明,請前往 更新,網址為 code.visualstudio.com

Insiders: 想要盡快試用新功能嗎?您可以下載每夜組建的 Insiders 版本,並在最新更新可用時立即試用。

協助工具

清除、格式化和儲存選擇加入音訊提示

audioCues.clear 啟用時,聲音會指示終端機、通知或聊天回覆已清除。

在檔案和筆記本中,audioCues.saveaudioCues.format 可以設定為在使用者手勢時播放,或針對每個事件始終播放。停用時,會改為使用 ARIA 警示,並且可以使用 accessibility.alert.formataccessibility.alert.save 進行自訂。

Windows 放大鏡同步

Windows 放大鏡現在可以在 VS Code 中正確地跟隨游標。

協助工具檢視改善

依預設,使用者的游標位於終端機協助工具檢視的底部;若要改為保留位置,您可以將 terminal.integrated.accessibleViewPreserveCursorPosition 設定為 true

協助工具檢視可以使用 accessibility.hideAccessibleView 隱藏,如果您要與有視覺的使用者分享螢幕,這會很有用。

當使用者開始輸入並將焦點放在先前元素時,協助工具檢視現在會關閉,以實現更順暢的工作流程。

視窗標題中的文字編輯器焦點檢視

上次迭代,我們將 ${focusedView} 變數新增至 window.title。我們現在也會指示 文字編輯器 何時處於焦點。

工作台

自訂活動列位置

您現在可以將活動列移至側邊欄的頂部,如下列影片所示。

Move Activity bar position

當活動列放置在頂部時,「帳戶」和「管理」按鈕會移至標題列的最右側。

注意: 僅當自訂標題列啟用時才支援此功能 ("window.titleBarStyle": "custom")。

隱藏編輯器索引標籤

使用者現在可以透過將 workbench.editor.showTabs 設定為 none 來隱藏編輯器索引標籤。其他 showTabs 選項為 multiple (預設) 和 single,可為使用中的編輯器顯示單個編輯器索引標籤。

Hide editor tab bar

最大化編輯器群組

有一個新的命令檢視:切換最大化編輯器群組 (⌘K ⌘M (Windows、Linux Ctrl+K Ctrl+M)) 可最大化編輯器群組。這將隱藏所有其他群組,並在索引標籤列中新增一個按鈕,讓使用者可以還原先前的版面配置。如果設定 workbench.editor.doubleClickTabToToggleEditorGroupSizes 設定為 maximize,使用者可以按兩下編輯器索引標籤來最大化和取消最大化編輯器群組。

Maximize editor group showing button to restore to original layout

設定編輯器中類似的設定搜尋

與命令面板類似,「設定」編輯器現在執行類似的設定搜尋,以收集給定查詢的更多相關結果。

此實作目前處於早期階段,您可以預期在接下來的幾個迭代中會有改進。

The query "automatically save files" in the Settings editor showing some auto save settings

當檔案或工作區的通訊協定連結在 VS Code 中開啟時,現在會出現一個對話方塊要求確認

Confirm protocol links dialog display for a local file

通訊協定連結可以指向本機檔案 (例如 vscode://file/path/to/file) 或遠端檔案 (例如 vscode://vscode-remote/ssh-remote+[USER@]HOST[:PORT]/path/to/file)。對於每種情況,都有新的設定可以停用此行為

  • security.promptForLocalFileProtocolHandling - 適用於本機通訊協定連結
  • security.promptForRemoteFileProtocolHandling- 適用於遠端通訊協定連結

編輯器

最近的快速修復鍵盤快速鍵

有一個新的設定可以從 ⌘. (Windows、Linux Ctrl+.) (命令 ID editor.action.quickFix) 行中啟動最近的快速修復,無論您的游標位於該行的哪個位置。先前為預覽功能,程式碼動作小工具:包含附近的快速修復 (editor.codeActionWidget.includeNearbyQuickFixes) 現在預設為啟用。

此命令會醒目提示將使用快速修復重構或修正的原始碼。一般的程式碼動作和非修復重構仍然可以在游標位置啟動。

Example of new Quick Fix behavior, showing activation on nearest errors, and how all Code Actions are still available at the cursor location

多文件醒目提示

透過設定編輯器:多文件出現次數 (editor.multiDocumentOccurrencesHighlight) 新增了跨多個文件進行程式碼醒目提示的初始支援。此初始實作僅具有文字出現次數,未來將支援語意醒目提示。

原始檔控制

使用 --force-if-includes 強制推送

此里程碑現在支援 --force-if-includes 選項,這是 Git 2.30 中新增的 --force-with-lease 的輔助選項。新選項確保強制推送的提交是在檢查遠端參考頂端的提交之後建立的,並減少在啟用自動擷取時遺失提交的可能性。您可以透過停用 git.useForcePushIfIncludes 設定來停用 --force-if-includes 的使用。

筆記本

執行時捲動改善

改善了透過 Shift+Enter 執行筆記本時顯示下一個儲存格的方式,以協助專注於輸出。這也減少了重新執行已具有輸出的儲存格時的儲存格移動量。

IPython 堆疊追蹤轉譯

來自 IPython 的例外狀況堆疊追蹤現在會轉譯可點擊的連結,以協助導覽至錯誤。這僅適用於 Jupyter 擴充功能未先變更堆疊追蹤的情況:"jupyter.formatStackTraces": false

偵錯

JavaScript 偵錯工具

改善的事件接聽器中斷點檢視

事件接聽器中斷點檢視更友善,現在以具有核取方塊的樹狀結構呈現

Event Listener Breakpoints view shown as a tree with the Canvas WebGL Error Fired event checked

更好地處理來源地圖重新命名

當程式碼使用捆綁器編譯時,變數可以重新命名。這在所有捆綁器中的匯入中尤其常見,在 esbuild 中也是某些本機識別碼。偵錯工具現在知道每個重新命名適用的範圍,這修正了使用者過去遇到的許多障礙。

這需要偵錯工具剖析已編譯模組的語法樹狀結構。這是在背景執行緒中完成的,並且僅在偵測到重新命名時才執行,但可以透過在您的 launch.json 中設定 "sourceMapRenames": false 來停用此行為,以避免任何效能影響。

遠端開發

遠端開發擴充功能,可讓您使用 開發容器、透過 SSH 或 遠端通道 的遠端電腦,或 Windows Subsystem for Linux (WSL) 作為全功能開發環境。

重點包括

  • 您現在可以使用您的 Microsoft 帳戶登入通道。
  • Windows 上現在支援透過 SSH 和通道連線到開發容器。

您可以在 遠端開發發行說明中了解有關這些功能的更多資訊。

擴充功能貢獻

GitHub Copilot

串流內嵌聊天

GitHub Copilot Chat 擴充功能的內嵌聊天現在可以進行漸進式文字編輯,並以接收回覆的速度「輸入」。這比先前等待接收整個聊天回覆再將其套用至編輯器的行為更自然。

並非所有編輯都是插入,對於取代,Copilot 有時很難弄清楚從哪裡開始。在這些情況下,串流可能還無法如預期般運作。請繼續關注此領域的改進。

聊天代理程式

在此迭代中,我們建立了一種與 Copilot Chat 互動的新方式:代理程式。代理程式就像專家,他們有可以協助您的專業知識,您可以透過使用 @ 符號提及他們來在聊天中與他們交談。目前,有兩個代理程式

  • @workspace 具有有關您工作區中程式碼的內容,可以協助您導覽它,尋找相關檔案或類別。
  • @vscode 了解 VS Code 編輯器本身的命令和功能,可以協助您使用它們。

每個代理程式也支援一些斜線命令,您之前可能使用過的斜線命令現在應該與代理程式一起使用。例如,/explain 現在是 @workspace /explain。但是,作為捷徑,您也可以只輸入 / 以取得完成清單,該清單將自動展開為完整的代理程式和命令。

@workspace

@workspace 代理程式使用元提示來判斷要從工作區收集哪些資訊以協助回答您的問題。元提示使用的一種方法是回顧您的對話記錄,以解決問題中的不明確字詞/詞組。例如,如果您詢問 @workspace 它做什麼?,元提示現在將考慮歷史記錄以找出 it 實際上是什麼,以及要收集哪些資訊來回答問題。元提示還使用廣泛的術語,包括更多同義詞,來產生潛在相關術語的清單。

@workspace 回覆中的檔案路徑和符號是可點擊的連結。這讓您可以輕鬆導覽至 Copilot 正在參考的程式碼。

@workspace 代理程式在決定要從工作區索引哪些檔案時,會遵守 .gitignore.copilotignore

代理程式取代斜線命令

新的代理程式取代了斜線命令的功能,例如具有新增斜線修飾詞的 /createWorkspace/createNotebook

  • /createWorkspace --> @workspace /new
  • /createNotebook --> @workspace /newNotebook
  • /explain --> @workspace /explain
  • /fix --> @workspace /fix
  • /test --> @workspace /test
  • /vscode --> @vscode /api

Slash command menu showing agents and slash modifiers

試用新的代理程式,並輸入 /help 以取得更多提示!

提交訊息產生

Copilot Chat 現在可以根據使用原始檔控制輸入框中新的「閃爍」動作的待定變更來產生提交訊息。

匯入群組

產生的匯入現在始終放在檔案頂部或現有匯入區塊下方。這適用於大多數常見的程式設計語言。

改善的 /explain 內容

您可以要求 Copilot Chat 在使用中的編輯器中說明程式碼選取,方法是透過 @workspace /explain 命令或透過內容功能表中的使用 Copilot 說明動作。Copilot Chat 現在包含參考符號 (例如函數和類別) 的實作,從而產生更準確且更有用的說明。當您安裝了為下列其中一種語言貢獻語言服務的擴充功能時,這在跨檔案時效果最佳:TypeScript/JavaScript、Python、Java、C#、C++、Go 或 Ruby。

持續性聊天檢視狀態

先前,Copilot Chat 檢視最初是隱藏的,然後稍後才顯示。Copilot Chat 檢視現在在視窗重新載入之間保持活動狀態,因此您不必手動重新開啟它。此外,「聊天」檢視現在引導您完成登入 GitHub 並啟用 GitHub Copilot 免費試用的程序。

使用設定的顯示語言聊天

依預設,Copilot Chat 現在最初使用您在 VS Code 中設定的顯示語言進行回應。您可以透過設定 github.copilot.chat.localeOverride 來覆寫此自動行為。

減少歡迎訊息詳細程度

您現在可以控制當您第一次開始對話時,Copilot Chat 是否以詳細的歡迎訊息問候您,方法是設定 github.copilot.chat.welcomeMessage。選項為 first (預設)、alwaysnever

終端機快速修復

當終端機中執行失敗的命令時,Copilot 現在將提供快速修復以說明發生了什麼事。

A sparkle icon shows up that offers to explain a command

這可以透過目前終端機提示符號旁邊的閃爍圖示 (⌘. (Windows、Linux Ctrl+.)) 觸發。

終端機命令建議

當終端機處於焦點時,Copilot 現在可以透過 ⌘I (Windows、Linux Ctrl+I) 鍵盤快速鍵提供 CLI 命令建議。這會帶出預先填寫 @workspace /terminal 的快速聊天

Ctrl/Cmd+I now opens up the Quick Chat

/terminal 斜線命令已針對使用目前 Shell 建議 Shell 命令進行最佳化。建議的品質和 UX 將在下一個版本中看到更多改進。

改善的在終端機中執行動作的呈現

當程式碼區塊具有 Shell 語言類型時,在終端機中執行動作現在會在程式碼區塊的 hover 上呈現

The code block now shows run in terminal in the top level actions, not hidden in the overflow menu

內嵌聊天可以使用終端機命令回覆

內嵌聊天現在可以使用要在終端機中執行的命令回覆

Run in terminal from inline chat

Python

在終端機中執行行的改善

Python 擴充功能改善了在未選取要執行的程式碼時,將行傳送到 Python REPL (Shift+Enter) 的行為。先前,當您將游標放在 Python 程式碼行上並按下 Shift+Enter 時,Python 擴充功能會將確切的行內容傳送到 REPL,即使它會失敗,例如,由於是多行命令的一部分。

使用新的實驗性智慧傳送功能,Python 擴充功能會將游標位置周圍最小的可執行程式碼區塊傳送到 REPL 執行。這可確保僅將完整且可執行的程式碼區段傳送到 REPL。游標也會自動移至下一個可執行行,以便在反覆執行多個區塊時提供順暢的體驗。

若要試用,您可以新增下列使用者設定:"python.experiments.optInto": ["pythonREPLSmartSend"]。雖然此功能目前在實驗背後,但我們預期它將在未來成為預設行為。如果您對如何進一步改善此功能有任何意見反應或建議,請告訴我們!

佈景主題:Catppuccin Macchiato (vscode.dev 上的預覽)

Python 程式碼檢查擴充功能的改善

我們對支援的程式碼檢查擴充功能進行了多項改進,以便讓您在使用您最愛的 Python 工具時獲得更可設定且更彈性的體驗。

PylintMypyFlake8 擴充功能現在提供設定,讓您可以指定您希望從程式碼檢查中排除的檔案的 glob 模式。如果您正在處理具有許多子專案的大型程式碼庫,並且想要從程式碼檢查中排除某些資料夾,這會很有用。這些設定為 "pylint.ignorePatterns""mypy-type-checker.ignorePatterns""flake8.ignorePatterns"

這些擴充功能也支援 cwd 設定,讓您可以指定程式碼檢查器的工作目錄。此設定已更新為支援變數 ${fileDirname},因此工作目錄可以動態設定為您在編輯器中開啟之檔案的父資料夾。如果您正在處理單一儲存庫,並且希望程式碼檢查器工作目錄在您從不同子專案開啟檔案時動態更新,這會很有用。這些設定為 "pylint.cwd""mypy-type-checker.cwd""flake8.cwd"

"mypy-type-checker.preferDaemon" 設定的預設值已變更 (僅適用於 Mypy 擴充功能)。先前,它設定為 true,這表示依預設會使用 Mypy 精靈。在收到意見反應後,我們將預設值變更為 false。如果您想知道哪個值最適合您,我們的建議是如果您已啟用 Mypy 報告範圍為整個工作區 ("mypy-type-checker.reportingScope": "workspace") 以獲得效能,則使用 Mypy 精靈。否則,如果報告範圍設定為目前檔案,我們建議您使用擴充功能隨附的 Mypy 可執行檔。

已棄用的內建程式碼檢查和格式化功能

隨著對 VS Code 中程式碼檢查和格式化擴充功能所做的所有工作和改進,我們已棄用 Python 擴充功能中隨附的內建程式碼檢查和格式化功能。這包括所有程式碼檢查和格式化命令以及設定 (python.linting.*python.formatting.*)。如果您仍在使用這些已棄用的設定,我們建議您移除它們,並改用支援的程式碼檢查和格式化擴充功能。

如果您使用的程式碼檢查器沒有支援的擴充功能,請查看社群貢獻的 Ruff 擴充功能Ruff 是以 Rust 撰寫的 Python 程式碼檢查器,並且支援各種程式碼檢查器,例如 pyflakes、pycodestyle、pydocstyle 等。最近新增了在 VS Code 中使用 Ruff 作為格式化器的支援 ("[python]": { "editor.defaultFormatter": "charliermarsh.ruff" })。

您也可以為您最愛的 Python 工具建立您自己的程式碼檢查器或格式化器 VS Code 擴充功能。查看我們的 Python 工具擴充功能範本以快速入門。

建立環境通知

虛擬環境是使用需要安裝的相依性的 Python 專案的建議方式。它們提供隔離和可重現性,並且在 Python 專案中非常受歡迎。

因此,當您嘗試執行或偵錯具有列出相依性的 Python 檔案或專案,但您的工作區上未選取虛擬環境時,Python 擴充功能現在會顯示通知。此通知提供透過Python:建立環境命令快速建立新虛擬環境的方式。

如果您在工作區上已具有虛擬環境,您可以選擇選取它,或刪除並重新建立它。

可以透過將 python.python.createEnvironment.trigger 設定為 off 來停用此通知。

Notification stating that a virtual environment is not currently selected with an option to Create the environment or disable the notification

虛擬環境停用協助程式

幾個月前,我們宣布了一項新的實驗性功能,用於使用環境變數的終端機啟用,以透過在終端機中自動啟用選取的環境來增強您的開發工作流程,而無需明確的啟用命令。但是,由於沒有明確的啟用指令碼在運作,因此當啟用此實驗時,deactivate 命令不再運作。

Python 擴充功能現在會偵測到您何時嘗試執行 deactivate 命令,並顯示協助程式通知,以引導您如何為您的 Shell 新增指令碼,以便在透過環境變數啟用環境時,該命令可以再次運作。它也提供一個按鈕,可開啟您的 Shell 設定檔,讓您新增必要的指令碼。

Notification stating that the deactivate command is not working and offering a button to open the shell profile file

您可以在 vscode-python wiki 上找到有關如何為您的 Shell 新增必要指令碼的完整文件。

如果您不在實驗中,並且想要試用此功能,您可以新增下列使用者設定:"python.experiments.optInto": ["pythonTerminalEnvVarActivation"]

測試輸出改善

當啟用 pythonTestAdapter 實驗時,我們對您如何在 Python 擴充功能中檢視和互動測試輸出進行了重大改進,幾個月前宣布。先前,來自測試探索和執行的輸出不一致地分散在Python 測試記錄輸出通道和測試結果面板中,並且某些資訊在這兩者中重複。為了整合體驗,與測試執行相關的輸出會顯示在測試結果面板中,而測試探索則顯示在 Python 輸出通道中。若要深入了解,請閱讀我們相關的 vscode-python wiki

如果您使用 Pytest 並在 settings.json 中設定 "python.testing.pytestArgs": ["--color=yes"],則此新方法也支援輸出中的色彩化。色彩化僅適用於測試結果面板中的測試執行,而不適用於探索或 Python 測試記錄面板中的輸出。

Test execution output displayed in Test Results panel with colors, while test discovery output is displayed in the Python output channel

還有一個新的按鈕顯示輸出,可在測試探索發生錯誤時,從「測試總管」檢視輕鬆開啟「測試記錄」。

"Show output" button to open the Test Logs in the Test Explorer view

Python 偵錯工具擴充功能的平台特定版本

Python 偵錯工具擴充功能現在隨附平台特定版本,因此每次更新時只會安裝必要的平台特定檔案。這減少了擴充功能的大小,並有助於改善啟動時間。

Tensorboard 擴充功能

Tensorboard 功能已從 Python 擴充功能移至獨立的 Tensorboard 擴充功能。

如果您對此新擴充功能有任何問題或想要提供意見反應,您可以在 Tensorboard 擴充功能 GitHub 儲存庫中提交問題。

Jupyter

執行前導/相依儲存格

使用 Jupyter 擴充功能,您現在可以從儲存格執行按鈕旁邊的下拉式功能表執行目標儲存格的所有前導或相依儲存格。這仍然是預覽功能,可以使用 jupyter.executionAnalysis.enabled 設定和 notebook.consolidatedRunButton 設定啟用。

此功能目前由 Pylance 擴充功能提供支援,因此您需要安裝最新預先發行版本的 Pylance 才能使用此功能。

VS Code 語音

我們正在推出新的擴充功能,為 VS Code 帶來語音支援!新的 VS Code 語音擴充功能與 GitHub Copilot Chat 整合,以啟用聊天輸入的語音轉文字轉錄服務。

安裝後,會出現一個麥克風圖示,選取後,會開始根據您的語音轉錄結果,以文字填寫「聊天」輸入。轉錄是在您的機器本機計算的,不需要連線到網際網路。

VS Code Speech activated by the microphone icon

GitHub Pull Requests 和 Issues

GitHub Pull Requests 和 Issues 擴充功能上取得了更多進展,可讓您處理、建立和管理提取要求和問題。

  • 專案會顯示,並且可以從「提取要求」描述網頁檢視新增。
  • 與 GitHub Copilot 整合,可從「提取要求建立」檢視產生 PR 標題和描述。
  • 使用 GitHub CLI (gh pr checkout) 簽出的 PR 會被擴充功能辨識。

檢閱擴充功能 0.76.0 版本的變更記錄,以了解其他重點。

預覽功能

浮動編輯器視窗

我們繼續探索如何將編輯器從工作台視窗拉出到它們自己的視窗中,現在想邀請 VS Code Insiders 社群試用這個令人興奮的新功能並提供意見反應。

請務必安裝 VS Code Insiders,並在編輯器上執行新的檢視:將使用中編輯器移至新視窗命令,以在浮動視窗中開啟它們。

我們仍然必須找出許多問題並提供遺失的功能,但我們很樂觀地認為我們可以在不久的將來在 Stable 中啟用此功能。

感謝您的測試!

WASM-WASI 支援語言伺服器

WASM/WASI 中語言伺服器的支援已新增至實驗性的 wasm-wasi-core 擴充功能。

還有一個擴充功能展示了以 Rust 撰寫並編譯為 WASM 的簡單語言伺服器,位於 vscode-wasm 儲存庫中。擴充功能取決於 language server crate,由 Rust analyzer 團隊維護。

擴充功能撰寫

改善的測試執行器

現在有一個 VS Code 的命令列執行器和擴充功能,可讓擴充功能的測試更容易執行。使用新方法的擴充功能可以在 VS Code 的測試 UI 中執行。雖然需要進行一些移轉,但這通常只需要幾分鐘。閱讀 VS Code 測試擴充功能文件以取得更多資訊。

最終確定的 TestMessage.contextValue API

您可以在 TestMessage 上提供 contextValue,以便在使用者對這些訊息採取動作時顯示。此外,還提供兩個新的功能表貢獻點,testing/message/contexttesting/message/content。前者顯示在「測試結果」樹狀檢視中的訊息上,後者顯示在編輯器中訊息的上方。例如,這可以用於提供動作來更新快照測試中的 fixture

Failed test result with Update Snapshot action displayed

問題 #190277 中閱讀有關 contextValue 的更多資訊。

更新的 codicons

下列新圖示已新增至我們的 codicon 程式庫

New codicons

  • copilot
  • git-fetch
  • mic
  • mic-filled
  • thumbsup-filled
  • thumbsdown-filled
  • coffee
  • game
  • snake
  • vr
  • chip
  • music
  • piano

新的佈景主題色彩

  • textPreformat.background:預先格式化文字區段的背景色彩

每個名稱的根資料夾圖示

檔案圖示佈景主題作者現在可以使用新的屬性 rootFolderNamesrootFolderNamesExpanded 來定義根資料夾的名稱特定圖示。您可以檢閱 檔案圖示佈景主題指南以取得更多資訊。

建議的 API

每個里程碑都附帶新的建議 API,擴充功能作者可以試用它們。與往常一樣,我們希望收到您的意見反應。以下是試用建議 API 的步驟

  1. 尋找您想要試用的提案,並將其名稱新增至 package.json#enabledApiProposals
  2. 使用最新的 @vscode/dts 並執行 npx @vscode/dts dev。它會將對應的 d.ts 檔案下載到您的工作區。
  3. 您現在可以針對提案進行程式設計。

您無法發佈使用建議 API 的擴充功能。下一個版本中可能會出現重大變更,我們永遠不想中斷現有的擴充功能。

支援透過問題回報程式設定傳送至擴充功能的資料

新的建議 API 可讓擴充功能作者透過問題回報程式傳送其他資料。

export interface IssueUriRequestHandler {
  // Handle the request by the issue reporter for the Uri you want to direct the user to.
  handleIssueUrlRequest(): ProviderResult<Uri>;
}

export interface IssueDataProvider {
  // Provide the data to be used in the issue reporter.
  provideIssueData(token: CancellationToken): ProviderResult<string>;

  // Provide the template to be used in the description of issue reporter.
  provideIssueTemplate(token: CancellationToken): ProviderResult<string>;
}

export namespace env {
  export function registerIssueUriRequestHandler(
    handler: IssueUriRequestHandler
  ): Disposable;
  export function registerIssueDataProvider(provider: IssueDataProvider): Disposable;
}

您可以透過 handleIssueUrlRequest 提供 URI,讓擴充功能問題在外部 GitHub 上提交,或為 provideIssueDataprovideIssueTemplate 提供範本 string 和擴充功能資料 string,以便透過問題回報程式將其他擴充功能資料傳送至 GitHub。

問題 #196863 中閱讀有關此提案的更多資訊。

具有自訂排除規則的檔案監看程式

此里程碑我們新增了建議的 API,用於建立可完全控制排除規則的檔案系統監看程式

export interface FileSystemWatcherOptions {
  /**
   * An optional set of glob patterns to exclude from watching.
   * Glob patterns are always matched relative to the watched folder.
   */
  readonly excludes?: string[];
}

export function createFileSystemWatcher(
  pattern: RelativePattern,
  options?: FileSystemWatcherOptions
): FileSystemWatcher;

這個新的 API 讓你的擴充功能可以完全控制檔案監看器,無論它是遞迴或非遞迴監看器,或是想要監看工作區內或外的檔案。使用者或預設設定的檔案監看排除規則將不會套用,所以你可以確定只會收到你訂閱的事件。

工程

Windows 32 位元支援終止

不再支援 Windows 32 位元 VS Code。如果你仍在使用 32 位元版本的 VS Code,你應該更新到 64 位元版本。

擴充功能與文件

Java 版 Gradle

透過改良的 Java 版 Gradle 擴充功能,在 VS Code 中進行 Java 開發變得更輕鬆。此預先發行版本由於採用了 Build Server Protocol (BSP),因此更完善地支援建置 Gradle 專案。與 VS Code 中使用的其他協定(例如 Language Server Protocol (LSP))類似,BSP 在開發環境和建置工具(例如 Gradle)之間提供了一個抽象層。

若要試用新的 Gradle 支援,請安裝 Extension Pack for JavaJava 版 Gradle 擴充功能的預先發行版本。你可以在 Java 擴充功能團隊最近發布的這篇部落格文章中,深入了解 Gradle 和 BSP。

Gradle for Java pre-release extension

FastAPI 教學

FastAPI 是一個現代且快速的 Web 框架,用於建置 Python API,並且由於其簡潔性和效能而變得越來越受歡迎。

你現在可以透過我們新的 FastAPI 教學,學習如何充分利用 VS Code 和 Python 擴充功能來建立和偵錯 FastAPI 應用程式!

自訂版面配置使用者指南

有一篇新的自訂版面配置文章,描述了工作台和編輯器的版面配置自訂功能。你可以在那裡學習如何修改 VS Code 的主要 UI 元素,例如檢視、面板和編輯器,以符合你偏好的工作流程。

Customize Layout dropdown

主題包括

  • 主要和次要側邊欄
  • 面板位置和對齊
  • 釘選的編輯器標籤頁
  • 編輯器群組版面配置
  • 以及更多

值得注意的修正

  • 194812workbench.settings.settingsSearchTocBehavior 設定為 hide 時,搜尋時會顯示目錄
  • 195722 網路連線有問題時,設定編輯器空白

感謝您

最後但同樣重要的是,衷心感謝 VS Code 的貢獻者。

Issue 追蹤

Issue 追蹤的貢獻者

Pull requests

vscode 的貢獻

vscode-js-debug 的貢獻

language-server-protocol 的貢獻