此次發(fā)布的VS Code
版本為1.45
积蔚,主要更新如下:
- 可訪問性改進(jìn):聚焦命令導(dǎo)航工作臺(tái),狀態(tài)欄可訪問性烦周。
- 通過鼠標(biāo)滾輪切換編輯器選項(xiàng)卡尽爆;
- 更快的語法高亮顯示 :編程語言的著色速度提高了3倍;
- 用戶可自定義語義顏色读慎;
-
支持
GitHub
認(rèn)證教翩; - 為
GitHub Issue
和User
提供內(nèi)聯(lián)管理; - 遠(yuǎn)程開發(fā)贪壳,容器配置建議饱亿,支持
WSL 2
;
以下便是詳細(xì)內(nèi)容:
工作臺(tái)
使用鼠標(biāo)滾輪切換選項(xiàng)卡
在設(shè)置中新增了一項(xiàng)設(shè)置:workbench.editor.rollToSwitchTabs
,開啟后彪笼,便可以通過鼠標(biāo)滾輪切換編輯器中打開的選項(xiàng)卡钻注;
當(dāng)你把鼠標(biāo)焦點(diǎn)移動(dòng)到編輯器標(biāo)簽頁所在的區(qū)域,并開始滾動(dòng)鼠標(biāo)滾輪時(shí)配猫,打開的標(biāo)簽頁便會(huì)切換到編輯器中打開的其他的選項(xiàng)卡幅恋,詳情如下:
在鼠標(biāo)滾輪滾動(dòng)的同時(shí),按下shift
鍵泵肄,選項(xiàng)卡就會(huì)向相反的方向切換捆交。
自定義窗口標(biāo)題分隔符
默認(rèn)情況下,使用"-"作為窗口標(biāo)題中使用的分隔符腐巢,現(xiàn)在品追,設(shè)置中的新設(shè)置項(xiàng):window.titleSeparator,可用于修改窗口標(biāo)題中使用的分隔符冯丙;
在圖中肉瓦,紅線標(biāo)注的便是窗口標(biāo)題中使用的分隔符。
修改了側(cè)欄標(biāo)題的默認(rèn)主題
為默認(rèn)的深色和淺色主題更新了側(cè)欄部分標(biāo)題的樣式胃惜,在使用透明背景時(shí)泞莉,并為每個(gè)標(biāo)題顯示一個(gè)邊框:
在上圖中,除了OPEN EDITORS欄目沒有邊框外船殉,其余的幾個(gè)欄目都有一個(gè)明顯的邊框鲫趁。
編輯器
語法高亮顯示
此版本便編寫了一個(gè)專門的 Web Assembly
綁定,為TextMate
解釋器的使用做了大量的優(yōu)化利虫,采用了幾個(gè)月前剛剛添加到oniguruma
的新API
挨厚;在高亮顯示常規(guī)編程文件方面的性能提高了3
倍。
自定義語義主題規(guī)則
在設(shè)置中的editor.semanticTokenColorCustomizations
屬性可以在用戶設(shè)置中自定義語義主題規(guī)則列吼,語義著色適用于TypeScript
和JavaScript
幽崩,對(duì)Java
和C++
的支持正在開發(fā)中苦始;它默認(rèn)為內(nèi)置主題啟用寞钥,并被主題擴(kuò)展所采用。
上面的設(shè)置更改了默認(rèn)Dark +
主題陌选;它為參數(shù)(斜體和新顏色)賦予了新的樣式理郑,并在默認(rèn)庫中為所有符號(hào)(例如Promise
,Map
及其屬性)加了下劃線:
Default Dark +主題中常量的新顏色
Default Dark+
和Default Light+
主題的顏色常量與可寫變量的陰影不同咨油,下面就是一個(gè)例子:
Default Dark+ theme
:
Default Light+ theme
:
禁用永久性撤消
設(shè)置項(xiàng)中的:files.restoreUndoStack
您炉,用于禁用持久性撤消。在關(guān)閉文件并重新打開文件時(shí)持久保留的“撤消/重做”堆棧役电,可以通過files.restoreUndoStack
禁用該功能赚爵。
Integrated Terminal
刪除了幾個(gè)與提示符相關(guān)的命令:
workbench.action.terminal.deleteWordLeft
workbench.action.terminal.deleteWordRight
workbench.action.terminal.deleteToLineStart
workbench.action.terminal.moveToLineStart
workbench.action.terminal.moveToLineEnd
它們已經(jīng)被替換成了workbench.action.terminal.sendSequence
命令的自定義鍵綁定,該命令以通用的方式做同樣的事情。
支持在PowerShell中粘貼多行文字
在workbench.action.terminal.sendSequence
命令中有一個(gè)新的鍵綁定只適用于Windows
冀膝,這個(gè)新的鍵綁定支持將Ctrl+V
的文本直接發(fā)送到PowerShell
唁奢,并由PSReadLine
接收并正確處理:
使用這個(gè)新的鍵綁定之前和使用之后有著明顯的差別:
定義雙擊分隔符
設(shè)置項(xiàng)中terminal.integrated.wordSeparators
設(shè)置可允許自定義在終端中雙擊時(shí)用于分隔單詞的分隔符,默認(rèn)情況下窝剖,該分隔符為:
Debugging
自動(dòng)debug配置
上圖便是新的JavaScript
調(diào)試器預(yù)覽和Mock Debug
麻掸,該自動(dòng)調(diào)試可以通過在快速打開(Ctrl+P
)中輸入'debug'
(帶空格)或觸發(fā)Debug.Debug.Debug Quick Pick
命令打開,選擇并開始調(diào)試命令赐纱。debug
的UI
界面將在下一版本中提供脊奋。
Task
禁用更快的快速選擇
設(shè)置項(xiàng)中的task.quickOpen.showAll
可用于設(shè)置禁用快速選擇器,用以換回之前版本的快速選擇器UI
疙描,因?yàn)樵?code>1.44版本中诚隙,運(yùn)行任務(wù)時(shí)顯示的任務(wù)選擇器被做了一些修改。
運(yùn)行保存
設(shè)置項(xiàng)中的task.saveBeforeRun
可用于配置運(yùn)行保存淫痰,用以避免在運(yùn)行前保存編輯器最楷。
Languages
TypeScript狀態(tài)欄條目
VS Code
在狀態(tài)欄中顯示當(dāng)前的TypeScript
版本:
單擊TypeScript
版本會(huì)彈出適用于當(dāng)前TypeScript
項(xiàng)目的命令:
提示用戶切換到TypeScript的工作區(qū)版本
設(shè)置項(xiàng):typescript.enablePromptUseWorkspaceTsdk
,設(shè)置為true
后會(huì)有一個(gè)提示待错,詢問用戶是否要切換到工作區(qū)版本的 TypeScript
籽孙;
Markdown鏈接到文件夾
Markdown
文件中的編輯器鏈接和Markdown
預(yù)覽中的鏈接現(xiàn)在可以指向文件夾,點(diǎn)擊這些鏈接中的一個(gè)火俄,就可以在VS Code
的文件資源管理器中顯示目標(biāo)文件夾犯建。
Source Control
針對(duì)GitHub倉庫的GitHub認(rèn)證
VS Code
現(xiàn)在可以自動(dòng)對(duì)GitHub
倉庫進(jìn)行GitHub
認(rèn)證,你現(xiàn)在可以克隆瓜客、拉取适瓦、推送代碼到Github
倉庫,而無需在系統(tǒng)中配置任何證書管理器谱仪。即使是在集成終端中調(diào)用的Git
命令玻熙,例如git push
,現(xiàn)在也會(huì)自動(dòng)對(duì)GitHub
賬戶進(jìn)行身份驗(yàn)證疯攒。
也可以通過設(shè)置項(xiàng):git.githubAuthentication
來禁用 GitHub
認(rèn)證嗦随,可以通過設(shè)置項(xiàng):git.terminalAuthentication
來禁用集成終端驗(yàn)證。
隱藏Git提交輸入框
設(shè)置項(xiàng):git.showCommitInput
可以隱藏 Git
代碼倉庫的提交輸入框敬尺。
內(nèi)聯(lián)差異可編輯
當(dāng)預(yù)覽文件中的發(fā)生更改時(shí)枚尼,可以在快速差異編輯器中進(jìn)行編輯。
JavaScript調(diào)試器
可以從VS Code stable
中的Marketplace
安裝這個(gè)新的JavaScript
調(diào)試器砂吞,然后通過設(shè)置項(xiàng): debug.javascript.usePreview
來啟用這個(gè)新的JavaScript
調(diào)試器署恍。
自動(dòng)附加集成
設(shè)置項(xiàng):debug.javascript.usePreview
,用于打開自動(dòng)附加集成蜻直,該功能將使用js-debug
提供的新方法盯质,該方法允許所有終端的工作方式像Debug Terminal
一樣袁串。
對(duì)現(xiàn)有調(diào)試器的自動(dòng)附加的改進(jìn)如下:
- 立即連接調(diào)試器,使在程序的早期達(dá)到斷點(diǎn)呼巷;
- 子進(jìn)程將自動(dòng)調(diào)試般婆;
- 自動(dòng)附加期間沒有過程輪詢開銷;
從變量視圖中復(fù)制混合值
在之前的版本中朵逝,會(huì)嘗試從VS Code Variables
視圖復(fù)制混合蔚袍、復(fù)雜的值(如對(duì)象),這樣通常會(huì)導(dǎo)致數(shù)據(jù)被截?cái)嗷虿煌暾涿?code>VS Code和js-debug
中的更改讓我們能夠復(fù)制完整的值:
圖標(biāo)主題
Visual Studio Code
包含一組內(nèi)置圖標(biāo)啤咽,這些圖標(biāo)在視圖和編輯器中使用,也可以在懸停器渠脉,狀態(tài)欄和擴(kuò)展名中使用宇整。 這些圖標(biāo)包含在Codicon
圖標(biāo)字體中,用于默認(rèn)的產(chǎn)品圖標(biāo)主題芋膘。
在所有打開的項(xiàng)目中搜索TypeScript/JavaScript符號(hào)
當(dāng)使用TypeScript 3.9+
時(shí)鳞青,VS Code
的全局符號(hào)搜索默認(rèn)搜索所有打開的JavaScript
和TypeScript
項(xiàng)目的,之前的版本默認(rèn)搜索當(dāng)前項(xiàng)目为朋;因?yàn)榇隧?xiàng)功能為默認(rèn)選項(xiàng)臂拓,所以如果想要恢復(fù)之前版本的操作,可通過設(shè)置項(xiàng):"typescript.workspaceSymbols.scope": "currentProject"
來完成习寸。
改進(jìn)了終端中的鏈接顯示
對(duì)終端中的鏈接支持做了一次大修改胶惰,終端中的鏈接功能更加強(qiáng)大:
- 能夠更好的進(jìn)行
web
和file://
鏈接檢測; - 支持文件夾鏈接霞溪,可以在資源管理器中打開文件夾孵滞,也可以打開一個(gè)新的
VS Code
窗口; - 針對(duì)不同類型的鏈接類型有不同的鏈接操作鸯匹,從鏈接回退到搜索工作空間的鏈接的“字符”可通過設(shè)置項(xiàng):
terminal.integrated.wordSeparators
來設(shè)置坊饶; - 類似于編輯器中代碼高亮的鏈接顯示;
動(dòng)態(tài)顯示icon和標(biāo)題
允許在工作臺(tái)上移動(dòng)視圖時(shí)在活動(dòng)欄或面板中的新選項(xiàng)卡上創(chuàng)建新圖標(biāo)殴蓬,當(dāng)創(chuàng)建一個(gè)自定義容器時(shí)匿级,將會(huì)使用第一個(gè)可見的視圖的標(biāo)題和圖標(biāo)作為容器的標(biāo)題和圖標(biāo),并允許通過重新排列視圖來改變它科雳。下面的圖中:當(dāng)一個(gè)新的視圖被放置在視圖容器的頂部時(shí)根蟹,它的圖標(biāo)和標(biāo)題會(huì)被更新脓杉。
然后可以移動(dòng)自定義容器及其所有包含的視圖糟秘,在下面的圖中顯示了將終端和輸出視圖組合后拖入活動(dòng)欄中:
擴(kuò)展貢獻(xiàn)
遠(yuǎn)程開發(fā)
繼續(xù)遠(yuǎn)程開發(fā)的擴(kuò)展開發(fā),以允許你使用容器球散、遠(yuǎn)程計(jì)算機(jī)或WSL
作為一個(gè)全功能的開發(fā)環(huán)境尿赚;在此版本中有不少亮點(diǎn):
- 提供容器配置教程;
- 提供對(duì)
WSL2 Docker
和Podman
引擎的支持; - 為本地和容器文件夾提供新的
devcontainer.json
變量凌净;
GitHub Pull Requests and Issues
在之前的版本中悲龟,可在VSCode
中執(zhí)行GitHub Pull Request
,在此版本中冰寻,不僅支持Pull Request
须教,還支持Issues
;
Issue
的支持包括:
- 對(duì)
#-referenced issues
和@-mentioned users
(提及的用戶)提供懸停支持斩芭; - 列出
issue
和用戶的內(nèi)聯(lián)建議轻腺; - 自定義查詢
issue
; - 可以從
issue
直接開始處理問題划乖,并創(chuàng)建一個(gè)分支贬养,然后自動(dòng)填寫commit message
;
此外琴庵,還提供了對(duì)代碼倉庫的支持:
- 從遠(yuǎn)程代碼倉庫克隆源代碼误算;
- 提交一個(gè)新版本到
Github
;
下面的圖中演示了在GitHub
上發(fā)布到一個(gè)新的私有倉庫迷殿,上傳成功后儿礼,就可以直接GitHub
上瀏覽代碼倉庫:
GitHub Issue Notebooks
提供了GitHub Issue Notebooks
擴(kuò)展,用以管理issue
和pull request
搜索庆寺,并對(duì)管理進(jìn)行內(nèi)聯(lián)渲染蜘犁;
debug/callstack/context菜單內(nèi)聯(lián)組
支持對(duì)debug / callstack / context
菜單內(nèi)聯(lián)組的貢獻(xiàn),當(dāng)用戶將鼠標(biāo)懸停在Debug Session
元素上時(shí)止邮,將在調(diào)用堆棧中內(nèi)嵌呈現(xiàn)給該組的命令这橙。
自定義的編輯器二進(jìn)制API
重新實(shí)現(xiàn)了二進(jìn)制自定義編輯器的擬議API
,并自定義編輯器擴(kuò)展到二進(jìn)制文件格式导披,然后就可以在編輯器中打開二進(jìn)制文件了屈扎,比如:圖片、十六進(jìn)制轉(zhuǎn)儲(chǔ)等:
輔助功能
- 引入了聚焦上一部分(
F6
)和聚焦下一部分(Shift + F6
)的快捷鍵操作撩匕,可以在編輯器工作臺(tái)導(dǎo)航之間快速切換鹰晨; - 當(dāng)鼠標(biāo)焦點(diǎn)移動(dòng)到狀態(tài)工具欄時(shí),屏幕閱讀器可以讀取焦點(diǎn)對(duì)準(zhǔn)的內(nèi)容止毕;
- 在編輯器的工作臺(tái)中的的每個(gè)列表和樹形工具中引入了
ARIA
標(biāo)簽模蜡,可以打開編輯器、面包屑扁凛、問題視圖等忍疾;
此次發(fā)布的VSCode 1.45
亮點(diǎn)眾多,也有不少的改進(jìn)谨朝,VSCode
越來越好了卤妒,也越來越受更多開發(fā)者的青睞甥绿,如果有感興趣的小伙伴,不妨可以下載嘗試一番则披。
此外共缕,VSCode
還提供了豐富的擴(kuò)展API
和調(diào)用文檔,開發(fā)者們除了可以作為VSCode
的使用者外士复,也還可以作為開發(fā)者图谷,利用官方提供的擴(kuò)展API
,開發(fā)出基于VSCode
運(yùn)行的插件阱洪,拓展出自己想要的功能蜓萄,除了給自己用,可以開源出來給更多的開發(fā)者使用澄峰。
完結(jié)嫉沽,老夫雖不正經(jīng),但老夫一身的才華俏竞!