VS Code 1.45發(fā)布剃盾,更好的Debug,更好的編碼體驗(yàn)淤袜,更好的Github集成痒谴,JS調(diào)試器,終端改進(jìn)铡羡,滾動(dòng)切換選項(xiàng)卡

VS Code 1.45

此次發(fā)布的VS Code 版本為1.45积蔚,主要更新如下:

  • 可訪問性改進(jìn):聚焦命令導(dǎo)航工作臺(tái),狀態(tài)欄可訪問性烦周。
  • 通過鼠標(biāo)滾輪切換編輯器選項(xiàng)卡尽爆;
  • 更快的語法高亮顯示 :編程語言的著色速度提高了3倍;
  • 用戶可自定義語義顏色读慎;
  • 支持GitHub認(rèn)證教翩;
  • GitHub IssueUser 提供內(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)滾輪切換選項(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)注的便是窗口標(biāo)題中使用的分隔符。

修改了側(cè)欄標(biāo)題的默認(rèn)主題

為默認(rèn)的深色和淺色主題更新了側(cè)欄部分標(biāo)題的樣式胃惜,在使用透明背景時(shí)泞莉,并為每個(gè)標(biāo)題顯示一個(gè)邊框:

修改了側(cè)欄標(biāo)題的默認(rèn)主題

在上圖中,除了OPEN EDITORS欄目沒有邊框外船殉,其余的幾個(gè)欄目都有一個(gè)明顯的邊框鲫趁。

編輯器

語法高亮顯示

此版本便編寫了一個(gè)專門的 Web Assembly綁定,為TextMate解釋器的使用做了大量的優(yōu)化利虫,采用了幾個(gè)月前剛剛添加到oniguruma的新API挨厚;在高亮顯示常規(guī)編程文件方面的性能提高了3倍。

自定義語義主題規(guī)則

在設(shè)置中的editor.semanticTokenColorCustomizations屬性可以在用戶設(shè)置中自定義語義主題規(guī)則列吼,語義著色適用于TypeScriptJavaScript幽崩,對(duì)JavaC++的支持正在開發(fā)中苦始;它默認(rèn)為內(nèi)置主題啟用寞钥,并被主題擴(kuò)展所采用。

語義令牌樣式

上面的設(shè)置更改了默認(rèn)Dark +主題陌选;它為參數(shù)(斜體和新顏色)賦予了新的樣式理郑,并在默認(rèn)庫中為所有符號(hào)(例如PromiseMap及其屬性)加了下劃線:

上面的設(shè)置更改了默認(rèn)Dark +主題

Default Dark +主題中常量的新顏色

Default Dark+Default Light+主題的顏色常量與可寫變量的陰影不同咨油,下面就是一個(gè)例子:

Default Dark+ theme

Default Dark+ theme

Default Light+ 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命令的自定義鍵綁定,該命令以通用的方式做同樣的事情。

被刪除的與提示符相關(guān)的命令

支持在PowerShell中粘貼多行文字

workbench.action.terminal.sendSequence命令中有一個(gè)新的鍵綁定只適用于Windows冀膝,這個(gè)新的鍵綁定支持將Ctrl+V的文本直接發(fā)送到PowerShell唁奢,并由PSReadLine接收并正確處理:

支持在PowerShell中粘貼多行文字

使用這個(gè)新的鍵綁定之前和使用之后有著明顯的差別:

使用這個(gè)新的鍵綁定之前和使用之后

定義雙擊分隔符

設(shè)置項(xiàng)中terminal.integrated.wordSeparators設(shè)置可允許自定義在終端中雙擊時(shí)用于分隔單詞的分隔符,默認(rèn)情況下窝剖,該分隔符為:

默認(rèn)的雙擊分隔符

Debugging

自動(dòng)debug配置

新的JavaScript調(diào)試器

上圖便是新的JavaScript調(diào)試器預(yù)覽和Mock Debug麻掸,該自動(dòng)調(diào)試可以通過在快速打開(Ctrl+P)中輸入'debug'(帶空格)或觸發(fā)Debug.Debug.Debug Quick Pick命令打開,選擇并開始調(diào)試命令赐纱。debugUI界面將在下一版本中提供脊奋。

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版本:

VS Code在狀態(tài)欄中顯示當(dāng)前的TypeScript版本

單擊TypeScript版本會(huì)彈出適用于當(dāng)前TypeScript項(xiàng)目的命令:

適用于當(dāng)前TypeScript項(xiàng)目的命令

提示用戶切換到TypeScript的工作區(qū)版本

設(shè)置項(xiàng):typescript.enablePromptUseWorkspaceTsdk,設(shè)置為true后會(huì)有一個(gè)提示待错,詢問用戶是否要切換到工作區(qū)版本的 TypeScript籽孙;

提示用戶切換到TypeScript的工作區(qū)版本

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)行編輯。

內(nèi)聯(lián)差異可編輯

JavaScript調(diào)試器

可以從VS Code stable中的Marketplace安裝這個(gè)新的JavaScript調(diào)試器砂吞,然后通過設(shè)置項(xiàng): debug.javascript.usePreview 來啟用這個(gè)新的JavaScript調(diào)試器署恍。

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)如下:

  1. 立即連接調(diào)試器,使在程序的早期達(dá)到斷點(diǎn)呼巷;
  2. 子進(jìn)程將自動(dòng)調(diào)試般婆;
  3. 自動(dòng)附加期間沒有過程輪詢開銷;

從變量視圖中復(fù)制混合值

在之前的版本中朵逝,會(huì)嘗試從VS Code Variables視圖復(fù)制混合蔚袍、復(fù)雜的值(如對(duì)象),這樣通常會(huì)導(dǎo)致數(shù)據(jù)被截?cái)嗷虿煌暾涿?code>VS Code和js-debug中的更改讓我們能夠復(fù)制完整的值:

能夠復(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)主題芋膘。

圖標(biāo)主題

在所有打開的項(xiàng)目中搜索TypeScript/JavaScript符號(hào)

當(dāng)使用TypeScript 3.9+時(shí)鳞青,VS Code的全局符號(hào)搜索默認(rèn)搜索所有打開的JavaScriptTypeScript項(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)大:

  1. 能夠更好的進(jìn)行webfile:// 鏈接檢測;
  2. 支持文件夾鏈接霞溪,可以在資源管理器中打開文件夾孵滞,也可以打開一個(gè)新的VS Code窗口;
  3. 針對(duì)不同類型的鏈接類型有不同的鏈接操作鸯匹,從鏈接回退到搜索工作空間的鏈接的“字符”可通過設(shè)置項(xiàng):terminal.integrated.wordSeparators來設(shè)置坊饶;
  4. 類似于編輯器中代碼高亮的鏈接顯示;
終端中的鏈接

動(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)態(tài)顯示icon和標(biāo)題

然后可以移動(dòng)自定義容器及其所有包含的視圖糟秘,在下面的圖中顯示了將終端和輸出視圖組合后拖入活動(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):

  1. 提供容器配置教程;
  2. 提供對(duì)WSL2 DockerPodman引擎的支持;
  3. 為本地和容器文件夾提供新的 devcontainer.json 變量凌净;

GitHub Pull Requests and Issues

在之前的版本中悲龟,可在VSCode中執(zhí)行GitHub Pull Request,在此版本中冰寻,不僅支持Pull Request须教,還支持Issues

Issue的支持包括:

  1. 對(duì)#-referenced issues@-mentioned users(提及的用戶)提供懸停支持斩芭;
  2. 列出issue和用戶的內(nèi)聯(lián)建議轻腺;
  3. 自定義查詢issue
  4. 可以從issue直接開始處理問題划乖,并創(chuàng)建一個(gè)分支贬养,然后自動(dòng)填寫commit message

此外琴庵,還提供了對(duì)代碼倉庫的支持:

  1. 從遠(yuǎn)程代碼倉庫克隆源代碼误算;
  2. 提交一個(gè)新版本到Github

下面的圖中演示了在GitHub上發(fā)布到一個(gè)新的私有倉庫迷殿,上傳成功后儿礼,就可以直接GitHub上瀏覽代碼倉庫:

在VSCode中提交發(fā)布

GitHub Issue Notebooks

提供了GitHub Issue Notebooks擴(kuò)展,用以管理issuepull request搜索庆寺,并對(duì)管理進(jìn)行內(nèi)聯(lián)渲染蜘犁;

GitHub Issue Notebooks

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)給該組的命令这橙。

debug/callstack/context菜單內(nèi)聯(lián)組

自定義的編輯器二進(jìn)制API

重新實(shí)現(xiàn)了二進(jìn)制自定義編輯器的擬議API,并自定義編輯器擴(kuò)展到二進(jìn)制文件格式导披,然后就可以在編輯器中打開二進(jìn)制文件了屈扎,比如:圖片、十六進(jìn)制轉(zhuǎn)儲(chǔ)等:

自定義的編輯器二進(jìn)制API

輔助功能

  1. 引入了聚焦上一部分F6)和聚焦下一部分Shift + F6)的快捷鍵操作撩匕,可以在編輯器工作臺(tái)導(dǎo)航之間快速切換鹰晨;
  2. 當(dāng)鼠標(biāo)焦點(diǎn)移動(dòng)到狀態(tài)工具欄時(shí),屏幕閱讀器可以讀取焦點(diǎn)對(duì)準(zhǔn)的內(nèi)容止毕;
  3. 在編輯器的工作臺(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),但老夫一身的才華俏竞!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末绸硕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子魂毁,更是在濱河造成了極大的恐慌玻佩,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,378評(píng)論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件席楚,死亡現(xiàn)場離奇詭異咬崔,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)烦秩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,970評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門垮斯,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人只祠,你說我怎么就攤上這事兜蠕。” “怎么了抛寝?”我有些...
    開封第一講書人閱讀 168,983評(píng)論 0 362
  • 文/不壞的土叔 我叫張陵熊杨,是天一觀的道長。 經(jīng)常有香客問我盗舰,道長晶府,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,938評(píng)論 1 299
  • 正文 為了忘掉前任钻趋,我火速辦了婚禮川陆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘爷绘。我一直安慰自己书劝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,955評(píng)論 6 398
  • 文/花漫 我一把揭開白布土至。 她就那樣靜靜地躺著购对,像睡著了一般。 火紅的嫁衣襯著肌膚如雪陶因。 梳的紋絲不亂的頭發(fā)上骡苞,一...
    開封第一講書人閱讀 52,549評(píng)論 1 312
  • 那天,我揣著相機(jī)與錄音楷扬,去河邊找鬼解幽。 笑死,一個(gè)胖子當(dāng)著我的面吹牛烘苹,可吹牛的內(nèi)容都是我干的躲株。 我是一名探鬼主播,決...
    沈念sama閱讀 41,063評(píng)論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼镣衡,長吁一口氣:“原來是場噩夢啊……” “哼霜定!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起廊鸥,我...
    開封第一講書人閱讀 39,991評(píng)論 0 277
  • 序言:老撾萬榮一對(duì)情侶失蹤望浩,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后惰说,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體磨德,經(jīng)...
    沈念sama閱讀 46,522評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,604評(píng)論 3 342
  • 正文 我和宋清朗相戀三年吆视,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了典挑。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,742評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡啦吧,死狀恐怖搔弄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情丰滑,我是刑警寧澤顾犹,帶...
    沈念sama閱讀 36,413評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站褒墨,受9級(jí)特大地震影響炫刷,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜郁妈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,094評(píng)論 3 335
  • 文/蒙蒙 一浑玛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧噩咪,春花似錦顾彰、人聲如沸极阅。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,572評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筋搏。三九已至,卻和暖如春厕隧,著一層夾襖步出監(jiān)牢的瞬間奔脐,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,671評(píng)論 1 274
  • 我被黑心中介騙來泰國打工吁讨, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留髓迎,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 49,159評(píng)論 3 378
  • 正文 我出身青樓建丧,卻偏偏與公主長得像排龄,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子翎朱,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,747評(píng)論 2 361