彩票走势图

Rider 最新版本v2020.1发布,增加对C#8语言功能的支持等二十余项功能改进(上)

原创|产品更新|编辑:吴园园|2020-04-22 13:57:31.880|阅读 824 次

概述:Rider 2020.1现在默认在macOS和Linux上在.NET Core运行时上运行后端,并提供Xamarin Hot Reload和动态程序分析。它引入了一种简单的方法来配置编辑器的严重性,并增加了对整数值的数据流分析以及更快的代码完成速度。调试窗口已被重新处理,并且提取类重构和覆盖率过滤器现在可用。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Rider是一个全新的基于IntelliJ平台和ReSharper的C# IDE。Rider 2020.1现在默认在macOS和Linux上在.NET Core运行时上运行后端,并提供Xamarin Hot Reload和动态程序分析。它引入了一种简单的方法来配置编辑器的严重性,并增加了对整数值的数据流分析以及更快的代码完成速度。调试窗口已被重新处理,并且提取类重构和覆盖率过滤器现在可用。接下来让我们看看Rider 2020.1究竟带来了哪些改进!

点击下载Rider最新版本2020.1

推荐阅读:Rider 最新版本v2020.1发布,增加对C#8语言功能的支持等二十余项功能改进(下)

一、后端在.NET Core运行时上运行

向Rider .NET Core版打个招呼!后端最终默认在macOS和Linux上的.NET Core运行时上运行,而不是在Mono运行时上运行。您会立即注意到:

  • 更好的性能。
  • 较低的内存占用量。
  • NuGet恢复现在是多线程的(不是像Mono那样的单线程)。这意味着,如果您具有4个逻辑核心的CPU,则速度快4倍;如果您具有8个逻辑核心的CPU,则速度快8倍……您就明白了。
  • 并拆除了其他许多Mono限制。

顺便说一下,当前的.NET Core版本是最新的也是最出色的3.1,与3.0 版本相比,它在性能上有很多改进。

请注意,目前没有Windows支持,只有macOS和Linux。我们计划在今年晚些时候添加Windows支持。

如果您在.NET Core上运行的Rider后端遇到任何问题,并且想要移回Mono运行时,请选择“ 帮助” |“替代”。将IDE运行时切换到Mono。

Rider 最新版本v2020.1发布,增加对C#8语言功能的支持等二十余项功能改进(上)


二、Xamarin Hot Reload

Xamarin Hot Reload的初始支持在这里!现在,Rider会在设备或模拟器上调试时自动将Xamarin Forms XAML中所做的更改应用于应用程序,而无需重建和重新部署整个应用程序。

请注意有一个限制:如果具有Rider的PC /笔记本电脑和iOS 设备不在同一个WiFi网络中,则即使iOS设备通过USB连接到PC /笔记本电脑,热重加载也无法工作。

除此之外,Xamarin支持得到了一个重要修复:在iPhone XS Max设备 上运行Xamarin.iOS项目时,不再出现“ Invalid target architecture'arm64e' ”错误。

三、动态程序分析(DPA)

我们很高兴介绍动态程序分析。每次在Rider中运行项目时,DPA都会开始收集内存分配数据。关闭应用程序后,DPA将向您显示检测到的问题的列表: 关闭,以及分配给大型和小型对象堆。很棒的是,您无需启动任何“性能分析会话”并获取快照。照常工作,所有数据都将在后台收集,而开销几乎为零。测试中在各种实际解决方案上的DPA已显示出仅0%到2%的速度下降。

请注意:DPA仅在Windows上可用,并且不需要单独的许可证即可激活它。

四、整数值的数据流分析

此版本的Rider引入了一种新型的代码分析,以跟踪应用程序中整数值的使用。这种新的分析类型跟踪所有int局部变量的值如何变化,并验证对此类变量的所有常规操作的正确性,以检测无用或可能错误的代码段。即,它会警告您:

  • 关系/平等经营者总是给予true或false结果。
  • 启发式无法到达的switch案例检查int值。
  • 毫无意义的算术运算,例如乘以1,加法 0等。
  • 可能的int溢出。
  • 可能除以0。

为了提高分析的准确性,我们还添加了两个新的JetBrains.Annotations 属性,用于类型成员和类型参数int:[NonNegativeValue] 和[ValueRange(from, to)]。这些属性指定特定int成员的值在运行时如何变化。

五、Unity支持
  • 我们在内存使用和资产索引编制速度方面进行了重大改进。现在,Rider会在查看资产之前为所有代码建立索引,这意味着所有生产力功能(例如代码完成,突出显示和检查)都可以比以前更快地使用。资产索引 在加载解决方案之后,当您继续工作时,该操作将继续进行,一旦建立索引,Rider会发现用法,甚至在资产内部重命名。当然,一旦完成,索引将不断更新,仅查看新更改的文件。
  • 资产索引现在也变得更加智能。它了解嵌套和Variant预制中的代码用法 ,并显示ScriptableObjects 序列化字段的用法和值。
  • 单元测试发现现在可以更好地与Unity项目一起使用,而Rider会自动在项目中查找所有“ 编辑”模式和“ 播放”模式测试。
  • 我们添加了一个新的性能检查,即“将锯齿状的阵列优先于多维的阵列 ”,以证明在热路径中具有更好的性能。这是一个微优化,因此仅在性能至关重要的上下文中才建议使用,例如Update方法或从Update调用的任何内容 。
  • 骑手将不再为Unity项目建议Boo.Lang.List或 System.Diagnostics.Debug在其代码完成中提出建议。
  • 我们在“ 生成”对话框中调整了事件函数的顺序,以首先放置最重要的方法。从Alt+Enter 菜单生成函数时,它们也会在正确的位置生成。

六、C#支持

我们将继续增加对C#8语言功能的支持。我们已经在C#语言支持下进行了大量重构,以准备代码分析和其他功能,例如重构和ReSharper Build,以支持可为 空的引用类型(NRT)。在Rider 2020.1中,代码分析报告与可空引用类型有关的编译警告,并为大多数警告 提供快速修复。 

还有一些新的检查和快速修复:

  • 检测关于可空引用类型的冗余类型参数约束。
  • 检测并使用async方法的重载(如果有),而不是 sync重载。
  • 若要使用nameof表达式而不是使用typeof(SomeType).Name 构造来获取当前类型的名称。
七、代码完成

在过去的一年中,我们收到了一些关于代码完成弹出窗口的报告,这些报告花费的时间太长了。我们已经完成了作业,现在开始键入后,代码完成弹出窗口的显示速度更快,尤其是在大型解决方案中。

 此发行版中另一个非常方便的功能是, 如果您不想在那里看到标记为过时的成员,可以在代码完成中隐藏它们。

最后但并非最不重要的一点是,从代码完成弹出窗口中完成一项现在可以尊重您的代码样式设置。

八、调试窗口

我们已经完全修改了“ 调试”工具窗口的用户界面,以使其尽可能整洁和整洁。当仅运行一个调试会话时,选项卡的布局得以简化,因为所有选项卡现在都位于一个级别上。选项卡标题占用的空间更少,因此调试器内容有更多的空间。并且当有多个会话时,将添加一个选项卡层以分隔会话。

同时,我们结合了“ 线程”和“ 框架”视图。如果您目前不需要“ 线程”视图,则可以通过单击“ 隐藏线程视图 ”图标将其隐藏。

九、调试器引擎中的更新

我们还更新了调试器引擎,以使您的调试体验更好:

  • 现在,您可以与最初在调试器下启动的进程分离,而无需终止应用程序。
  • 默认情况下,将对“跳入”操作启用“智能跳入”( “首选项/设置|构建,执行,部署|调试器|分步| .NET语言|始终执行智能跳入”)。
  • 调试器支持.NET Core x86运行时。
  • 现在,线程名称显示在执行行中,以帮助您了解应用程序当前的执行位置。
  • 您可以在异常停止调试会话后跳到此处/光标。
  • 现在,您可以更好地控制“ 调试输出”窗口,并且可以在“调试输出”中禁用服务消息。

十、配置编辑器严重性的简便方法

这项新功能使您可以轻松更改编辑器的突出显示级别。从非模式弹出窗口中单击一下,您可以打开或关闭代码视觉,参数提示,Unity性能提示,错误, 警告,建议,上下文操作以及更多元素。在代码编辑器标签的右下角查找“ 铅笔”图标。

十一、单元测试的更新

我们已经调整了“单元测试会话”和“单元测试资源管理器”窗口中的工具栏。

  • 几个图标已从左侧工具栏移至顶部。
  • 现在,可以使用顶部工具栏中的新文本框,通过文本搜索来过滤单元测试树。
  • 默认情况下,状态“ Failed ”,“ Aborted ”和“ Inconclusive ”已合并到一个“ Broken”中。如果您希望将它们分开,请单击顶部工具栏上的“齿轮”图标。

除此之外,我们还添加了三个主要功能:

  • 您可以在“单元测试资源管理器”和“单元测试会话”工具窗口中使用新的高级分组依据功能来创建自定义分组。使用添加的Duration元素,现在可以根据执行单元测试的时间对其进行分组。
  • 如果您有一个以上的组件(当今很常见),并且不想看到其中的一些组件,则可以在“单元测试会话”工具窗口中按目标框架过滤单元测试。
  • 您可以导出和导入任何单元测试会话。当您更改代码中的某些内容并希望为两个分支运行/覆盖同一组单元测试时,这使您可以与团队,计算机之间或分支之间共享它们。此外,导出的文件与ReSharper完全兼容,因此您可以与使用ReSharper的同事共享Rider中的单元测试会话,反之亦然。

十二、反应性TFS客户端达到RTM

在Rider 2019.3中,我们添加了一个实验性TFS客户端,该客户端为“ 检查更改 ”操作提供了显着的速度改进。在当前的发布周期中,我们继续为客户端付出很多努力。

最终,我们的TFS客户端发布了第一个版本,并带来了许多改进。让我们来谈谈两个最重要的方面。首先,启用版本控制集成现在适用于使用Visual Studio本地创建的TFS工作空间 ;。这意味着您不再需要在Rider中从头开始重新创建本地 工作区。其次,我们大大提高了Delete和Rollback操作的性能。

要开始使用TFS客户端,请转至设置| 版本控制| TFVC 并启用它。

推荐阅读:Rider 最新版本v2020.1发布,增加对C#8语言功能的支持等二十余项功能改进(下)

=====================================================

想要购买Rider正版授权的朋友可以

有关产品资讯的更多精彩内容,敬请关注下方的微信公众号▼▼▼



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn


为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP