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运行的插件,拓展出本身想要的功能,除了给本身用,能够开源出来给更多的开发者使用。

完结,老夫虽不正经,但老夫一身的才华!

相关文章
相关标签/搜索