Rider 2021.2 增强了对 C# 语言的支持,包括涉及代码分析、可空引用类型和源生成器的大量更新。 对于 Web 开发者,此版本提供了 ASP.NET Core Endpoints 支持和 Blazor WebAssembly 应用程序客户端调试。 使用 Unity 和 Unreal Engine 的游戏开发者也将获得大量更新。 现在,Welcome 向导允许您从其他 IDE(例如 Visual Studio、VS for Mac 或 Visual Studio Code)导入设置。
新的 Endpoints 工具窗口可帮助您浏览和导航到项目中以 [Route]
、[Http{Method}]
或 [AcceptVerbs]
特性注册或注解的任何 ASP.NET Core 端点。
检查端点文档,或对实现端点的控制器执行 Jump to Source。 通过 Find Usages 查看其注册位置。
使用 HTTP Client 标签页创建请求并提交至应用程序。 这非常适于测试 API。
使用捆绑的 OpenAPI Specifications 插件试用 API。 它为 OpenAPI 文件添加了 Swagger UI 支持,可用于编写请求和检查响应。
在代码编辑器中,您也将获得一流支持:
HttpClient
时,代码补全将建议在使用 [Route]
、[Http{Method}]
或 [AcceptVerbs]
特性注解的控制器中可以解析为操作的所有 URI。 在使用新 Endpoints 窗口发现 API 的更好方式中了解详情。
备受期待的 Blazor WebAssembly 客户端调试现已加入 Rider! 适用于 .NET 5.0 和 .NET Core 3.1 应用程序。
Follow the official Microsoft guide to set up WASM debugging. 然后像往常一样开始调试您的应用程序。
要使其在 Linux 上运行,您必须事先手动安装开发证书;否则它将无法工作。 If you are using Ubuntu, you can follow this guide.
Rider supports the debugging proxy if either of these NuGet packages are installed: Microsoft.AspNetCore.Components.WebAssembly.DevServer or Microsoft.AspNetCore.Components.WebAssembly.Server. 我们尚不支持 Blazor WASM 应用的自定义调试代理。
您是否使用临时变量来交换变量值? 现在有一种更优雅的方式可以执行此操作! Rider 2021.2 可以通过新的 Swap via deconstruction 快速修复帮助您对代码进行现代化改造!
减少代码中的分配数量,并增加吞吐量! 使用 Array.Empty<T>
替换空数组创建。
如果您正在分配新的 Type[0]
,Rider 将建议使用 Type.EmptyTypes
以使内存使用更高效。
如果不需要特定的 EventArgs
,Rider 可以使用 EventArgs.Empty
替换 new EventArgs()
。
其他改进:
在启用可空引用类型之后您在代码库中是否具有许多可空警告禁止?
Rider 会指示不再需要且可以安全移除的禁止 (!
)。
一个新的上下文操作,可用于在范围内搜索所有可空警告禁止。 在 Find Results 工具窗口中,可以重新评估是否需要禁止。
我们引入了一个新的重构来更改可空性。 可通过快速修复、通过 Refactor This 操作,或在添加或移除可空注解 (?
) 时通过就地重构使用这个新重构。
Rider 将更新可空性注解,并建议在整个代码库中传播更改。
使用 JetBrains.Annotations 特性并启用可空引用类型时,可以使用多种具有相应快速修复的新检查。
将 JetBrains.Annotations 特性更新为 NRT 语法和编译器支持的特性! 例如,Rider 可以将 [CanBeNull] string
更新为 string?
Rider 将通知您冗余 JetBrains.Annotations 特性,例如 [NotNull] string
或 [ItemCanBeNull] List<string?>
。 当然,它将提供快速修复来更新您的代码。
不允许类型注解语法时,具有快速修复的新检查会添加编译器支持的注解,例如:
[JetBrains.Annotations.NotNull] T param
添加至 [DisallowNull] T param
(where T: class?
) [JetBrains.Annotations.CanBeNull] T
添加至 [System.Diagnostics.MaybeNull] T
(在 C# 8 中,不允许 T?
语法) Rider 增加了新的检查和快速修复来帮助您使用编译器支持的注解,例如 [DisallowNull]
、[AllowNull]
、[MaybeNull]
和 [NotNull]
。
新的检查会检测冗余编译器注解,例如在将 [AllowNull]
应用于可空类型并且快速修复将其移除时。
在可以使用可空引用类型语法时,Rider 将建议执行此操作。
还有一些其他改进也值得一提:
源生成器可用于减少繁琐、重复的开发工作,并在编译时生成代码。 在 Rider 2021.2 中,许多可用于手动编写的代码文件的功能也可用于源代码生成的文件。 我们改进了编辑器支持并增加了对重构的支持。
现在,可以通过源代码生成的文件触发重构。 使用 Rename 重构可重命名生成的属性。 Rider 还将重命名手动编写的代码中的相关符号!
同样,Change Signature 可用于验证在更改后生成的代码是否仍可编译。
现在,您可以使用 Find Usages,搜索继承者,通过 Ctrl+点击 和 Navigate To 从生成的代码导航到手动编写的代码等。
已启用语义高亮显示,以便正确高亮显示事件、字段和属性等类成员。 在适当的位置显示所有嵌入提示。
对于生成的代码,警告和错误会显示在编辑器中和标记栏上。
Rider 现在也支持由 VB.NET 中的源生成器生成的代码。
Rider 2021.2 向成为一流游戏开发 IDE 的目标持续迈进,为 Unity 提供新功能,并对早期预览 Unreal Engine 支持做出突破性改进! 如果您使用的是 Godot,请务必尝试适用于 Rider 的 Godot Support 插件。
Rider 与 Unity 编辑器的智能集成现在将在您提交代码之前检查是否存在打开和未保存的场景。 这可以确保您在提交之前保存所有内容!
Rider 长期以来一直在 Unity 类或方法的工具提示中显示 Unity 文档的链接,但现在您可以使用 External Documentation 操作和快捷键直接跳转到文档,无需先查看工具提示。
Rider 现在可以调试本地 UWP 播放器,正确地要求 Windows 允许正在调试的进程的传入连接。
现在,当解决方案被重新打开时,Unity Explorer 中 Packages 视图的显示速度明显加快,还会记住打开的文件夹。
此版本改进了基于 IL2CPP 的播放器的调试体验,连接到 IL2CPP 播放器时自动禁用Break on Unhandled Exception。
与以往一样,还有许多其他小的改进和修正;例如,[UnitySetup]
方法不再被标记为未使用,并且在完成旧项目时正确显示层名。 基于 Unity 的检查获得多种性能改进,尤其是大文件的检查。
Rider for Unreal Engine 正在从公开预览迈向最终发布。 以下是我们自 2021.1 版以来推进的工作。这是一个相当长的列表!
Unreal Engine 5 支持! 您没看错:Rider for Unreal 与新的 Unreal Engine 5 项目配合得很好,和处理现有 Unreal Engine 4 项目相同。
打开的 .uproject 文件支持! 没错,Rider 可以直接从 <项目名称>.uproject
文件中打开您的 Unreal Engine 项目,不再需要生成 Visual Studio 解决方案文件。
Unreal Engine Rider 现已登陆 Mac! 在 macOS 上打开 <项目名称>.uproject
文件,感受完整的 Rider for Unreal 体验。 这包括大量的 C++ 和 HLSL 着色器编辑、导航、检查与重构、代码样式设置与快速修复、Blueprint 支持(Blueprint 中代码的 Find Usages、Code Vision 链接和计数器与导航),以及调试器和与 Unreal Editor 的丰富集成。 macOS 版本适用于 Unreal Engine 4.26 或更高版本。
Natvis 的重大改进和调试器结果的内置演示。 为可继承特性、格式说明符、自定义列表条目等对象提供支持,包括 Natvis 未涵盖的所有结构的单行摘要,以及用于查看底层对象数据的 [Raw View]
节点。
Expanded Code Style 设置。 Rider 将识别 Unreal 项目,自动配置以理解并遵循 UE 代码样式约定。 它将高亮显示不遵循正确样式的代码并提供快速修复来自动更新代码。
最后,EzArgs 插件提供了对 C++ 运行/调试配置参数的轻松访问,只需在工具栏的下拉菜单中键入新参数即可。
我们已将 Reformat File 和 Code Cleanup 对话框合二为一。 两者的快捷键保持不变,但您将拥有一个新的统一视图,可同时执行两个步骤。 清理配置文件还将预览待执行操作,您可以通过一个按钮轻松切换到配置文件编辑模式。
在提交对话框中,您现在可以使用选择的配置文件对更改启用自动代码清理。 另外,您还可以使用 Reformat and Cleanup 对话框中的新选项重新格式化/清理当前文件中的未提交更改。
重新设置代码格式、优化导入和重新排列代码的操作现在可用于 CSS、JavaScript 和 SQL。 您可以在 Settings | Editor | Code Cleanup 下微调规则。
您是第一次使用 Rider 吗? 如果您以前从未安装或使用过 Rider,Welcome 向导现在允许您从其他 IDE(例如 Visual Studio、Visual Studio for Mac 或 Visual Studio Code)导入设置。 此外,Rider 可以识别来自 ReSharper 的设置。
在从其他 IDE 导入设置的运作方式了解详情。
现在可以更轻松地将工具窗口拖放到主 IDE 窗口的所需位置或单独的窗口中。 您可以点击并按住工具窗口名称栏将其拖放到任何高亮显示的位置。
当 IDE 窗口未处于全屏模式时,标题栏现在在 macOS 上是透明的。 这意味着标题栏和窗口的其余部分之间没有可见的边框。
如果您需要在 Rider 中配置特定于用例的选项,可以前往 Preferences/Settings 中的新 Advanced Settings 节点。 例如,您可以在 Distraction-free 模式下添加左边距,或者在使用 Comment with Line Comment 操作后将文本光标设置为向下移动。
我们简化了 Preferences/Settings 中的导航,在窗口右上角增加了箭头。 允许您在打开的部分之间快速跳转。
属性值默认在调试器中评估和显示,而评估偶尔可能需要较长时间。 因此我们添加了一个新的 Disable Evaluation of Selected Item 操作。
特别是对于原生代码,评估方法调用可能会导致调试会话崩溃。 Rider 会记住这些麻烦的调用并为您禁用其评估。
逐步执行代码库时,每个新文件都会在新标签页中打开,有时会留下一个非常混乱的标签页栏。 预览标签页可以为此提供帮助! 它允许您从单个标签页中逐一查看文件,无需每次都在新标签页中打开文件。 您可以在 Settings/Preferences | General | Editor Tabs | Opening Policy 中启用。
很长时间以来,Rider 一直使用 Default Changelist 作为存储所有未提交更改的节点的名称。 在此版本中,我们决定改用 Changes 一词使措辞更加精确。 此更新将影响您的新项目。
Rider 将不再为 Git 操作自动添加更改列表。 因此,举例来说,cherry-pick 不会触发更改列表创建。
但是,如果您仍然更喜欢自动创建而不是新的行为,您可以在 Preferences/Settings | Version Control | Changelists 中勾选 Create changelists automatically 复选框激活前者。
我们在 Local History 对话框中添加了一个搜索字段,帮助您快速找到 Local History 修订中的必要文本。 现在,当您右键点击已更改的文件并在上下文菜单中选择 Local History | Show History 时,您可以在此字段中键入查询来快速浏览文件历史。
现在可以通过 Preferences/Settings | Version Control | Git 启用使用 GPG 签署 Git 提交。 如果您是第一次使用 GPG 密钥,则首先需要进行配置。 使用现有的预配置 GPG 密钥,只需从下拉菜单列表中选择。
现在,您的 IDE 支持的最旧的 Git 版本为 2.17。 我们提高了支持的最低版本,因为 2.17 为仍能接收安全更新的最旧版本。
我们实现了代码的结构化移除。选择和删除具有任何类型结构化选择(例如结构化导航、扩展/收缩选区或重新排列代码)的代码,并让 Rider 执行剩余的结构化修改。 您可以移除方法调用参数的逗号和冒号、特性参数中的圆括号或空对象初始值设定项的大括号。
我们更新了快速文档的显示方式。 特性现在高亮显示,更易于阅读和探索。 在检查使用泛型的类或方法时,Rider 将不再呈现占位符值,而是显示具体实现。
如果您更喜欢使用 Pico 大括号(缩进)样式,我们帮您搞定。 Pico 样式已作为选项添加到 Preferences/Settings | Editor | Code Style | C# | Braces Layout 页面上的 Brace Layout 标签页。
如果您在浏览器中预览 HTML 文件,它们将根据 HTML 文件或链接的 CSS 和 JavaScript 文件中保存的更改自动更新。 此功能默认启用。
您将不再需要浪费时间逐一重构 useState 值和函数 – Rider 现在可以为您对这二者进行重命名! 将文本光标置于状态值上并按 Shift+F6 键或转到右键点击上下文菜单中的 Refactor | Rename。
require()
自动导入 您知道 Rider 可以在您补全 ES6 符号时添加缺少的 import 语句吗? 现在,它可以对 CommonJS 模块实现相同功能 – 支持在代码补全时插入 require
导入。
在 WebStorm 最新变化页面上了解详情。
除了 .apk
文件之外,我们还添加了对生成 .aab
(Android App Bundle) 的支持,这将很快成为向 Google Play Store 上传应用的唯一途径。
现在,可以在 Rider 内部为 imageset
、appiconset
和 colorset
创建和编辑 XCAssets。 这使您可以查看所有不同的终端设备及其分配的图像、图标和颜色。 可以通过拖放添加或替换图像和图标。 为了便于选择颜色,我们添加了流行的颜色选择器控件。
编辑 Android 布局或资源文件时,现在会自动生成 Resource.Designer.cs
文件,移除先前错误显示的所有错误。
后缀模板可以帮助您转换已经输入的表达式,无需向后跳转。 从 let
模板开始,我们终于为 F# 引入它们。
Rider 为 F# tuples
和 union
用例提供了新的模式析构操作。
重新排列代码的操作现已可用。 您可以在枚举或联合用例、记录或联合用例字段、匹配子句、元组和函数参数中向上/向下或向左/向右移动元素。
新操作 Optimize Imports 将使您无需在每次需要清理导入时手动触发类似的警告快速修复。
let
绑定。 .fsproj
。 具有完整原生 M1 芯片支持的 Rider 2021.2 的早期预览版现已推出。 此版本没有 x64-to-ARM64
转换。 它使用以下运行时:
查看此页面了解更多信息。
DDL 数据源生成是我们迈向长期开发无缝数据库版本控制的又一步。 使用此功能,您可以将 DDL 文件保存在 VCS 系统下,并在每次更新数据库结构时重新生成这些文件。
现在可以基于真实数据源生成 DDL 数据源。 DDL 文件会在本地创建,新数据源将以其为基础。 这样,您将始终能够重新生成这些文件并刷新 DDL 数据源。
如果您在数据库资源管理器设置(齿轮图标)中打开 Separate Procedures and Functions 选项,它将立即生效。
对于 SQL Server,有用于标量和表函数的专用节点。 对于 PostgreSQL,有用于触发函数的节点。
新的数据库树选项 <i>Show Constraints and Triggers in the Schema</i> 可在数据库资源管理器中为触发器、键和索引分配它们自己的个别节点。
跨数据库同义项的代码补现已提供。
现在,dotCover 可以在一个程序集中并行运行测试类的覆盖率分析。 在某些情况下,这可以加快覆盖率分析速度。
预加载单元测试运行程序可用于 .NET Core 和 .NET 项目,由于单元测试运行程序已加载到内存中,覆盖率分析可以更快开始。
还有一些其他改进也值得一提:
现在,DPA 为每个问题存储两个值 – 历史最大值和来自上一次运行的值。 这可以防止漏报,因为之前问题可能会低于阈值并从问题列表中消失,这不是因为它们已被修正,而是因为它们的启动条件发生了变化。
此外,还有一些其他改进:
SpecFlow is a tool to bring Behavior-Driven Development to .NET. 在社区的激励下,我们一直在帮助 SpecFlow 开发团队将 SpecFlow 插件引入 JetBrains Marketplace。该插件为 SpecFlow 测试添加了语法高亮显示、代码补全、导航和骨架代码生成。 我们在 Andreas Willich 在线讲座中深入介绍了这些功能。
我们重新考虑了一份精选插件列表,您可以在初始设置期间在“Customize Rider”向导中查看这些插件。 现在,列表如下:
node_modules 或 libs 等大目录会显著减慢文件的索引速度,使文件索引难以提供快速的文本搜索。 Rider 可以从上下文菜单中停止索引某些目录。
您现在可以为 Solution Explorer 中选择的多个条目编辑 File Properties(例如 Build Action 或 Copy to Output Directory)。
The embedded decompiler now can decompile single-file apps. 它支持 .NET Core 3.1、.NET 5 和即将推出的 .NET 6 SDK 的单一文件格式。
使用 Assembly Explorer,您可以像以前一样浏览单文件应用内的捆绑程序集。
现在,JetBrains Toolbox App 不会让您错过任何重要产品更新。 Rider 会通知您是否有新版本可供下载并主动询问是否升级。 为此,您需要安装 JetBrains Toolbox App 1.20.8804 或更高版本。