現在,已修改的設置用藍線表示,就像編輯器中的修改行一樣。通過齒輪圖標打開一個上下文菜單,其中包含將設置重置為其默認值的選項。
新版本可以對設置值自動驗證設,有問題會在直接顯示。
目錄在搜索過程中仍然可見,並過濾以僅顯示具有匹配項的類別。你可以單擊某個類別將結果過濾為該類別下的設置。可以通過設置值
"workbench.settings.settingsSearchTocBehavior"為"hidden" 隱藏搜索期間目錄顯示。
當你在設置中搜索時,基於Bing的搜索服務仍然可以提供它認為相關的結果。現在,該服務還將向你顯示具有相關設置的擴展在設置搜索結果的底部有一個藍色按鈕,顯示匹配的擴展名。單擊時,將使用匹配的擴展名打開"擴展"視圖。
跨平臺的自定義標題欄和菜單
本版本中Windows和Linux上標題欄和菜單的外觀和可用性多了很大改進改善:
整個產品中的可編輯標題欄,菜單欄和上下文菜單主題風格將保持一致。
菜單欄中更好的鍵盤導航。使用鍵盤在菜單之間切換更容易,並使用了菜單助記符。
較少侵入式的菜單欄。將"window.menuBarVisibility"設置為"toggle"時,新體驗更緊湊,更和諧。
更好的可訪問性。解決已經存在的了可訪問性問題,以通過屏幕閱讀器提高菜單可用性。
新版本在Windows上將這些新體驗作為的默認體驗,你可以通過設置"window.titleBarStyle" 為"custom"顯示老的樣式。
麵包屑導航的改進
調整了新的麵包屑導航欄,進行改進:
運行焦點命令(Ctrl+Shift+;)時,會自動啟用麵包屑。
麵包屑在主題方面的效果更好。
麵包屑支持配置文件的排除配置。
新的終端菜單
"任務"菜單被重命名為"終端",並添加了一些終端集成的子菜單。
特定平臺的按鍵綁定
現在可以在keybinding的when子句中使用isLinux,isMac和isWindows為特定操作系統啟用鍵盤快捷鍵:
{
"key": "ctrl+o",
"command": "workbench.action.files.openFolder",
"when": "!isMac"
},
{
"key": "cmd+o",
"command": "workbench.action.files.openFolder",
"when": "isMac"
}
這使得在不同的機器上共享keybindings.json配置時候,不會出現兼容問題。
打開窗口作為新的本機選項卡
新的macOS-only命令workbench.action.newWindowTab將窗口打開為新的本機選項卡。 newWindowTab沒有默認的鍵綁定,需要啟用設置
window.nativeTabs。從外部刪除/重命名正在編輯的文件不會退出
workbench.editor.closeOnFileDelete設置的默認值從true更改為false。這意味著在VS代碼之外(或通過其他程序,如Git或來自集成終端的命令)刪除或重命名的文件將不再關閉作為編輯器選項卡打開的文件。只會指示它已從磁盤中刪除,你只需保存該文件就能將其還原。
鼠標中建單擊可以在新編輯器中打開文件
現在可以在資源管理器視圖中使用鼠標中鍵在新編輯器中打開文件,而不是在預覽模式重複使用以前的編輯器。
自動關閉和周圍的字符
當鍵入某些括號,如{,[或(,取決於編程語言,默認情況下,當它們跟隨通常無法啟動表達式的特定字符時,它們將自動補全完成,例如;:.,=}]) 。可以使用editor.autoClosingBrackets設置自定義此行為。類似地,可以在使用editor.autoClosingQuotes對鍵入","或`之類的引號時自定義自動補全完成行為。
選擇文本並鍵入其中一個字符後,選擇將用括號或引號括起來。可以通過新的editor.autoSurround設置。
語言方便改進
CSS導入的路徑完成
新版本支持對CSS,SCSS和Less @import的路徑補全。也支持SCSS部分@import。
跳轉到CSS鏈接的定義
現在支持點擊跳轉到CSS,SCSS和Less中的@import和url()定義的鏈接。
JSON
內置的JSON語言擴展現在支持新的JSON Schema Draft-07。
增加了if,then,else等關鍵字,以允許條件判斷。
{
"type": "integer",
"minimum": 1,
"maximum": 1000,
"if": { "minimum": 100 },
"then": { "multipleOf": 100 },
"else": {
"if": { "minimum": 10 },
"then": { "multipleOf": 10 }
}
}
if關鍵字表示如果值模式的結果通過驗證,則應用then模式,否則應用else模式。
HTML
HTML格式化程序已更新為
JS Beautifier 1.8.1版。"html.format.wrapAttributes"設置添加了一個新選項:aligned-multiple將在達到最大行長度時自動斷行的屬性,並將所有新起行與第一個屬性對齊。
TypeScript 3.0.3
TS語言升級為TypeScript 3.0.3。該版本修復了許多錯誤並提高了穩定性。
調試器改進
Loaded Scripts視圖現在可以重用
新版本中,添加Loaded Scripts視圖作為內置調試器功能。所有具有"腳本"概念的調試擴展都將能夠支持在動態更新的視圖中訪問其腳本。
Loaded Scripts Explorer也做了改進:
單子文件夾的鏈現在摺疊為單個節點。更便於深入查看深層但稀疏的文件夾層次結構。
中鍵單擊刪除斷點
現在可以在斷點視圖中使用鼠標中鍵輕鬆刪除斷點。
"openDebug"的默認值更改為在每個會話開始時打開
對於新用戶,啟動調試會話時有時可能會造成混淆,並且調試視圖不會每次都自動打開。如果用戶還不熟悉UI,則他們不知道要打開UI時要查找的關鍵字。為避免混淆,新版本將 debug.openDebug的默認值更改為openOnSessionStart,以便在每個會話啟動時打開調試視圖。
新建擴展
擴展日誌
作為activate函數的參數的ExtensionContext新加屬性logPath。用於擴展存儲日誌文件的目錄的絕對文件路徑。該路徑對於擴展是唯一的,不會被其他擴展重用。
語言服務器協議
可以使用新版本的語言服務器協議,其中包括用於VS代碼的相應節點模塊。
新版本支持:
Code Action從服務器發佈通知,允許客戶端填充相應的菜單條目。
textDocument/prepareRename的實現。
支持工作區編輯中的文件操作(創建,重命名和刪除)。
vscode-languageclient:JSON日誌格式和日誌流
以前,在使用vscode-languageclient構建Language Server擴展時,可以指定[langId].trace.server將LSP日誌發送到VS Code輸出。
[langId].trace.server現在可以以機器可讀的JSON格式輸出日誌記錄信息:
"languageServerExample.trace.server": {
"format": "json", // or "text"
"verbosity": "verbose" // or "off" | "message"
}
這開闢了有趣的用例,例如將LSP LSP日誌傳輸到LSP Inspector:
調試擴展:內置加載腳本視圖
Loaded Scripts Explorer現在是VS Code調試器的內置組件。為了使用它,調試器擴展需要以下列方式更改其調試適配器:
添加supportsLoadedSourcesRequest功能,其值為true,表示從初始化請求返回的功能。
通過返回當前加載的源集來實現loadedSources請求。
為新加載或卸載的源發送loadedSource事件。
新的主題顏色
麵包屑導航欄支持:
breadcrumb.background:背景顏色項目。
settings.dropdownListBorder:新下拉控件的邊框顏色。
settings.modifiedItemIndicator:指示修改設置的行的顏色。
歡迎關注蟲蟲,本號將持續提供業界最新,最實用IT技術文章。
閱讀更多 蟲蟲安全 的文章