Visual Studio代码4月2021年4月

2021-05-06 06:06:29

下载:Windows:用户系统臂| MAC:通用64位ARM64 | Linux:Snap Deb RPM Tarball Arm

欢迎来到4月2021年的Visual Studio代码发布。 VS Code团队本月一直忙于几个更长的提前时间更新,因此请查看预览功能部分以学习什么'即将到来。以下是此版本中包含的一些亮点:

新的介绍性视频 - VS代码入门以及使用C ++的视频。

终端选项卡预览 - 使用新的标签视图获取管理打开终端的首次查看。

加入我们住在5月11日星期二的VS Code Team'星期二,在星期二,在星期二(伦敦下午4点),看看这个发布中的新的新手,并询问我们的问题。

内部人士:想要尽快尝试新功能吗?您可以下载夜间内部人员构建,并尽快尝试最新更新。

我们已将鼠标悬停反馈更改为Workbench周围的动作,以提供更好的UX周围的可点击操作。

我们注意到,许多新用户不知道必须设置一种语言以获得完整的VS代码语言支持。为帮助解决此问题,我们向未列出的编辑推出了一个提示,以帮助用户设置正确的语言模式。无标题的提示可能对高级用户没有有帮助,因此在开始打字时会立即消失,或者您可以选择Don' T显示以再次显示提示。

如果您有两个代码人,它们应该是资源的默认编辑器(例如,图像查看器和图像编辑器),您将收到提示来解决冲突。

在下面的短视频中,用户打开一个与两个编辑器相关联的PNG文件。通知允许用户继续使用Luna Paint Image Editor或配置新的默认值,并使用二进制十六进制编辑器开始。

我们已经更新了我们的自定义对话框样式,您可以通过&#34启用;窗口.Dialogstyle&#34 ;:"习惯"。 VS代码现在调整后台,因此在对话框上更好地侧重于对话框,并且在有多个动作时也使用辅助按钮样式。

您现在可以配置VS代码以自动更新仅启用的扩展。

最后迭代,我们引入了终端配置文件。终端现在支持使用终端设置默认配置文件。integrated.defaultprofile。< platform>设置。

"终端。integrated.profiles.windows" :{ " powershell" :{ "来源" :" Powershell"那 "覆盖者和#34; : 真的 , "图标" :"终端 - Powershell"那 " env" :{ " test_var" :"价值" } } }, "终端。integrated.defaultprofile.windows" :" Powershell"那

展望未来,这些设置是切换默认终端配置和终端的推荐方式。integrated.shell和terminal.Integrate.shellargs设置已被推荐。

配置文件和设置快捷方式已将下拉列表移出并进入新+按钮。

与始终一样,可以删除这些默认键绑定,或者可以通过键绑定系统添加自定义键键。

新命令workbench.action.terminal.pasteSelection可在Linux上使用,从选拔剪贴板粘贴到终端中。

任务2.0.0已提供,工作良好三年多,并在此时弃用了0.1.0的任务。根据我们的node.js-free渲染器目标,已删除0.1.0的任务,而不是带入Node.js的世界。打开包含0.1.0任务的文件夹时,它们将自动升级为2.0.0版给您。

使用新的终端选项卡功能时,"任务"将不再将前缀添加到终端名称中。相反,任务由&#34表示;工具"图标可以更好地利用可用空间。

对于数据断点,VS代码现在显示了访问类型(" read""写"或"访问")在断点视图中的名称旁边。

对于异常断点,VS代码现在在断点视图中显示了他们的个人验证状态和详细原因。如果无法验证异常断点(例如,因为其条件包含语法错误),它将被灰色,并且在悬停时,显示相应的错误消息。

通常通过调试程序停止调试会话:stop和debug:disconnect命令。如果调试会话为类型启动,则停止命令不仅停止会话,但它还终止了DEWUGGEE。对于附加类型调试会话,有一个断开连接命令,该命令停止调试并恢复执行的DEBUGGEEE。

使用此版本,现在可以通过按ALT修改器从调试工具栏触发命令时通过按ALT修改器重新触及此行为。更改行为使得可以将Dewuggee留出为启动类型调试会话,并终止DEWUGGEE用于附加类型调试会话。除了使用默认命令的Alt,还可以访问Debug:stop和debug:stopect调色板的命令,用于启动和附加调试会话。

替代行为仅适用于选择此功能的调试扩展。

如果用户想要启动调试但是安装了提供调试支持的必要语言扩展(如Python或Java),我们已经改进了流程。发生这种情况时,VS代码现在会提示用户安装适当的扩展名。

VS代码现在每次停止在一行中停止调用堆栈列指示符。这应该有助于识别程序目前停止的行上的位置。

VS Code' S调试器UI支持在源代码上踩下时在编辑器中显示变量值的内联值。此功能基于VS Code Core中的通用实现,因此可能不是所有语言的完美拟合,甚至有时显示不正确的值,因为通用方法并不了解底层源语言。由于这些原因,默认情况下未启用该功能。

使用新的调试器扩展API,现在可以为语言扩展提供正确的内联值支持,并且我们默认情况下启用改进的内联值。

要启用此功能,Debug.inlineValues设置具有新的(默认值)Auto。设置为自动时,为具有&#34的语言自动启用内联值;改进的内联价值"支持。

用于Java扩展的调试器是采用API的第一个调试器扩展之一。在下面的屏幕截图中,Java变量的准确值在其使用旁边显示。

您可以使用Inline值支持PowerShell扩展程序调试PowerShell脚本时获得内联值。

debug.opendebug设置的默认值现在是OpenOndebugBreak,以便在每个断点命中,VS代码将打开调试视图。调试视图也会在第一次会话开始时显示。

基于启发式信息,VS代码将显示一个通知,该通知建议打开断点诊断工具,如果它检测到用户可能无法绑定断点。

当我们尝试其效力和自信时,此提示最初将仅可见于用户的子集。

您现在可以暂时切换来自Cell工具栏中当前会话中的单元格号的线路编号,或者通过笔记本内设置更改所有笔记本的行号的可见性.LinEnumbers设置。

Cell工具栏位置现在可以通过Notebook.celltoolbarlocation设置每份文件类型自定义。例如,您可以为GitHub发行笔记本电脑的右侧有单元格工具栏,但左侧有jupyter笔记本电脑。

VS代码使用KATEX呈现方程式。有两种方法可以将数学方程嵌入到标记单元中:

我们使用实验笔记本标记渲染API实现了数学支持,仍在开发中。我们的最终目标与此API也允许扩展扩展笔记本中的渲染。

New Markdown.preview.typographer设置允许您在内置Markdown预览中启用智能报价和简单的印刷替代品。

在下面的示例中,诸如(c)之类的标记文本被版权符号自动替换在预览中:

终端中的选项卡可作为预览功能可用,可以使用以下设置启用:

启用后,当存在至少两个终端时,新的选项卡视图将仅显示默认值。对于单个终端,标签为"内衬"进入面板标题,如下所示:

我们试图对齐新标签如何表达资源管理器如何运作。以下是其他一些行为:

双击窗扇将在&#34之间切换选项卡视图宽度;理想"显示所有标题的大小而不截断,窄视图,仅显示图标。

除了标签外,我们已经向终端推出了状态的概念。终端可以具有许多状态,每个状态表示终端可以临时临时的状态,并且在标签旁边显示最高严重性。状态图标显示在选项卡视图中终端标题的右侧。在悬停中,提出了状态和任何相关操作的详细信息。

需要重新启动:如果一个扩展想要更改终端和#39的环境,则使用警告图标状态。

断开连接:当终端失去其处理时,使用插头图标状态。

贝尔:通过终端启用贝尔时出现铃声图标。integrated.enablebell设置和终端铃声触发器。

我们计划很快支持任务状态,以便即使在不激活选项卡,即使在不激活选项卡时也可浏览任务运行状态。

我们已经扩展了演练的贡献,以便在入门页面上放置内容,以允许在步骤描述和步骤主内容中进行崩扫。扩展到入门页面的延期贡献是一个实验功能,可以使用" workbench.welcomepage.expertiment.extension":true。

短视频屏幕显示一个示例演练,以教导用户有关Luna Paint Extension的用户。

在这个里程碑中,我们为活动栏和面板中添加了对定制烤盘的实验支持。您可以使用设置工作台启用自定义寄存.Experishive.usecustomhover。

作为此版本的一部分,我们正在预览新的内置扩展,远程存储库(Remotehub),它允许您直接从VS代码内直接浏览,搜索,编辑和提交到任何Github存储库,而无需克隆或拥有在本地存储库。它目前仅在VS代码的Insiders版中提供。

要开始,请从命令调色板运行打开的远程存储库...命令。从那里,您可以粘贴在任何GitHub URL中,或选择搜索特定的存储库或拉拔请求。

输入URL或选择存储库或拉拔请求后,VS代码将为该存储库打开新的工作区。远程状态指示灯在状态栏的左侧显示连接的远程提供商名称,例如Github,用于远程存储库。

易于编辑和贡献任何GitHub存储库 - 直接将更改提交给GitHub,或打开拉出请求。

继续在另一个环境中 - 通过继续on ...命令(可从命令调色板或远程指示灯快速选择菜单)。

提供类似于在本地存储库上工作的熟悉的用户界面(*查看"限制"下面)。 源控制 - 阶段并提交更改,以及许多其他源控制操作

远程指示器 - 显示远程存储库连接到的提供程序(例如,GitHub)

同时在不同的分支上工作 - 每个远程分支都像一个单独的工作群(在git parlance中)被视为,这意味着您所做的任何更改都被隔离到该分支。您不需要删除您的更改只是为了切换到新分支,以便在新的工作项上结账或开始。当您返回上一个分支时,您的更改仍将存在。

安装GitHub Pull请求和问题扩展,并快速查看,浏览和结帐请求,查看和开始工作。

有限的语言情报 - 许多语言服务器Don' t但是了解这个虚拟化环境。 TypeScript支持远程存储库的单个文件智能。

有限的扩展支持 - 与语言服务器一样,许多扩展Don' t与远程存储库一起工作。扩展可以选择退出,不会为虚拟工作空间激活。有关详细信息,请参阅下面的扩展创作部分。

搜索 - 全文搜索需要预先构建的索引进行精确的文本匹配,否则它将返回到Github' s模糊默认分支的本机搜索。

我们非常兴奋地与远程存储库(Remotehub)一起玩,可以等待您的想法和反馈。我们刚刚开始这一旅程,因此希望该功能集成长,并随着我们继续开发的缩减限制。我们还将扩展支持的提供商集。 GitHub只是我们支持的第一个提供商,即将推出澳大利亚州。

此版本继续提高我们对即将到来的类型标准4.3发布的支持。您可以在打字博客上阅读Ringscript 4.3中的新语言功能和改进。以下是其启用的一些编辑器改进:

导入语句完成。这就像自动导入,除了您在Import语句本身中键入。

要开始使用TypeScript 4.3夜间构建,只需安装盗版夜间扩展名。请分享您的反馈并告知我们是否遇到包含键盘4.3的任何错误。

在最后的里程碑' S发行说明中,我们分享了专门为推广作者的工作区信任的工作。我们在扩展API和用户体验中取得了很大的进展这个里程碑。据说,工作区信任将仍然禁用此版本,但我们很乐意为您提供尝试并提供反馈。

您可以使用以下设置安全性启用该功能.workspace.trust.enabled。启用后,您将在打开VS代码中的文件夹时看到以下对话框。

此对话框对于允许用户提前做出决定并理解其决定的影响非常重要。了解该功能后,您可能希望使用security.workspace.trust.startupprompt设置来自定义显示对话框。

工作继续在远程开发扩展中,允许您使用用于Linux(WSL)的容器,远程计算机或Windows子系统作为全功能开发环境。

您可以了解远程开发发行说明中的​​新扩展功能和错误修复。

工作继续在GitHub拉拔请求和问题扩展名上,这允许您工作,创建和管理拉出请求和问题。

要了解所有新功能和更新,您可以看到分机0.26.0发布的完整变更。

新的远程存储库扩展名允许您直接从Github打开包含内容的文件夹。它通过提供虚拟文件系统并在其上打开工作空间来实现。其他扩展是一样的。它们来自FTP服务器的内容,从云存储或从数据库中服务,并无缝地将其作为文件提供给VS代码中的用户。

虚拟文件系统功能已存在一段时间,但是我们观察到并非所有扩展都可以支持在虚拟工作空间中运行,其中工作区文件在磁盘上不存在。因此,我们已添加对扩展的支持,以发出信号是否支持在虚拟工作区中运行。当扩展选择未选择时,它不会被VS代码激活虚拟工作空间,用户不会看到此扩展名的错误。

扩展名从Package.json中的虚拟工作空间设置中选择退出,如下所示:

目标是,尽可能多的扩展作为在虚拟工作空间中运行的可能性。但是,这并不总是可以的,特别是当扩展使用假设文件的组件时,这是一个。虚拟工作空间指南文档的扩展如何支持虚拟工作空间。

调用Action:请检查您的扩展名是否可以处理虚拟工作空间,并在Package.json中相应地设置VirtualWorkspaces功能。

将有过渡期限,直到扩展已采用新的VirtualWorkspaces属性。在此之前,我们维护一个内部列表,以便我们认为将VirtualWorkspaces功能设置为False。这是基于分析扩展使用Node.js FS模块的分析,因此直接访问文件系统。但是,扩展作者处于更好的位置,以评估扩展是否支持VirtualWorkspace功能。要跟踪采用,我们创建了以下跟踪问题#122836。如果您的分机位于列表中,并且您已采用VirtualWorkspaces功能,请在上述问题中添加评论。

"贡献" :{ "菜单" :{ " statusbar / remedicinicator" :[ { "命令" :" remote-wsl.newwindow"那 "何时" :"!remotename&&是iswindows"那 "小组" :" remote_10_wsl_0_local @ 1" } ]}, "命令" :[ { "命令" :" remote-wsl.newwindow"那 "标题" :"新的WSL窗口和#34;那 "类别" :"远程WSL" } ] }

要允许菜单根据提供程序对条目进行排序,该组需要遵循特定语法:

自从WebView API首次引入以来,我们使用电子&#39的WebView标记实现了WebView。然而,在网络上,使用标准< iframe&gt来实现VS Code' s webview。元素以来< webview>不可用。

我们一直在探索迁移桌面版本的VS代码以使用< iframe>备份WebViews一段时间,因为此更改将为扩展提供桌面和Web之间更一致的WebView环境。迁移< webview>还将有助于我们的电子沙箱努力。

此迭代,我们已将大多数WebViews切换到使用iframe。 < webview>标记现在仅用于启用查找窗口小部件的WebView,我们计划在更高的工程工作后迁移它们以使用iframe。

这种变化不应导致问题,但是存在一些角落函数,其中< iframe>和< webview>元素有所不同。请务必为您的延伸提供快速测试通行证,以验证所有内容是否正常工作。

一个清晰的好处< iframe>返回的webviews是他们现在更容易检查。

如果您以前使用WebViews&#39工作,您可能会记得您必须使用开发人员:打开WebView Developer Tools命令来检查WebView的内容。这将为WebView打开一个新的开发人员工具面板。

使用< iframe>返解WebViews,您可以使用VS代码和#39; S标准开发人员工具(开发人员:切换开发人员工具)来检查WebViews。

这使得它变得简单 ......