借助 Rider 2021.1,您可以更轻松地为项目添加 Docker 支持。 它让您可以直接从欢迎界面附加到 .NET 进程,并通过调试器提示介入调试器进程。 我们为 ASP.NET 开发者添加了基架,包括 Identity 和“CRUD”Entity Framework 以及路由模板分析。 C# 支持获得大规模更新,这次主要为模式和记录支持。
现在,在 Rider 中可以更轻松地为项目添加 Docker 支持 - 您可以在创建新项目时生成 Dockerfile。 如果您选择 ASP.NET Core Web 应用程序、Worker 服务或控制台应用程序,那么只需在 New project 对话框中选择 Docker Support。
如果要将 Dockerfile 添加到现有项目中,请使用 Solution Explorer 工具窗口中项目上下文菜单的 Add | Docker Support。
Rider 开箱即可运行 Visual Studio 生成的 Dockerfile。 无需在 Dockerfile 中进行其他更改即可使其与 Rider 兼容。
Merge into pattern 检查现在可以处理更多代码模式。
null 检查与其他检查融合成单一的模式检查.
将 conditional?.Access
表达式的检查改写为嵌套模式匹配.
合并检查,减少 if
语句嵌套.
最后,您可以将模式扩展为完整的形式,从而将其合并到简单的 var (a,b)
析构模式中.
我们为 C# 9.0 记录添加了更多支持。
Extract interface 和 Extract superclass 重构现在支持记录声明,File Layout 也支持 XML 文档相关功能。
我们带来一套新的检查和操作。 迁移代码以使用具有位置参数和隐式属性声明的记录时,针对 record 声明中属性的 Redundant explicit property declaration 可以提供帮助。 已添加相应的快速修复 Remove explicit property。
为了保持整洁:Redundant 'record' type declaration body 检查和相应的快速修复将用分号代替空的记录类型声明体。
Deconstruct()
方法时,可以使用 To explicit constructor 上下文操作。 Deconstruct()
方法的用法。 我们引入了一个新检查 Inline temporary variable。
有时,您可能会在程序中以不同的名称反复使用相同的值。 这样的代码可以变得更加透明吗? 当然可以,交给 Rider 就够了。 如果临时变量应该初始化为其他值或稍后在代码中突变,它甚至可以帮助您发现错误。
命名元组始于 C# 7,但重命名组件至今仍然是手动操作。 是时候改变了 - 您现在可以立即调用重构。
逻辑 not
模式可以帮助您使类型检查更易读。 Rider 建议放弃 !()
语法,改用 not
模式。
对于 C# 10.0 支持,我们做出了一些初步改善,并让 Rider 支持常量字符串插值功能。
Slice
和 Substring
。 我们给使用 ASP.NET MVC、ASP.NET Web API 或 Razor Pages 的开发者带来一些好消息! 我们为 ASP.NET Core 项目添加了基架机制。
Rider 支持基架 Areas、Controllers、Razor Pages、Views 和 Identity,包括为使用 Entity Framework 的完整 CRUD 操作生成样板源代码。
适用于 Windows、Linux 和 macOS。
Rider uses dotnet aspnet-codegenerator under the hood.
在 ASP.NET Core 项目的基架登陆 Rider 2021.1 中了解详情。
路由模板在 MVC 应用程序中广泛使用,用于配置 HTTP 请求与应用程序的可执行端点的匹配方式。 在 2021.1 版本中,我们引入了对路由模板的支持。 Rider 现在提供代码补全、结构导航、检查和快速修复。 包括:
在 ReSharper 最新变化中了解详情。
现在可以选择在发布前删除文件夹中的既有文件。 例如,在移动文件时,它可以帮助您摆脱过时的数据。 请注意,启用后,Rider 将彻底清理目标位置。
MDN 文档现与 Rider 捆绑。 这将有助于防止 MDN 网站的连接问题,并使编辑器内文档在 HTML、CSS 和 JavaScript 文件中显示得更快。 编辑器内文档也将提供更多信息(例如,您将看到有关 JavaScript API 受支持的浏览器版本的详细信息)。
CSS 代码的 Stylelint 检查更加易于操作。 点击几下即可解决这个 linter 的问题。 将鼠标悬停在文件中的问题上或将文本光标放在其上,然后按 Alt+Enter,选择 Stylelint: Fix current file。
此外,您现在可以在 Preferences / Settings | Languages & Frameworks | Style Sheets | Stylelint 中指定配置文件的路径。
现在,使用样式表时,您可以检查选择器的特异性 - 只需将鼠标悬停在要研究的选择器上即可。 或者,将焦点放在选择器上,按 F1/Ctrl+Q 在 Documentation 弹出窗口中查看这些信息。
新的内置浏览器预览可以让您快速预览 HTML 文件。 点击编辑器右上角微件中带有 Rider 徽标的图标即可打开预览。
现在,您可以直接从欢迎界面附加到 .NET 进程! 不再需要先打开包含源代码的解决方案。 在欢迎界面选择 Attach to process 标签页,从列表中选择需要的 .NET 进程,Rider 随即开始调试。
Rider 现已添加交互式调试器提示! 编辑器中的提示不仅可以展示正在发生的事,还可以让您通过调试器提示介入调试进程,并与之交互。 点击提示,选择 Set Value 即可进入交互式模式。 您可以输入原始数据,也可以借助自动补全使用其他值。 对应快捷键也已提供。
您可以使用 Settings | Build, Execution, Deployment | Debugger | Data Views 中的 Show values inline 设置启用调试器提示。
Rider 2021.1 基于 Rider 已为 Unity 提供的诸多创新功能,可以让您更详细地了解 Unity 项目。 Unity 在 asset 的什么位置使用您的代码? Update 中性能关键代码路径每帧调用的是什么? 如何更好地调试、测试和覆盖代码?
Rider 可以向您展示 Unity 在 scene、asset 和 prefab 中使用代码的位置,直接在 Unity Editor 中高亮显示用法。
Rider 2021.1 对此进行了扩展以支持动画 asset,将属性和方法的用法显示为动画回调。
Rider 为 Unity 魔术字符串提供了代码补全和验证。 Rider 先前已支持标记、层名称、scene 和协程,Rider 2021.1 增加了对动画状态值的支持。
Rider 的早期版本强调对性能至关重要的方法、频繁调用的方法或 Burst 编译的方法,但原因并不总是很明显。
Rider 2021.1 增加了菜单项,可以显示所有在热路径中调用的方法并回溯到 Update
方法,或者跟踪传出调用以最终到达已知的高开销 Unity API。
对于 Burst 编译的方法,Rider 会展示所有调用的方法返回 Burst 上下文起点的路线。
Rider 已经提供了对 Unity 项目的扩展调试支持,可以向您显示 Active Scene 对象并向调试器视图添加子游戏对象和组件。
Rider 2021.1 也有助于调试 SerializedProperty 实例。 无关字段默认隐藏,仅显示与属性类型相关的值。 您可以轻松查看子属性和所有序列化数据。
Rider 扩展了其基于 Unity 的单元测试支持,以涵盖游戏模式测试的代码覆盖率。 在代码编辑器内即可查找、运行和调试,并显示 Unity 编辑模式和游戏模式测试的代码覆盖率。
此外还有许多小改动和修复,包括更强劲的元文件处理、Unity 工具窗口中更高效的日志条目添加,以及 Unity 相关文件模板的更好分组。
我们的 Godot Support for Rider 插件也已更新。 现在,它支持直接在游戏过程中运行 NUnit 单元测试,协助确保运行符合预期。 Follow the instructions in this pull request to make it work in your game today! 请在评论中分享您对该 Pull Request 的反馈。
Rider for Unreal Engine 目前仍处于公开预览阶段,计划于 2021 年作为 Rider 的一部分发布。 在公开发布之前,您可以免费评估预览版。
The Unreal Engine’s Cast for type-safe dynamic casting is now available as a postfix template in code completion. Rider 还支持另一个 Unreal Engine 特定反射宏 - RIGVM_METHOD。
我们根据从 Epic Games 团队获得的反馈,引入了对 Unreal Engine 5 的初步支持和直观修复。
对于 C++ 方面,增加了 Include 和 Type Hierarchies,以及对 Google Test 和其他 C++ 单元测试框架的支持。
在此处了解详情。
在 v2021.1 中,您可以使用新的 Save to Shelf 操作将更改保留在本地并复制到 Shelf。 您可以通过快捷键或在 Search Everywhere 弹出窗口中输入 ‘Save to Shelf’ 访问此操作。
现在可以通过 Compare with branch 对话框从另一个分支复制文件。 您只需选择要复制的文件,然后点击 Show diff 旁边新增的向下箭头图标。
Rider 现在会在关闭和打开 IDE 之间保存 Solution Explorer 的状态,包括打开的节点。 您不再需要在每次重新打开解决方案或重新启动 IDE 时手动展开节点。
打开多个垂直拆分编辑器标签页时,您现在可以双击以最大化各编辑器窗口。
我们重新设计了 Windows 上的文件夹选择对话框。 现在,它将仅显示您可以选择的文件夹。
现在,您可以在 Windows 中右键点击任务栏或开始菜单上的Rider 图标访问最近打开的项目。
现已支持 macOS Big Sur 中的新模态对话框 UI。
Windows 窗体设计器的 Toolbox 管理器已完全重新设计。
窗口左侧的列表包含按控件供应商分组的所有控件库(包括系统或第三方)。 在列表中选择库后,您可以在中间窗格上选择特定的控件。 只有它们会显示在 Toolbox 中,以保持列表整洁。 右侧窗格显示所选控件的元数据。
当您需要某个特定控件时,控件过多的库是否会让您不知所措? 没问题! 中间窗格中的新搜索将缩小控件列表,并在结果列表中高亮显示搜索子字符串。
最后,底部新增了计数器,显示保存时将有多少组件被移除或添加到 Toolbox。 点击 Apply 按钮后,结果将更加清楚直观。
Quick Documentation 窗口新增语法高亮显示,提供与代码编辑器中相同的高亮显示。 此外,鼠标悬停时现在将显示符号的 Quick Documentation。
在长时间的编码工作中,选择一个舒适的编辑器字体非常重要。 最近增加的版式设置让这个选择变得更加简单和个性化。 在 v2021.1 中,您可以在 Preferences / Settings | Editor | Fonts 中调整主字体和粗体字体的粗细。
我们改进了 XAML 预览工具,这是一种面向 WPF 和 XAML 开发者的基本反馈机制。
Rider 现在将 XAML 预览工具置于编辑器窗口中,让您可以在许多方向和布局选项之间切换。 您可以更改预览工具的方向,使其与编辑器垂直或水平分隔。
现在,获得焦点的元素将高亮显示,让您在复杂的 UI 设计中更容易找到特定的 UI 元素。
该工具现在允许您点击 TabItem 实例。 新增功能大幅改善了多标签页用户界面的构建体验。
XAML 预览工具现在将在渲染预览时遵循 DesignHeight 和 DesignWidth 等设计属性。
请注意,XAML 预览仅适用于 Windows 上面向 .NET Framework 的应用程序。
有关详情,请参阅博文:Rider 2021.1 中的 XAML 预览工具改进。
我们添加了一些新设置:
new()
括号前和括号内设置空格。 对于自定义命名规则,我们更新了应用顺序 - 更具体的规则现在会优先应用。
最后,我们为 Format Selection 添加了新的 Reindent only 操作。 现在,您可以让 Rider 仅调整所选代码的缩进,而不执行整个重新格式化进程。
EditorConfig 在 .NET 社区中越发流行,我们也在不断改进其与 Rider 的合作方式。 我们做出了以下改进:
csharp_indent_case_contents_when_block
选项的支持。 我们为本地 let
绑定添加了新的 Inline Variable 重构。
Rider 现在可以根据构建中使用的项目和编译器计算允许的语言级别并提出改进建议,使您的 F# 代码更加现代化并处于最新状态。
新的分析器和快速修复 To Interpolated String 可将 printf
式格式字符串转换为 F# 5 插值字符串。 Thanks again to Saul for the nice implementation.
冗余括号分析和相应的快速修复将帮助您处理模式、类型和简单表达式中的括号。 我们计划在未来的版本中涵盖更多表达式用例。
此外还有大量 F# 支持的快速修复、重构和其他改进。 Please see the full release notes for more details.
Space 插件现可用于 Rider。 您可以通过欢迎屏幕上的 Get from VCS 连接到 JetBrains Space 中的组织。 登录后,您可以查看和克隆项目仓库,检查队友的代码以及编写 Space Automation 脚本。
我们为修改对象时的授权编辑添加了一个 UI。
您可以使用 Ctrl+F6 在数据库资源管理器中的用户上调用 Modify user 窗口,该窗口现在具有向对象添加授权的 UI。
这适用于 PostgreSQL、Redshift、Greenplum、MySQL、MariaDB、DB2、SQL Server 和 Sybase。
系统函数和过程在非限定使用时不再高亮显示为错误。 导航和补全现在也适用。
在 DataGrip 最新变化页面上详细了解数据库支持更新。
我们实现了 NuGet Smart Restore on a build。 当启发检测到外部还原已执行时,它将对构建操作执行还原。 您可以在 Settings/Preferences | Build, Execution, Deployment | NuGet | Smart Restore on Build 设置中将其关闭。
Rider 现在支持在最新版本的 Mono 上并行构建。 请在 Settings | Build, Execution, Deployment | Toolset and Build 中启用。
现在可以配置 Rider 在搜索文本时如何处理外部依赖项。 在 Find in Files 对话框中选择 Scope,然后点击 ‘…’ 按钮。 Scopes 窗口随即打开,显示 External Dependencies 是否处于范围内。 您可以使用右侧的按钮进行更改。
现在,我们支持以换行符分隔的 JSON Lines 格式处理结构化数据和日志。 IDE 将识别 .jsonl、.jslines、.ldjson 和 .ndjson 文件类型。
这些格式的文件包含多行,每行都是由换行符分隔的 JSON 对象。 行首或行尾不需要逗号,也不需要将文件内容全部括于方括号或大括号中。