Visual Studio Code 1.65 現已釋出,該版本更新內容很多,下面摘錄部分新特性作介紹。
工作臺
新的編輯器歷史導航
編輯組感知導航
現在在編輯器歷史中導航時會考慮編輯器組。在編輯器歷史記錄中來回導航將啟用編輯器,並將其集中在那些編輯器組中。刪除編輯器組時,所有關聯的歷史條目都將被丟棄。
在下面的動圖中,第一個 Go Back 將游標放在新的編輯器組中,然後第二個 Go Back 導航返回到原始編輯器組。
關於歷史導航的新設定
有一項新設定 workbench.editor.navigationScope,可以將編輯器歷史導航範圍限定為活動編輯器組甚至編輯器。支援的值是:
- default:編輯器導航適用於所有開啟的編輯器組和編輯器。
- editorGroup:編輯器導航僅限於活動編輯器組的已開啟編輯器。
- editor:編輯器導航僅限於活動編輯器。
如果將範圍配置為 editorGroup 或 editor,則每個編輯器組或編輯器都將擁有自己的導航堆疊,可以單獨導航。
Notebook 支援
可以在任何 Notebook 中選擇的單元格之間導航,導航可以跨編輯器工作。
新的佈局控制選項
在標題欄中引入了實驗性佈局控制元件(啟用:通過設定workbench.experimental.layoutControl.enabled為true),通過 layoutControl.type 設定,可選擇對應的 UI 佈局 ,此設定具有以下三個選項:
- menu: 舊版佈局,可以開啟選單的單個按鈕(預設)。
- toggles:新選項,顯示三個按鈕來切換主皮膚、側邊欄和側皮膚。
- both:新選項,顯示三個切換按鈕的同時,也有選單按鈕。
比如設定成 both,就是如下圖所示,三個切換按鈕加一個下拉選單按鈕:
淺色高對比度主題
新增了新的 Light High Contrast 主題(感覺對比度太高看起來有點累)
音訊提示
新增了新的音訊提示,包括警告、內聯建議和偵錯程式斷點點選的音訊提示。此前的audioCues.enabled設定已被棄用,取而代之的是audioCues.*設定:
新的音訊提示命令 Help: List Audio Cues ,可檢視所有可用的音訊效果。
拖放問題和搜尋結果
可以將問題、搜尋或參考結果拖放到編輯器中,開啟檔案並顯示結果位置。
設定編輯器拆分檢視
使用可調整的拆分檢視將目錄與設定列表分開。
改進的自動語言檢測
啟用新設定 workbench.editor.historyBasedLanguageDetection 後,無標題編輯器將使用改進過的自動語言檢測演算法,該演算法會考慮編輯器歷史記錄和當前工作區的內容,新演算法只需少量文字輸入即可提供檢測結果。
下面是在 JavaScript、TypeScript、Markdown、Python、PHP 和 C++(支援更多語言)中使用新演算法的示例:
改進的語言擴充套件建議
語言擴充套件推薦現在會在推薦時考慮擴充套件市場中其他突出的語言擴充套件。例如,如果安裝了Apache NetBeans Java 擴充套件,VS Code 就不會推薦使用 Java 擴充套件包。
擴充套件樹懸停的鍵盤快捷鍵
可以使用鍵盤快捷鍵 Ctrl/Cmd+K, Ctrl/Cmd+I觸發懸停,以顯示在由擴充套件提供的自定義樹檢視中。
編輯器
片段環繞
有一個新命令可以用程式碼片段包圍當前選擇:先選擇一些文字,從命令皮膚 ( Ctrl+Shift+P )呼叫 Surround With Snippet 命令,然後從下拉選單中選擇一個片段。在下面的動圖中,一個選定的方法被一個 try/catch 片段包圍。
上下文 Unicode 突出顯示
在受信任的工作空間中,僅突出顯示不可見或可能與 ASCII 字元混淆的字元
之前在 const 字串中會看到多個誤報:
現在只會展示容易混淆的字元
原始碼管理
差異編輯器管理
命令皮膚中有一個新命令 Git: Close All Diff Editors ,可用於關閉所有開啟的差異編輯器。還有一個新設定 git.closeDiffOnOperation 可以在隱藏、提交、丟棄、暫存或取消暫存更改時自動關閉差異編輯器。
Git 命令輸出日誌記錄
執行 Git 命令時,其內容 stderr 會記錄在 Git 輸出視窗中。有一個新設定 git.commandsToLog 用於指定 Git 命令的列表,這些命令的內容將 stdout 記錄在 Git 輸出視窗中。
調性
惰性變數
VS Code 的通用偵錯程式現在可以顯示一個按鈕,供使用者按需獲取變數值。這可用於支援新的“惰性”變數特性的除錯擴充套件。
此外,該版本還包含大量其他更新,比如對單門語言的更新,支援最新的 Typescript 4.6 等,詳細內容可在釋出公告中檢視。