Visual Studio代码-2020年4月更新

2020-05-08 04:12:53

欢迎使用2020年4月发布的Visual Studio代码。我们希望您能喜欢此版本中的多个更新,其中一些主要亮点包括:

通过鼠标滚轮切换编辑器标签-使用鼠标滚轮快速切换编辑器中的文件。

新的Docker Compose主题-了解如何使用Docker Compose处理多个容器。

业内人士:想尽快尝试新功能吗?您可以下载每晚的内部版本,并在最新更新可用时立即尝试。有关最新的Visual Studio代码新闻、更新和内容,请在Twitter@code上关注我们!

在这个里程碑中,我们从社区收到了很好的反馈,帮助我们识别和解决了许多易访问性问题。

我们引入了Focus Next Part(F6)和Focus Previous Part(WindowsF6(WindowsF6,LinuxShift+F6))命令,以便在工作台之间轻松导航。

现在可以访问状态栏,当聚焦时,屏幕阅读器可以阅读其内容。

在工作台中的每个列表和树小部件上引入了适当的ARIA标签,例如Open Editor、Breadcrumbs、Problems视图等等。

我们团队的首要任务之一是让Visual Studio代码成为更易访问的产品,并改善每个用户的体验,因此我们为VS代码可访问性创建了一个新的Gitter通道。我们鼓励用户加入并提供反馈,提出问题,并分享可访问性实践。

当您使用鼠标滚轮在编辑器选项卡上滚动时,当前不能切换选项卡,只能显示看不到的选项卡。现在,使用新的设置workBench.editor.scllToSwitchTabs,您可以更改行为以切换活动编辑器选项卡。

下面,当光标聚焦在编辑器选项卡区域时,如果用户滚动他们的鼠标滚轮,活动编辑器就会改变。

注意:您也可以在滚动时按住Shift键以获得相反的行为(例如,即使在scroll ToSwitchTabs设置关闭时也可以切换编辑器选项卡)。

新设置window.titleSeparator允许您更改窗口标题中使用的分隔符。默认情况下,使用破折号';-';。

我们已经为默认的深色和浅色主题更新了侧栏部分标题的样式。我们现在使用透明背景,并为每个页眉显示边框。

在打开的编辑器下面,节标题没有背景色,而VSCODE和大纲标题有上边。

VS代码中的语法突出显示通过解释文本配对语法来运行。这些语法是用特定方言编写的正则表达式编写的,可以使用oniguruma正则表达式库进行计算。到目前为止,我们已经使用了两个不同的库来计算这样的正则表达式,一个用于VS Code桌面(一个本机节点模块),另一个用于浏览器中的VS代码(一个Web程序集二进制文件)。

我们现在已经编写了一个专门的Web程序集绑定,该绑定针对我们的TextMate解释器的使用进行了优化。通过避免内部循环中的内存分配,并采用几个月前刚刚添加到oniguruma的新API,我们已经能够创建一个比之前两种方法都快的变体,并为突出显示常规编程文件提供高达3倍的性能。您可以查看拉式请求#95958更多详细信息和测量。

现在,您可以在用户设置中自定义语义主题规则。语义着色可用于TypeScript和JavaScript,并支持开发中的Java和C++。对于内置主题,它是默认启用的,并且正在被主题扩展采用。

editor.semancTokenColorCustomization设置允许用户覆盖默认主题规则并自定义主题。

上面的设置更改了默认的Dark+主题。它为参数赋予新样式(斜体和新颜色),并对默认库中的所有符号(例如,Promise、Map及其属性)加下划线。

";editor.semanticTokenColorCustomizations";:{";Enabled";:TRUE,//启用所有主题";Rules";:{//所有常量";property";:";#35166d";,//将所有符号声明设置为粗体";*.声明";:{";粗体";:true}。

默认的深色+和默认的浅色+主题现在用与可写变量不同的阴影为常量着色。

下面请注意,htmlMode和Range常量与Result变量的颜色不同。

上一个里程碑,将撤消/重做堆栈更改为在关闭并重新打开文件时保持不变。并不是每个人都想要这个新特性,所以现在有一个设置files.restoreUndoStack来禁用持久撤消。

这些命令通过向终端发送特定的字符序列来工作,这是基于终端使用的命令键绑定的最佳猜测。这些命令的问题是它们是一个黑匣子,您需要逐字搜索vscode代码库才能弄清楚它们是如何工作的。它们已经被workbich.action.Terminal al.sendSequence命令的自定义键绑定所取代,该命令以通用的方式执行相同的操作。

这些是高级键盘快捷键,不能通过键盘快捷键UI完整查看,因为它们包含参数,但您可以通过运行首选项:打开默认键盘快捷键(JSON)命令来查看它们的JSON定义:

多行粘贴在PowerShell中从来不起作用,因为VS代码总是以与键入文本完全相同的方式发送文本。如上所述,已经将几个键绑定替换为使用workBench.action.Terminal al.sendSequence命令,您可能已经注意到,仅为Windows添加了一个新的键绑定:

{";键";:";CTRL+v";,";命令";:";workbench.action.terminal.sendSequence";,";当";:";终止焦点&;&;!可访问性模式启用&;&;终止外壳类型==';pwsh';";,";args";:{";text";:{";text";:";\u0016";}},

这个新的键绑定将把表示Ctrl+V的文本直接发送到PowerShell,由PSReadLine拾取并正确处理。

新的Terminal al.Integrated.wordSeparators设置允许您自定义在终端中双击时用于分隔单词的分隔符。

在VS代码中设置调试可能是一项艰巨的任务,因为用户必须创建新的调试配置(或者至少根据他们的需要修改模板)。在我们不断努力简化调试体验的过程中,我们添加了一项新功能,该功能为调试扩展作者提供了一种分析当前项目并自动提供不需要额外用户配置的高质量调试配置的方法。

与提供构建任务的方式类似,自动调试配置在Debug视图的Configuration(配置)下拉菜单和Select and Start Debug Quick(选择并开始调试)快速选择中的相应调试器(文件夹图标)下分组。选择调试器后,VS代码将显示所有可用的自动配置。选择配置将启动新的调试会话。

下面的屏幕显示了新的JavaScript调试器(预览版)和我们的教育模拟调试程序的功能:

可以通过在快速打开(WindowsP(⌘,LinuxCtrl+P))中键入';debug';(带空格)或通过触发调试:选择并开始调试命令来打开调试快速选取。

在下一个里程碑中,我们将添加UI,以便可以轻松地将自动调试配置添加到Launch.json中进行进一步配置。

在1.44版中,我们改进了运行Tasks:Run Task命令时显示的任务选取器,方法是更改布局并使其更快。但是,根据您要运行的任务,更快的“快速挑选”确实会使任务选取器达到两个级别的深度。如果需要以前的UI,现在可以使用task.ickOpen.showAll设置禁用较快的拾取器。

以前,所有脏编辑器总是在任务运行时保存。如果您不想在运行任务时保存编辑器,现在可以使用task.saveBeforeRun配置该行为。

当您关注打字文件时,VS代码会在状态栏中显示当前的打字版本:

新的tyescript.enablePromptUseWorkspaceTsdk设置会显示一个提示,询问用户是否要切换到TypeScript的工作区版本:

要启用提示,请包括";typescript.enablePromptUseWorkspaceTsdk";:True和tyescript.tsdk作为项目的工作区设置。

Markdown文件中的编辑器链接和Markdown预览中的链接现在可以指向文件夹。单击其中一个链接将在VS代码的文件资源管理器中显示目标文件夹。

VS代码现在拥有针对GitHub存储库的自动GitHub身份验证。现在,您无需在系统中配置任何凭据管理器,即可克隆、拉入、推送到公共和私有存储库,以及从公共和私有存储库推送。即使是在集成终端中调用的Git命令,例如git推送,现在也会自动根据您的GitHub帐户进行身份验证。

您可以使用git.githubAuthentication设置禁用GitHub身份验证。您还可以使用git.TerminalAuthentication设置禁用终端身份验证集成。

新的设置git.showCommittee Input允许您隐藏Git存储库的提交输入框。

现在,在预览文件中的更改时,您可以在快速比较编辑器中进行编辑。

预览功能尚未准备好发布,但功能足以使用。我们欢迎您在开发过程中尽早提供反馈。

在过去的几个月里,我们一直在努力支持跨机器同步VS代码首选项,这一功能在Insiers发布版中可供预览。

您现在可以使用您的GitHub帐户登录以同步您的VS代码首选项。

本月,我们在新的JavaScript调试器方面继续取得进展。它默认安装在内部人员身上,并且可以从VS代码稳定的Marketplace安装。您可以通过启用debug.javascript.usePreview设置开始在现有启动配置中使用它。

您可以通过单击Call Stack视图中的new profile按钮或使用Debug:Take performance profile命令从Node.js或浏览器应用程序捕获CPU配置文件。一旦这样做了,您就可以选择配置文件将运行的时间长度:直到您停止它、持续一段时间,或者直到您遇到另一个断点。

配置文件结束后,它将保存在您的工作区文件夹中,并在VS代码中打开。如果您正在运行我们的稳定版本,您将需要安装我们的可视化工具扩展来查看它。在内部人士看来,这个扩展已经内置了。打开配置文件时,会将CodeLens添加到包含函数级别和某些热行的性能信息的文件中。与在许多其他工具中捕获的配置文件不同,录制的配置文件是源地图感知的。

当debug.javascript.usePreview打开时,VS代码的自动附加将使用js-debug提供的新方法,该方法允许所有终端以类似于调试终端的方式工作。

调试器是立即附加的,允许您在程序早期命中断点。

以前,试图从VS Code Variables视图复制复杂的值(如对象)通常会导致数据被截断或不完整。VS Code和js-debug中的更改允许我们复制完整的值。

visual Studio代码包含一组内置图标,这些图标在视图和编辑器中使用,但也可以在悬停、状态栏和扩展中使用。这些图标是产品图标,而不是文件图标,后者在整个UI中显示在文件名旁边。

VS Code附带的产品图标包含在Codicon图标字体中,并用于默认的产品图标主题。扩展现在可以提供新的产品图标主题来重新定义这些图标,并赋予VS Code新的外观。

Product Icon主题文档有更多详细信息,还有一个Product Icon主题示例。

使用TypeScript 3.9+时,VS Code的工作区符号搜索现在默认包括所有打开的JavaScript和TypeScript项目的结果。我们之前只搜索了当前活动文件的项目。

这由新的";tyescript.workspaceSymbols.scope";设置控制。要恢复旧行为,请设置:";tyescript.workspaceSymbols.scope";:";currentProject";。

航站楼中的链路进行了大修,更换了后备系统,以实现更强大的实施,从而实现:

文件夹链接支持,在资源管理器中打开文件夹或打开新的VS代码窗口。

针对不同链接类型的不同链接操作,回退到搜索工作区的Word&34;链接(基于Teral.Integrated.wordSeparators设置)。

在这里程碑式的时刻,我们继续工作,使布局更加灵活。在工作台周围移动视图允许您在活动栏中创建新图标或在面板中创建新选项卡。为了更容易理解其中一个新创建的视图容器中包含的内容,我们更新了逻辑以使其更易于理解。

现在,当您拥有自定义容器时,我们将继承第一个可见视图的标题和图标。这将允许您通过重新排列视图来更改它。对于内置或来自扩展的容器,我们将尝试尽可能长时间地保留此图标。下面当一个新视图被放在视图容器的顶部时,它的图标和标题都会更新。

最后,您现在可以在一次移动中移动您的自定义容器和所有包含视图。下面的短片显示了将终端和输出视图组合拖动到活动栏中。

远程开发扩展的工作仍在继续,它允许您使用容器、远程计算机或Windows Subsystem for Linux(WSL)作为功能齐全的开发环境。

您可以在Remote Development发行说明中了解新的扩展功能和错误修复。

以前名为GitHub Pull Requests";的GitHub Pull Requests and Issues扩展已经让您在VS Code中管理和审查Pull请求一年多了。现在,扩展包括对GitHub问题的支持。

开始处理问题的操作,它创建一个分支并填充提交消息。

下面的短视频演示了如何在GitHub上发布到新的私有存储库,并提供了在文件成功上传后在GitHub上浏览回购的选项。

有关更多信息,您可以阅读最近的GitHub问题集成博客文章和使用GitHub文档。

VS代码团队正在致力于笔记本的本机支持。现在使用的最流行的笔记本是Jupyter笔记本,在调查它们的同时,我们开始寻找构建一种公正的、支持不同风格笔记本的笔记本解决方案的方法。

其中一个笔记本是GitHub Issue Notebook扩展,它允许您管理问题和拉入请求搜索,并以内联方式呈现结果:

这一扩展仍在开发中,只适用于VS代码内部人员,但有了它,您可以第一手体验笔记本,并为我们提供反馈。

更改了现有的颜色editorGroupHeader.tabBox,以在编辑器选项卡下方但在面包屑上方呈现一个边框。新的颜色editorGroupHeader.edge允许您在编辑器组标题下方呈现边框(例如,如果启用,则在面包屑下方),以恢复editorGroupHeader.tbusBording.之前的行为。

2019年6月,针对事件流事件,我们将vscode模块拆分为@Types/vscode和vscode-test。今天,Minimist的安全警报已经对仍然依赖于vscode的扩展发出了安全警报,而vscode依赖于[email protected],因此也就依赖于[email protected]。不幸的是,[email protected]不再接收更新,升级到新的mocha版本会破坏现有功能。

我们发布了新版本的vscode,删除了一些不必要的依赖。我们还对存储库进行了归档,并在NPM上弃用了vscode模块。请迁移到@type/vscode和vscode-test。

vscode.CompletionItemKind有两个表示问题和用户的新条目。例如,它们可用于在添加TODO标记时建议用户名。

我们已经添加了一个vscode.Uri.joinPath实用程序。它是一个工厂函数,通过将路径段与现有URI连接起来来创建新的URI。可以将其视为Node.js&#js';path.join实用程序,但不适用于URI。

对于扩展,VS代码公开通过Extension.extsionUri和ExtensionContext.extsionUri安装扩展的URI。使用Join实用程序,您现在可以为扩展的资源创建URI。

VS代码现在支持对DEBUG/CALLSTACK/Context Menu内联组的贡献。当用户将鼠标悬停在Debug会话元素上时,将在调用堆栈中以内联方式呈现贡献给此组的命令。

debugView.exceptionLabelForeground:调试器在异常中断时在调用堆栈视图中显示的标签的前景色。

debugView.exceptionLabelBackground:调试器在异常中断时在调用堆栈视图中显示的标签的背景色。

debugView.stateLabelForeground:调用堆栈视图中标签的前景色,显示当前会话或线程的状态。

debugView.stateLabelBackground:调用堆栈视图中标签的背景色,显示当前会话或线程的状态。

debugView.valueChangedHighlight:用于高亮显示Debug视图(例如,Variables视图)中的值更改的颜色。

debugTokenExpression.name:Debug视图(例如,Variables或Watch视图)中显示的令牌名称的前景颜色。

当调用SourceControlResourceState.command命令时,将传递一个额外的presveFocus:boolean参数,它允许扩展作者提供更好的用户体验。

扩展现在可以使用SourceControlInputBox.Visible属性控制每个存储库的Source Control输入框的可见性。

Git扩展API现在允许其他扩展提供远程源,以便参与git:clone命令。

扩展了Git扩展API,以便扩展可以提供身份验证凭据,以便对工作台和集成终端内的HTTPS Git存储库调用的Git命令进行身份验证。

SignatureInformation上的新activeParameter属性允许您为每个签名单独指定active参数。如果提供,它将重写顶级SignatureHelp.activeParameter属性。

//在VS代码1.44中有效常量发射器=new EventEmitter<;number>;();发射器。事件((x:number)=>;控制台。log(X));//不带参数调用fire是合法的,但导致上面的`x`为`unfined`发射器。火警(Fire);

在VS代码1.45中,Fire现在需要一个参数。如果您仍然希望在源代码中不带参数地调用.fire(),请使用新的EventEmitter<;void>;。

该规范的3.16版本的工作已经开始。作为第一步,调用层次结构支持移出了提议的状态。请注意,3.16规范尚未最终定稿,根据反馈,可能仍会更改。

每一个里程碑都伴随着

..