VS Code 1.45發佈,更好的Debug,更好的編碼體驗,更好的Github集成,JS調試器,終端改進,滾動切換選項卡

VS Code 1.45

這次發佈的VS Code 版本爲1.45,主要更新以下:javascript

  • 可訪問性改進:聚焦命令導航工做臺,狀態欄可訪問性。
  • 經過鼠標滾輪切換編輯器選項卡
  • 更快的語法高亮顯示 :編程語言的着色速度提升了3倍;
  • 用戶可自定義語義顏色
  • 支持GitHub認證
  • GitHub IssueUser 提供內聯管理;
  • 遠程開發,容器配置建議,支持WSL 2

如下即是詳細內容:java

工做臺

使用鼠標滾輪切換選項卡git

在設置中新增了一項設置:workbench.editor.rollToSwitchTabs,開啓後,即可以經過鼠標滾輪切換編輯器中打開的選項卡;github

當你把鼠標焦點移動到編輯器標籤頁所在的區域,並開始滾動鼠標滾輪時,打開的標籤頁便會切換到編輯器中打開的其餘的選項卡,詳情以下:web

使用鼠標滾輪切換選項卡

在鼠標滾輪滾動的同時,按下shift鍵,選項卡就會向相反的方向切換。typescript

自定義窗口標題分隔符編程

默認狀況下,使用"-"做爲窗口標題中使用的分隔符,如今,設置中的新設置項:window.titleSeparator,可用於修改窗口標題中使用的分隔符;json

自定義窗口標題分隔符

在圖中,紅線標註的即是窗口標題中使用的分隔符。編程語言

修改了側欄標題的默認主題編輯器

爲默認的深色和淺色主題更新了側欄部分標題的樣式,在使用透明背景時,併爲每一個標題顯示一個邊框:

修改了側欄標題的默認主題

在上圖中,除了OPEN EDITORS欄目沒有邊框外,其他的幾個欄目都有一個明顯的邊框。

編輯器

語法高亮顯示

此版本便編寫了一個專門的 Web Assembly綁定,爲TextMate解釋器的使用作了大量的優化,採用了幾個月前剛剛添加到oniguruma的新API;在高亮顯示常規編程文件方面的性能提升了3倍。

自定義語義主題規則

在設置中的editor.semanticTokenColorCustomizations屬性能夠在用戶設置中自定義語義主題規則,語義着色適用於TypeScriptJavaScript,對JavaC++的支持正在開發中;它默認爲內置主題啓用,並被主題擴展所採用。

語義令牌樣式

上面的設置更改了默認Dark +主題;它爲參數(斜體和新顏色)賦予了新的樣式,並在默認庫中爲全部符號(例如PromiseMap及其屬性)加了下劃線:

上面的設置更改了默認Dark +主題

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

Default Dark+Default Light+主題的顏色常量與可寫變量的陰影不一樣,下面就是一個例子:

Default Dark+ theme

Default Dark+ theme

Default Light+ theme

Default Light+ theme

禁用永久性撤消

設置項中的:files.restoreUndoStack,用於禁用持久性撤消。在關閉文件並從新打開文件時持久保留的「撤消/重作」堆棧,能夠經過files.restoreUndoStack禁用該功能。

Integrated Terminal

刪除了幾個與提示符相關的命令

workbench.action.terminal.deleteWordLeft
workbench.action.terminal.deleteWordRight
workbench.action.terminal.deleteToLineStart
workbench.action.terminal.moveToLineStart
workbench.action.terminal.moveToLineEnd

它們已經被替換成了workbench.action.terminal.sendSequence命令的自定義鍵綁定,該命令以通用的方式作一樣的事情。

被刪除的與提示符相關的命令

支持在PowerShell中粘貼多行文字

workbench.action.terminal.sendSequence命令中有一個新的鍵綁定只適用於Windows,這個新的鍵綁定支持將Ctrl+V的文本直接發送到PowerShell,並由PSReadLine接收並正確處理:

支持在PowerShell中粘貼多行文字

使用這個新的鍵綁定以前和使用以後有着明顯的差異:

使用這個新的鍵綁定以前和使用以後

定義雙擊分隔符

設置項中terminal.integrated.wordSeparators設置可容許自定義在終端中雙擊時用於分隔單詞的分隔符,默認狀況下,該分隔符爲:

默認的雙擊分隔符

Debugging

自動debug配置

新的JavaScript調試器

上圖即是新的JavaScript調試器預覽和Mock Debug,該自動調試能夠經過在快速打開(Ctrl+P)中輸入'debug'(帶空格)或觸發Debug.Debug.Debug Quick Pick命令打開,選擇並開始調試命令。debugUI界面將在下一版本中提供。

Task

禁用更快的快速選擇

設置項中的task.quickOpen.showAll可用於設置禁用快速選擇器,用以換回以前版本的快速選擇器UI,由於在1.44版本中,運行任務時顯示的任務選擇器被作了一些修改。

運行保存

設置項中的task.saveBeforeRun可用於配置運行保存,用以免在運行前保存編輯器。

Languages

TypeScript狀態欄條目

VS Code在狀態欄中顯示當前的TypeScript版本:

VS Code在狀態欄中顯示當前的TypeScript版本

單擊TypeScript版本會彈出適用於當前TypeScript項目的命令:

適用於當前TypeScript項目的命令

提示用戶切換到TypeScript的工做區版本

設置項:typescript.enablePromptUseWorkspaceTsdk,設置爲true後會有一個提示,詢問用戶是否要切換到工做區版本的 TypeScript

提示用戶切換到TypeScript的工做區版本

Markdown連接到文件夾

Markdown文件中的編輯器連接和Markdown預覽中的連接如今能夠指向文件夾,點擊這些連接中的一個,就能夠在VS Code的文件資源管理器中顯示目標文件夾。

Source Control

針對GitHub倉庫的GitHub認證

VS Code如今能夠自動對GitHub倉庫進行GitHub認證,你如今能夠克隆、拉取、推送代碼到Github倉庫,而無需在系統中配置任何證書管理器。即便是在集成終端中調用的Git命令,例如git push,如今也會自動對GitHub帳戶進行身份驗證。

也能夠經過設置項:git.githubAuthentication來禁用 GitHub 認證,能夠經過設置項:git.terminalAuthentication 來禁用集成終端驗證。

隱藏Git提交輸入框

設置項:git.showCommitInput 能夠隱藏 Git 代碼倉庫的提交輸入框。

內聯差別可編輯
當預覽文件中的發生更改時,能夠在快速差別編輯器中進行編輯。

內聯差別可編輯

JavaScript調試器

能夠從VS Code stable中的Marketplace安裝這個新的JavaScript調試器,而後經過設置項: debug.javascript.usePreview 來啓用這個新的JavaScript調試器。

JavaScript調試器

自動附加集成

設置項:debug.javascript.usePreview,用於打開自動附加集成,該功能將使用js-debug提供的新方法,該方法容許全部終端的工做方式像Debug Terminal同樣。

對現有調試器的自動附加的改進以下:

  1. 當即鏈接調試器,使在程序的早期達到斷點;
  2. 子進程將自動調試;
  3. 自動附加期間沒有過程輪詢開銷;

從變量視圖中複製混合值

在以前的版本中,會嘗試從VS Code Variables視圖複製混合、複雜的值(如對象),這樣一般會致使數據被截斷或不完整,而VS Codejs-debug中的更改讓咱們可以複製完整的值:

可以複製完整的值

圖標主題

Visual Studio Code包含一組內置圖標,這些圖標在視圖和編輯器中使用,也能夠在懸停器,狀態欄和擴展名中使用。 這些圖標包含在Codicon圖標字體中,用於默認的產品圖標主題。

圖標主題

在全部打開的項目中搜索TypeScript/JavaScript符號

當使用TypeScript 3.9+時,VS Code的全局符號搜索默認搜索全部打開的JavaScriptTypeScript項目的,以前的版本默認搜索當前項目;由於此項功能爲默認選項,因此若是想要恢復以前版本的操做,可經過設置項:"typescript.workspaceSymbols.scope": "currentProject"來完成。

改進了終端中的連接顯示

對終端中的連接支持作了一次大修改,終端中的連接功能更增強大:

  1. 可以更好的進行webfile:// 連接檢測;
  2. 支持文件夾連接,能夠在資源管理器中打開文件夾,也能夠打開一個新的VS Code窗口;
  3. 針對不一樣類型的連接類型有不一樣的連接操做,從連接回退到搜索工做空間的連接的「字符」可經過設置項:terminal.integrated.wordSeparators來設置;
  4. 相似於編輯器中代碼高亮的連接顯示;

終端中的連接

動態顯示icon和標題

容許在工做臺上移動視圖時在活動欄或面板中的新選項卡上建立新圖標,當建立一個自定義容器時,將會使用第一個可見的視圖的標題和圖標做爲容器的標題和圖標,並容許經過從新排列視圖來改變它。下面的圖中:當一個新的視圖被放置在視圖容器的頂部時,它的圖標和標題會被更新。

動態顯示icon和標題

而後能夠移動自定義容器及其全部包含的視圖,在下面的圖中顯示了將終端和輸出視圖組合後拖入活動欄中:

移動容器和視圖組合

擴展貢獻

遠程開發

繼續遠程開發的擴展開發,以容許你使用容器、遠程計算機或WSL做爲一個全功能的開發環境;在此版本中有很多亮點:

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

GitHub Pull Requests and Issues

在以前的版本中,可在VSCode中執行GitHub Pull Request,在此版本中,不只支持Pull Request,還支持Issues

Issue的支持包括:

  1. #-referenced issues@-mentioned users(說起的用戶)提供懸停支持;
  2. 列出issue和用戶的內聯建議;
  3. 自定義查詢issue
  4. 能夠從issue直接開始處理問題,並建立一個分支,而後自動填寫commit message

此外,還提供了對代碼倉庫的支持:

  1. 從遠程代碼倉庫克隆源代碼;
  2. 提交一個新版本到Github

下面的圖中演示了在GitHub上發佈到一個新的私有倉庫,上傳成功後,就能夠直接GitHub上瀏覽代碼倉庫:

在VSCode中提交發布

GitHub Issue Notebooks

提供了GitHub Issue Notebooks擴展,用以管理issuepull request搜索,並對管理進行內聯渲染;

GitHub Issue Notebooks

debug/callstack/context菜單內聯組

支持對debug / callstack / context菜單內聯組的貢獻,當用戶將鼠標懸停在Debug Session元素上時,將在調用堆棧中內嵌呈現給該組的命令。

debug/callstack/context菜單內聯組

自定義的編輯器二進制API

從新實現了二進制自定義編輯器的擬議API,並自定義編輯器擴展到二進制文件格式,而後就能夠在編輯器中打開二進制文件了,好比:圖片、十六進制轉儲等:

自定義的編輯器二進制API

輔助功能

  1. 引入了聚焦上一部分F6)和聚焦下一部分Shift + F6)的快捷鍵操做,能夠在編輯器工做臺導航之間快速切換;
  2. 當鼠標焦點移動到狀態工具欄時,屏幕閱讀器能夠讀取焦點對準的內容;
  3. 在編輯器的工做臺中的的每一個列表和樹形工具中引入了ARIA標籤,能夠打開編輯器、麪包屑、問題視圖等;

這次發佈的VSCode 1.45亮點衆多,也有很多的改進,VSCode愈來愈好了,也愈來愈受更多開發者的青睞,若是有感興趣的小夥伴,不妨能夠下載嘗試一番。

此外,VSCode還提供了豐富的擴展API和調用文檔,開發者們除了能夠做爲VSCode的使用者外,也還能夠做爲開發者,利用官方提供的擴展API,開發出基於VSCode運行的插件,拓展出本身想要的功能,除了給本身用,能夠開源出來給更多的開發者使用。

完結,老夫雖不正經,但老夫一身的才華!

相關文章
相關標籤/搜索