百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

Rider 2020.1 发布,要抢VS饭碗啦!

qiyuwang 2025-04-06 20:34 4 浏览 0 评论

Rider 最新变化

在 macOS 和 Linux 上,Rider 2020.1 现在默认在 .NET Core 运行时上运行后端,并提供 Xamarin Hot Reload 和 Dynamic Program Analysis。 它引入了一种简单的方法来配置编辑器的严重性,并增加了对整数值的数据流分析以及更快的代码补全速度。 Debug 窗口已经过重新设计,并且 Extract Class 重构和 Coverage Filters 现在可用。

后端在 .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 支持。

您是否想了解有关从 Mono 转换到 .NET Core 的更多信息,并查看性能图? 查看这篇博文!

如果您在 .NET Core 上运行 Rider 后端时遇到任何问题,并且想要返回 Mono 运行时,请选择 Help | Switch IDE runtime to Mono。 如果您有任何问题,请别忘记告诉我们。

Xamarin Hot Reload

现已实现对 Xamarin Hot Reload 的初步支持。 现在,在设备或模拟器上调试时,Rider 会将在 Xamarin Forms XAML 中所做的更改自动应用到应用程序,无需重新构建和重新部署整个应用程序。

请注意存在的限制:如果装有 Rider 的 PC/笔记本电脑和 iOS 设备不在同一个 Wi-Fi 网络中,则即使将 iOS 设备通过 USB 连接到 PC/笔记本电脑,Hot Reload 也无法正常工作。

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

查看博文了解更多更新。

Dynamic Program Analysis (DPA)

我们很高兴引入 Dynamic Program Analysis。 每次在 Rider 中运行您的项目时,DPA 都会开始收集内存分配数据。 关闭应用程序后,DPA 将显示检测到的问题列表:闭包以及到大型和小型对象堆的分配。 最大的优点在于,您无需启动任何“分析会话”即可获取快照。 可以像往常一样正常运行,并且所有数据都将在后台收集,开销几乎为零。 在各种实际解决方案上测试 DPA 的结果表明,速度只会降低 0% 到 2%。

请注意:DPA 仅适用于 Windows,并且无需单独的许可证即可将其激活。

了解更多:使用 Dynamic Program Analysis 自动检测应用中的内存问题

整数值的数据流分析

这一版本的 Rider 引入了一种新型代码分析,可以在应用程序中跟踪整数值的用法。 这种新型的分析会跟踪所有 int 局部变量的值如何变化,并验证这些变量上的所有常见运算的正确性,以检测无用或可能出错的代码段。 即,它会警告您:

  • 结果总是为 true 或 false 的关系/相等运算符。
  • 检查 int 值的启发式不可到达的 switch case。
  • 无意义的算术运算,如乘以 1、加 0 等。
  • 可能的 int 溢出。
  • 可能的除以 0。

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

Unity 支持

  • 我们在资产索引编制的内存使用和速度方面进行了重大改进。 现在,Rider 会在查看您的资产之前为所有代码建立索引,这意味着所有生产力功能(例如代码补全、高亮显示和检查)都可以比以前更快地调用。 资产索引编制将在解决方案加载后继续,同时您可以继续工作,而一旦索引编制完成,Rider 便会查找用法,甚至在资产内部重命名。 当然,一旦完成,索引将不断更新,仅查看新更改的文件。
  • 资产索引编制现在还更加智能。 它了解代码在 Nested 和 Variant 预制件中的用法,并显示 ScriptableObjects 的用法和序列化字段的值。
  • 现在,单元测试发现可以更好地与 Unity 项目一起使用,而 Rider 会自动在项目中查找所有 Edit 模式和 Play 模式测试。
  • 我们添加了一个新的性能检查 Prefer jagged arrays to multidimensional arrays,在热路径中可以提供更好的性能。 这是一个微优化,因此仅建议在性能关键上下文中使用,例如 Update 方法或从 Update 调用的任何内容。
  • Rider 将不再为 Unity 项目的代码补全建议 Boo.Lang.List 或 System.Diagnostics.Debug。
  • 我们在 Generate 对话框中调整了事件函数的顺序,以首先放置最重要的方法。 And when generating functions from the Alt+Enter menu, they will generate at the right location, too.
  • 有关更多更新和修复,请参阅 GitHub 存储库。

C# 支持

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

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

  • 针对可空引用类型,检测冗余类型参数约束。
  • 检测并使用方法的 async 重载(可用时),而不使用 sync 重载。
  • 使用 nameof 表达式,而不使用 typeof(SomeType).Name 构造,以便获得当前类型的名称。

代码补全

在过去的一年中,我们收到了一些关于代码补全弹出窗口的报告,指出这些弹出窗口需要很长时间才会显示。 我们已经解决了这个问题,现在当您开始输入后,代码补全弹出窗口的显示速度显著提高,尤其是在大型解决方案中。

此版本提供的另一个非常方便的功能是,如果您不想在代码补全中看到标记为 Obsolete 的成员,可以将其隐藏。

最后但同样重要的是,从代码补全弹出窗口中补全一个项目现在可以遵循您的代码样式设置。

重新设计了 Debug 窗口

我们完全重新设计了 Debug 工具窗口的 UI,使其尽可能干净整洁。 当只有一个调试会话运行时,选项卡的布局会得到简化,因为所有选项卡现在都位于一个级别上。 选项卡标题占用的空间更少,因此有更多空间显示调试器内容。 存在多个会话时,将添加一个选项卡层来分隔各个会话。

同时,我们还合并了 Threads 和 Frames 视图。 如果您目前不需要 Threads 视图,则可以通过点击 Hide threads view 图标将其隐藏。

调试器引擎中的更新

我们还更新了调试器引擎,以便增强您的调试体验:

  • 现在,您可以从最初在调试器下启动的进程中分离,而无需终止应用。
  • Step Into 操作默认启用 Smart Step Into (Preferences/Settings | Build, Execution, Deployment | Debugger | Stepping | .NET Languages | Always do Smart Step Into)。
  • 调试器支持 .NET Core x86 运行时。
  • 现在,线程名称显示在执行行中,以帮助您了解应用程序当前的执行位置。
  • 在发生异常而停止调试会话后,您可以执行 Skip to Here/Cursor 操作。
  • 现在,您可以更好地控制 Debug Output 窗口,并且可以在 Debug Output 中关闭服务消息。

以轻松的方式配置编辑器的严重性

借助这项新功能,您可以轻松更改编辑器的高亮显示级别。 只需在非模态弹出窗口中点击一下,即可打开或关闭 Code Vision、 Parameter Hints、Unity Performance Hints、Errors、Warnings、Suggestions、Context actions 以及更多元素。 在代码编辑器选项卡的右下角可以找到铅笔图标。

单元测试的更新

我们调整了 Unit Test Session 和 Unit Test Explorer 窗口中的工具栏。

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

除此之外,我们还添加了三大功能:

  • 您可以使用 Unit Test Explorer 和 Unit Test Session 工具窗口中新增的高级 Group by 功能创建自定义分组。 使用添加的 Duration 元素,您现在可以根据执行测试所需的时间对单元测试进行分组。
  • 如果您有多个单元测试(如今通常会这样)并且不想看到其中一些,可以在 Unit Test Session 工具窗口中按目标框架进行筛选。
  • 您可以导出和导入任何单元测试会话。 当您更改代码中的某些内容并希望为两个分支运行/使用同一组单元测试时,这让您可与团队、在计算机之间或在分支之间共享会话。 此外,导出的文件与 ReSharper 完全兼容,因此您可以与使用 ReSharper 的同事共享 Rider 中的单元测试会话,反之亦然。

了解更多:Rider 2020.1 中的测试运行程序更新

反应式 TFS 客户端登陆 RTM

在 Rider 2019.3 中,我们添加了一个实验性 TFS 客户端,此客户端可为 Checking for changes 操作提供显著的速度改进。 在当前发布周期中,我们继续在该客户端上投入了大量精力。

最终,我们的 TFS 客户端发布了第一个版本,带来了许多改进。 我们来看看两个最重要的改进。 首先,启用 Version Control Integration 现在适用于使用 Visual Studio 在本地创建的 TFS 工作区。 这意味着您不再需要在 Rider 中从头开始重新创建本地工作区。 第二,我们大幅提高了 Delete 和 Rollback 操作的性能。

要开始使用 TFS 客户端,请转到 Settings | Version Control | TFVC 并启用它。

代码编辑器更新

像所有 JetBrains IDE 一样,Rider 现在在所有主题中使用 JetBrains Mono 作为默认字体。 我们希望您喜欢它!

现在,终于完全支持到目前为止 Rider 中一直缺少的另一个 ReSharper 功能:在解决方案的文件中粘贴代码时,可以自动导入命名空间。

如果您手动编辑与 NuGet 相关的文件,我们认为您将乐于从 Rider 获得协助,因为它现在初步支持编辑 NuGet.Config、packages.config 和 *.nuspec 文件,包括代码补全、语法验证和快速文档弹出窗口。

以下较小的功能增强也值得一提:

  • 方法分隔符现在可以在 C# 中使用,以可视方式分隔接口、类、方法等。
  • The shortcuts Alt+Shift+Up / Down / Right / Left Arrow will execute a block selection in the same way they do in Visual Studio.
  • C# 现在支持两对操作 Move Caret To Code Block Start/Move Caret To Code Block End 和 Move Caret To Code Block Start with selection/Move Caret To Code Block End with selection,并且这两对操作的行为与在其他 JetBrains IDE 中的行为相同。
  • 文档工具提示会在鼠标悬停时显示高亮显示为错误的代码符号。

Extract Class 重构

另一个期待已久的 ReSharper 重构终于登陆 Rider - Extract Class。

想知道为什么您需要此重构? 想象一下,您有一个类正在完成实际上应当由两个不同的类完成的任务。 使用此重构是将复杂类分解成两个单一职责类最安全、最有效的方法。Extract Class 将帮助您选择要从旧类转移到新类的方法和字段。 对于任何中断的依赖项和可访问性问题,它还会发出警告,并建议冲突解决方案选项。

Solution Explorer 的更新

Solution Explorer 视图引入了两个新的实用文件夹,可为您提供有关项目的更多信息:作为 Assemblies 文件夹的子文件夹的 Implicit references,以及 MSBuild import targets。

除此之外,还有一些较小的更新:

  • 我们向 Add References 对话框中添加了一个新功能,名为 Recent Assemblies。
  • 我们向应用程序设置文件 (*.settings) 中引入了一个简单的设计器。
  • 文件属性可用于 Solution Explorer 视图中的所有文件 (在 View | Appearance | Details in Tree Views 下设置) 。
  • 现在,在 macOS 和 Linux 上的 .NET Standard 项目中,Resx 代码生成的效果更好。

代码覆盖率和性能分析的更新

为了更好地控制您在 Rider 中获得的单元测试覆盖率结果,我们添加了 Coverage Filters。 要指定这些筛选器,请转到 Preferences/Settings | Build, Execution, Deployment | dotCover | Filtering。

如果您在 Linux 或 macOS 上进行性能分析,我们为您带来了一些好消息:在这些操作系统上,.NET Core 应用程序终于可以在 Tracing 模式下进行性能分析了。 在 Linux 上,您现在还可以将分析器附加到 .NET Core 应用程序。

运行配置和构建

  • 我们添加了一个非常方便的操作:Cancel build。
  • 所有运行配置都有 Build/Clean Project 任务。 这些任务使您可以在启动运行配置之前选择要构建或清理的项目。
  • 现已支持 UpToDateCheckInput MSBuild 属性。
  • Publish to folder 运行配置的 UI 现在支持 ARM 标识符和任意自定义目标运行时标识符。
  • 捆绑的 MSBuild 已更新至 16.5

反编译器和 IL Viewer

我们为 Rider 的反编译器和 IL Viewer 添加了一些新功能:

  • 可空引用类型 (NRT) 支持可用于反编译器。 请注意,这仅适用于声明,不适用于方法的主体。
  • 支持反编译接口的默认成员。
  • 对反编译 tuple 组件名称的支持得到了改进。
  • 反编译后,外部源文件中现在可以使用 IL Viewer Code Vision。

版本控制支持

  • Code Vision 现在可以显示方法的历史记录。 默认启用此功能,而不是 VCS Annotate(可在 Preferences | Editor | Code Vision | VCS Actions 中调整)。
  • Git Branches 弹出窗口获得了一个显式搜索字段和一个经过重新设计的 Refresh 按钮。
  • 传入(蓝色)和传出(绿色)提交指示器已添加到状态栏。
  • 查看新的对话框:Interactively Rebase from Here。
  • 根据您使用的 VCS,Repositories 工具窗口现在称为 Git、Subversion, Mercurial 或 Perforce。
  • Diff 和 Merge 视图现在支持代码高亮显示。
  • 如果您的计算机上没有 Git,Rider 将为您自动下载并安装 Git。

适合 F# 开发者的新功能

为了改善 Rider 中的 F# 支持,我们进行了大量改进和修复,旨在为您的日常工作提供帮助:

  • 现在可以使用 Send project references to F# Interactive 操作。
  • 调试时,鼠标悬停时的评估工具提示适用于更多表达式:方法和类型中的自引用限定符 (this.Property) 以及索引器表达式 ("foo".[1])。
  • 添加了 Type 文件模板。
  • 代码分析器现在可以并行运行。
  • 用于现有代码检查的几个新的快速修复,例如 FS0005: Field not mutable 检查的 Make field mutable 快速修复。
  • 一些新的代码检查以及相应的快速修复,例如“Redundant Attribute suffix”检查。
  • 两个新的代码意图:Elif to If/If to Elif 和 Negate If expression condition。
  • Code Vision 添加了新的操作 Copy Inferred Type,并且不再显示类型的父命名空间,以便使显示的信息更短。
  • Extend Selection 可以选择整个 () 表达式。

有关更多更新和修复,请参阅 GitHub 存储库。

Web 开发

  • 用于转换为可选链和/或空值合并以及从用法推断参数的新意图。
  • 鼠标悬停时可以显示文档弹出窗口。
  • Vuex 和 Composition API 支持。
  • 保存时运行 Prettier 格式化。
  • Go to 弹出窗口中的完整文件路径。
  • 对 TypeScript 项目的 Yarn 2 支持。
  • 有关 Web 开发更新的更多信息,请参阅 WebStorm 2020.1 最新变化。

数据库支持

  • 以 Excel 格式导出。
  • 支持 utPLSQL 和 Tsqlt 测试框架。
  • 在代码编辑器中查看结果(默认情况下禁用)。
  • 新身份验证选项.
  • 共享 SSH 配置.
  • 在 MongoDB 中更好地筛选数据。
  • 以及 DataGrip 2020.1 最新变化中介绍的更多数据库相关功能。

其他功能和改进

  • Rider 终于开始支持 WIX (Windows Installer XML Toolset) 项目了!
  • 支持 Godot 游戏引擎的新插件现在可在 Rider 2020.1+ 中使用。 它在 GitHub 上是开源的。
  • C# 代码样式设置现在可以搜索。
  • 您可以让 Rider 使用与 ReSharper 相同的整机范围(全局)设置文件,以同步两个工具的设置(使用 File | Settings | Tools | ReSharper | Synchronize machine-wide Rider and ReSharper settings 调整此行为)。
  • 代码格式化为 C# 代码样式带来了涵盖尾随逗号的新设置。 可以在 Preferences | Editor | Code Style | C# | Syntax Style | Trailing comma 下找到它们,并且它们都与 StyleCop SA1413 检查兼容(除了极少的个别情况)。

更多功能

  • 新的 Zen 模式结合了免打扰模式和全屏模式。
  • 如果要并排运行终端会话,请垂直或水平拆分 Terminal 工具窗口。 您可以从 Terminal 调用上下文菜单来创建、导航和关闭拆分的终端会话。
  • HTTP 客户端有很多改进。 您可以直接从 HTTP 请求文件自动补全 URL 并导航到相关的端点;您可以从 Endpoints 视图生成 HTTP 请求;HTTP 客户端现在可以正确地自动补全路径变量。
  • 现在,所有操作系统都可以使用统一的 IntelliJ Light 主题。
  • 现在,Windows 10 上的顶部窗口边框在无边距模式下看起来更美观。

相关推荐

微软宣布将于10月份关闭OneDrive组功能

【巴士数码】微软已经宣布将在今年10月关闭OneDrive的组功能。一年多之前,微软已经关闭了用户在OneDrive当中创建组的功能。大大多数用户会发现共享文件夹是一种合适的替代品,而且由于这一点,O...

玩转Win10任务栏:从基础设置到效率神器的全攻略

一、基础操作:解锁任务栏的「隐藏布局」...

文档以只读模式打开的原因及解决方法

当文档以只读模式打开时,可能由多种原因导致。以下是详细的原因分析与对应解决方法,您可根据实际情况灵活选择操作。一、文件属性设置问题(一)Windows系统在Windows系统中,若文件属性被标记...

Windows系统的优化(windows优化设置)

今天给大家讲一讲系统的图标和一些基本的优化。安装了原版系统之后有很多地方需要优化比如桌面图标小箭头,盾牌,休眠占用内存,关闭通知栏。首先我们打开软件这款软件以前就讲到过就是dism++软件,他可以清理...

Win 10偷偷传送用户隐私至微软(win10设备隐私)

自推出以来Win10不断被揭发盗取用户带宽、泄漏WiFi密码等各式各样的私隐问题,令不少网络专家开始留意Win10还隐藏了多少类似的私隐漏洞。最近再有人发现Win10部分功能静静...

OneDrive逆势下调存储空间,不限量存储被取消

日前,微软在周一晚发布的博客文章中表示,由于部分用户存滥用储存功能,所以该公司将取消不限量OneDrive存储服务。不限量用户的最大存储空间将被下调至1TB,定价为6.99美元,对于已存储较多文件和内...

Win10中那些被微软取消的功能(微软公司从9日起停止对windows8的主流服务支持)

很多用户在使用Win10的时候,都会发现一些在Win7系统中的功能被取消了,有的时候想找也找不到。那么到底是那些过去的功能在Win10中被取消了呢?下面我们就简单梳理一下,并且告诉大家解决的办法。Wi...

微软推Win11 Dev 26200.5570预览版:语音打字上线脏话过滤选项

IT之家4月26日消息,微软公司昨日(4月25日)发布博文,邀请Dev频道的WindowsInsider项目成员,测试适用于Windows1124H2的KB50556...

微软VSCode商店发现9款挖矿恶意插件,已安装超30万次

IT之家4月8日消息,科技媒体bleepingcomputer昨日(4月7日)发布博文,报道称安全专家在微软VSCode扩展商店中,发现了9款伪装成开发工具的恶意插件。这些插...

微软Windows 11开始菜单大改版!(windows 11 开始菜单)

根据最新消息,微软正在对Windows11的开始菜单进行重大改版,这一更新将彻底改变其布局和功能。Windows11的开始菜单将从现有的多栏布局改为单栏可滚动视图,所有固定图标和已安装应用都将集中...

OneDrive无限存储空间取消 免费降至5GB

2015-11-0313:35:06作者:徐鹏北京时间11月3日消息,微软在一篇博客文章中称,将取消OneDrive存储服务的不限量空间,原因是部分用户有滥用问题。OneDrive无限存储空间取消...

省出电脑C盘空间!微软悄悄更新:OneDrive终于能卸载了

快科技3月12日消息,近日,微软悄悄地在官方更新了关闭、禁用、卸载Windows自带软件OneDrive的方法。微软Windows系统自带了很多软件和功能,其中有很多我们可能永远都用不上。但这些软件还...

微软关闭OneDrive新建组群功能(windows关闭onedrive)

微软的OneDrive云端储存服务能够让你创建组群(Group),这样当你和团队成员共同从事一个项目的时候能够通过云端协作提升效率,并且组群的文档储存空间还将同你标准的OneDrive分割独立开来。不...

微软为何取消OneDrive无限制容量存储?被75TB占用吓坏

那么为什么微软会取消Office365的无限OneDrive存储呢?“自推出Office365订阅无限制存储服务以来,一小部分用户开始备份多台PC设备,存储众多电影收藏合集和DVR录像。在某些情况下...

Win11必关的5个设置!关闭后电脑流畅到起飞,操作简单不藏私!

Windows11虽然界面炫酷,但默认设置中隐藏了不少“拖慢电脑”的坑!尤其是老电脑用户,用久了卡顿、开机慢、反应迟钝……其实只需关闭几个鸡肋功能,就能让电脑提速50%以上!...

取消回复欢迎 发表评论: