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。

二、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成员的值在运行时如何变化。

- 我们在内存使用和资产索引编制速度方面进行了重大改进。现在,Rider会在查看资产之前为所有代码建立索引,这意味着所有生产力功能(例如代码完成,突出显示和检查)都可以比以前更快地使用。资产索引 在加载解决方案之后,当您继续工作时,该操作将继续进行,一旦建立索引,Rider会发现用法,甚至在资产内部重命名。当然,一旦完成,索引将不断更新,仅查看新更改的文件。
- 资产索引现在也变得更加智能。它了解嵌套和Variant预制中的代码用法 ,并显示ScriptableObjects 序列化字段的用法和值。
- 我们添加了一个新的性能检查,即“将锯齿状的阵列优先于多维的阵列 ”,以证明在热路径中具有更好的性能。这是一个微优化,因此仅在性能至关重要的上下文中才建议使用,例如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运行时。
- 现在,线程名称显示在执行行中,以帮助您了解应用程序当前的执行位置。
- 您可以在异常停止调试会话后跳到此处/光标。
- 现在,您可以更好地控制“ 调试输出”窗口,并且可以在“调试输出”中禁用服务消息。


十一、单元测试的更新
我们已经调整了“单元测试会话”和“单元测试资源管理器”窗口中的工具栏。
- 几个图标已从左侧工具栏移至顶部。
- 现在,可以使用顶部工具栏中的新文本框,通过文本搜索来过滤单元测试树。
- 默认情况下,状态“ 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正版授权的朋友可以咨询官方客服。

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!