Rider 2024.3 最新变化

Rider 2024.3 提供了对 .NET 9 的支持,包括 params 集合、partial 属性和预览 field 关键字等 C# 13 增强功能。 Windows 窗体设计器现在可用于 .NET 6+ 项目,并具有冻结和解冻个别线程的高级调试功能。 游戏开发者将乐于看到适用于 Unreal Engine 的游戏机调试、适用于 Unity 的 IL2CPP 调试以及改进的 Godot 支持。 此版本还扩展了 AI Assistant 功能,包括编辑器内 AI 提示和可定制的聊天模型。 此版本还增强了代码清理、命名约定和远程开发。

主要更新

Monitoring(监测)工具窗口

.NET 9 支持

最新版 Rider 包括:

  • 对来自新 SDK 的项目模板的支持。
  • 创建、运行和调试以新 SDK 为目标的项目。
  • 对最新 C# 13 功能的支持,例如 params 集合、partial 属性、<0>field 关键字预览等。

访问我们的博客,详细了解 Rider 2024.3 中的增强 C# 13 支持。

Windows Forms Designer for .NET projects .NET 6.0+

Windows 窗体设计器现在支持以 .NET 6.0 及更高版本为目标的项目,让您能够创建、查看和修改 Windows 窗体应用程序的 UI。 这种体验带来的功能几乎与适用于 .NET Framework 的经典 Windows 窗体设计器无异。

请记住,大多数 DevExpress 控件是兼容的,但对 Telerik 和 Infragistics 控件的支持仍有限,且不支持 VB.NET Windows 窗体应用程序。

在调试期间冻结和解冻个别线程

Rider 2024.3 引入了在调试期间冻结和解冻个别线程的功能,可以对多线程应用程序进行更精确的控制。 利用这此功能,右键点击任意线程并选择 Freeze(冻结)即可暂停执行该线程,而不会影响应用程序的其余部分。 准备好后,再次点击右键并选择 Unfreeze(解冻)即可恢复执行该线程。 该功能仅适用于面向 .NET 和 .NET Framework 的项目。

在游戏机上运行和调试原生代码 游戏开发 Unreal Engine

Rider 2024.3 支持在所有主流游戏机上运行和调试 C++,此功能的引入标志着 Rider 2024.3 已取得重大进展! 其中包括使用自定义引擎和 Unreal Engine 编写的游戏。 我们严格执行按需提供政策,并且您必须加入游戏机的官方开发计划。 在这里了解详情。

针对游戏开发的更多更新

用户体验

工具提示着色

在此版本中,我们检查了几乎所有 C# 错误、警告和信息性消息,并尽可能引入了文本着色。

大约 600 条消息获得升级,工具提示结构更易阅读,包含的代码元素以编辑器的常见颜色显示。

Run(运行)微件:同时启动多个配置

更新后的 Run(运行)微件现在支持按住 Ctrl 并点击调试图标来同时启动多个配置。 它还会为所有正在运行的配置显示控件,有助于简化管理。

提高的默认标签页上限

编辑器中的默认标签页上限已增加到 30 个,从而允许在 IDE 关闭最近使用最少的标签页之前保留更多标签页。 您可以在 Settings | Editor | General | Editor Tabs(设置 | 编辑器 | 常规 | 编辑器标签页)中调整此值。

新终端的更新 UI

我们更新了新终端的 UI,设计更加紧凑,减少了填充,旨在优化屏幕的使用。 更小的填充可以节省空间,在您使用命令时提供增强的可见性,同时不会牺牲可读性。

C# 支持

С# 13 支持

在最新版本中,Rider 引入了对 C# 13 的最新功能的支持:

  • 新的 params 集合params 关键字已扩展为适用于各种集合类型,从而无需额外分配即可实现更高效的方法签名。
  • partial 属性:partial 属性获得了支持,使您能够将属性访问器实现分布在多个文件中,提升代码库的灵活性和组织。
  • 新的 lock 类型:新引入的 System.Threading.Lock 类型可以实现更高效的线程同步,性能高过 lock 语句。
  • 重载解析优先级:提供了一个新特性,它可以更好地控制方法重载解析,并允许开发者指定复杂情况下优先调用的重载。
  • field 关键字field 关键字新增了预览功能。 这样可以直接访问自动属性的支持字段,有助于简化属性逻辑。

Learn all about the support of C#13 features in Rider and ReSharper on our blog.

代码样式和清理

代码清理

在 Rider 2024.3 中,代码清理经过重新设计,性能更加强大。 现在,它利用与作用域受限的快速修复相同的引擎,确保彻底解决问题并提高分析器的精度。 新增的并行预处理可以优化文件处理。

此外,您现在还可以为每个文件选择 Code Cleanup(代码清理)配置文件或跳过特定文件的清理。

代码格式设置

新增的格式设置选项将为您提供更多灵活性:

  • 用于控制相等 = 运算符周围换行的新选项。
  • 新的 Indent ‘break’ from ‘case‘(缩进 ‘case’ 中的 ‘break’)选项。
  • 新的 Treat ‘case’ statements with ‘break’ as simple(将带有 ‘break’ 的 ‘case’ 语句视为简单)选项。

命名样式

我们添加了几个新选项用于更精确地调整命名规则。

  • 局部函数现在有两个选项:Local functions with ‘async’(带有 'async' 的局部函数)和 Task-returning local functions (not ‘async’)(返回任务的局部函数(非 'async'))。
  • 方法新增了 Task-returning method (not ‘async’)(返回任务的方法(非 'async'))选项,以支持名称中带有 async 后缀,未使用 async 修饰符标记但返回类似 Task 类型的方法。 如果在接口中声明了一个方法,而该接口不允许使用 async 修饰符,但它在实现中会返回 Task 类型,这就很有用。

代码注释

多行 TODO 注释支持

Rider 2024.3 现在支持多行 TODO 注释,允许将后续行中的缩进文本视为同一 TODO 条目的一部分。 此增强可让您更轻松地在代码库中将相关注释和任务分组在一起。 现在,您可以跨多行向 TODO 添加上下文,提升可读性和组织。

F# 支持

我们更新了 F# 编译器服务,以获得所有最新的语言功能和编辑器工具的改进。

类型提示

F# 支持现在会为模式和成员显示推断类型提示。 通过新的 Push-to-Hint(一键提示)实现,可以轻松查看局部类型的值。

代码编辑

代码补全现在可以导入函数、值、联合体 case 和有效模式。 还有一个新的快速修复,可以帮助更新粘贴的代码。

您可以将函数表达式转换为形参,并将其与新的上下文操作进行匹配。

C# 互操作

我们大幅提高了分析引用的 C# 项目时的性能,并修正了多种误报错误。

GitHub 页面上列出了更多更改、修正和新功能。

版本控制

Welcome(欢迎)屏幕上的分支名称

Welcome(欢迎)屏幕现在会显示分支名称,帮助您在处理多个项目版本时保持整齐,并在工作目录之间轻松切换。

禁用后台预提交检查的选项

现在,您可以使用 Settings | Version Control | Commit(设置 | 版本控制 | 提交)下的新选项 Run advanced checks after a commit is done(提交完成后运行高级检查)在提交过程中管理后台检查。 通过此设置,您可以决定是否在提交后运行测试和检查。 如果您希望在提交之前完成这些检查,将其禁用即可。

Find in Files(在文件中查找)的更新

Find in Files(在文件中查找)功能得到增强,增加了新的搜索范围 Project Files Excluding Git-Ignored(项目文件,不包括 Git 忽略的文件)。 此选项将从搜索结果中排除 .gitignore 文件中忽略的任意文件,帮助您在项目中搜索时只关注相关代码。

远程开发

Rider 的远程开发已正式脱离 Beta 阶段!

经过 Beta 版的最后一轮改进(特别注重输入稳定性),Rider 的远程开发功能现已完全可以处理您所依赖的所有核心开发工作流。

从代码编辑和调试到版本控制,现在一切几乎都能像在本地实例上一样无缝运行,在远程环境中提供流畅而强大的体验。

您可以在博客上详细了解支持的工作流。

游戏开发

Unreal Engine

此版本带来了 Windows 上子进程的自动调试。 调试会话期间创建的任何进程都将加入会话,子进程中的断点将被命中。

还可以配置规则来决定调试哪些子进程以及跳过哪些子进程。

In addition to the exciting news about Rider’s support for debugging on consoles, this release also introduces support for the Verse programming language, new code insight features, and integration with Live++ for the hot-reload of C++ applications.

查看 ReSharper C++ 最新变化详细了解新代码洞察功能。

Unity

Rider 2024.3 改进了 IL2CPP 构建的调试体验,可以使用的功能与进行 Mono 构建时相同。 这意味着您将在调试器中看到 Active Scenethis.gameObject 节点,以及用于 GameObject 实例的 ChildrenComponents。 此版本还修正了 Immediate(即时)窗口Collection(集合)视图以及 IL2CPP 构建的问题。

现在,当您双击 Unity 分析器调用堆栈中的条目时,源文件将在 Rider 中打开,此外,Rider 在项目中搜索文件时过滤不必要内容的性能也有所提升。

Godot

此版本修正了 C# 热重载支持和 Godot 的重大 bug。 现在,Rider 可以在游戏仍处于运行状态时将您对 C# 代码进行的任何更改应用到应用程序中。

Rider 也已准备好支持 Godot 4.4 中推出的 GDScript 调试更新,更新后的 Godot 4.4 将提供比 Godot 早期版本更丰富的对象属性视图。

Web 开发

更清晰的目录搜索结果

现在,在项目目录中使用 Find in Files(在文件中查找)时,Rider 会默认排除 node_modules 结果,减少无关文件造成的混乱。 您可以通过启用 Settings | Advanced Settings(设置 | 高级设置)下的 Search in library files when “Directory” is selected in Find in Files(在“在文件中查找”中选择“目录”时,在库文件中搜索)选项来恢复先前的行为。

改进的框架组件导航和重命名

我们增强了针对 Vue、Svelte 和 Astro 组件的编辑器内提示。 Show component usages(显示组件用法)操作现在可以在 import 和标记模板中查找用法。 我们还添加了 Show Component Usages(显示组件用法)筛选器,以便在搜索常规文件引用时排除组件用法。 Rename(重命名)重构也已更新,现在可以在重命名组件文件时包含用法。

Tailwind CSS 类的颜色预览

现在,编辑器中会以内联方式显示 Tailwind CSS 类的颜色预览,这样可以更轻松地区分颜色。 我们添加了对语言服务器协议 (LSP) 的 textDocument/documentColor 方法的支持,因此所有基于 LSP 的插件现在都直接提供此功能。

如需更多详细信息,请访问 WebStorm 最新变化页面。

处理数据库

文本到 SQL:AI 生成结果的编辑器内差异

我们改进了在编辑器中使用 AI Assistant 的体验。 现在,当您要求 AI Assistant 处理某段代码时,编辑器区域会包含原始代码和生成的代码的差异。 AI Assistant 的建议以不同的颜色高亮显示,并在装订区域标有 Revert(还原)图标。 您还可以在相同区域中自行编辑结果查询。 您的更改将以相同的方式高亮显示。 例如,您可以让 AI Assistant 使用查询检索更多数据,然后将 ORDER BY 子句添加到生成的结果中。

通过 AI Assistant 进行的 SQL 错误处理

在错误消息区域中,可以通过我们实现的一些实用的新操作使用 AI Assistant 处理 SQL 查询执行错误。 Explain with AI(使用 AI 解释)会打开 AI 聊天,自动发送提示,然后 AI Assistant 将做出响应并解释错误。 Fix with AI(使用 AI 修正)操作会在编辑器中为查询执行错误生成修正。

如需更多详细信息,请访问 DataGrip 最新变化页面。

AI Assistant

改进的上下文管理

在此更新中,对于 AI Assistant 在其建议中考虑的上下文,我们使其管理更加透明直观。 改进的 UI 可让您查看和管理作为上下文包含的每个元素,提供完全的可见性和控制。 现在,打开的文件以及其中选择的代码都会自动添加到上下文中,您可以根据需要轻松添加或移除文件,自定义上下文以匹配您的工作流。 此外,您还可以附加项目范围说明来指导 AI Assistant 在整个代码库中的响应。

选择聊天模型提供商的选项

现在,您可以选择自己喜欢的 AI 聊天模型,例如 Google Gemini、OpenAI 或您机器上的本地模型。 有了更多选择,您可以自定义 AI 聊天的响应以适合您的具体工作流,享受适应性更强的个性化体验。

反编译器

程序集清单的 IL 代码

IL Viewer(IL 查看器)工具窗口现在为程序集清单提供 IL 代码,包括:

  • 程序集和模块信息,例如名称、自定义特性等。
  • 引用的程序集和模块。
  • 转发的类型.
  • 文件和资源的列表。

当文本编辑器中的文本光标位于程序集或模块特性上或外部程序集的 <AssemblyName>.cs 文件内的某个地方时,会显示此 IL 代码。

对主构造函数的支持

使用声明主构造函数的类时,反编译器现在将正确显示构造函数及其形参,让您直接从反编译的代码中完整了解对象实例化的方式。