Rider 2024.3 最新变化

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

主要更新

Monitoring(监测)工具窗口

.NET 9 支持

最新版 Rider 包括:

  • 对来自新 SDK 的项目模板的支持。
  • 创建、运行和调试以新 SDK 为目标的项目。
  • Support for the latest C# 13 features, such as params collections, partial properties, the field keyword preview, and others.

访问我们的博客,详细了解 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 引入了在调试期间冻结和解冻个别线程的功能,可以对多线程应用程序进行更精确的控制。 The feature allows you to right-click on any thread and select Freeze to pause its execution without affecting the rest of the application. 准备好后,再次点击右键并选择 Unfreeze(解冻)即可恢复执行该线程。 该功能仅适用于面向 .NET 和 .NET Framework 的项目。

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

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

适合游戏开发的更多更新

用户体验

Tooltip colorization

For this release we reviewed almost all C# error, warning, and informal messages and introduced text colorization wherever possible.

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

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

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

提高的默认标签页上限

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

新终端的更新 UI

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

C# 支持

С# 13 支持

With its latest release, Rider introduces support for the latest features that come with C# 13, namely:

  • New params collections: The params keyword has been expanded to work with various collection types, allowing for more efficient method signatures without additional allocations.
  • Partial properties: Support has been added for partial properties, enabling you to spread property accessor implementations across multiple files, increasing flexibility and organization in your codebase.
  • New lock type: The new System.Threading.Lock type has been introduced for more efficient thread synchronization, improving performance over the traditional lock statement.
  • Overload resolution priority: A new attribute is available, providing better control of method overload resolution and allowing developers to prioritize which overload gets called in complex scenarios.
  • field keyword: The preview feature has been added to the field keyword. This gives direct access to the backing field of auto-properties, simplifying property logic.

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

Code styles and cleanup

代码清理

In Rider 2024.3, code cleanup has been re-engineered for more robust performance. It now leverages the same engine as scoped quick-fixes, ensuring thorough issue resolution and enhancing analyzer precision. Parallel preprocessing has also been added to optimize file handling.

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

代码格式设置

There are new formatting options to give you even more flexibility:

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

Naming styles

We’ve added a couple of new options to adjust naming rules more precisely.

  • Local functions now come with two options: Local functions with ‘async’ and Task-returning local functions (not ‘async’).
  • Methods have been given a new Task-returning method (not ‘async’) option to support methods with an async suffix in the name that aren’t marked with an async modifier but return a Task-like type. This is helpful when you declare a method in an interface where you aren’t allowed to use an async modifier, but which will return a Task type in implementation.

Code comments

Multiline TODO comments support

Rider 2024.3 now supports multiline TODO comments, allowing indented text on subsequent lines to be treated as part of the same TODO item. 此增强可让您更轻松地在代码库中将相关注释和任务分组在一起。 You can now add context to your TODOs across multiple lines, improving readability and organization.

F# 支持

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

类型提示

F# 支持现在会显示模式和成员的推断类型提示。 通过新的 Push-to-Hint(一键提示)实现,很容易看到局部值类型。

代码编辑

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

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

C# 互操作

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

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

版本控制

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

The Welcome screen now shows the branch name, helping you stay organized when handling multiple project versions and allowing you to switch between working directories easily.

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

现在,您可以使用 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 构建时相同。 This means you will see Active Scene and this.gameObject nodes in the debugger, as well as Children and Components for GameObject instances. It also fixes issues with the Immediate window, the Collection view, and IL2CPP builds.

现在,当您双击 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(还原)图标。 您还可以在相同区域中自行编辑结果查询。 您的更改将以相同的方式高亮显示。 For example, you can ask AI Assistant to retrieve more data with a query and then add an ORDER BY clause to the generated result.

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

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

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

AI Assistant

适用于 Rider 的 .NET Aspire 插件

内联 AI 提示

Rider 2024.3 introduces inline AI prompts, offering a seamless way to interact with AI Assistant directly in the editor. 您可以用自然语言输入请求,AI Assistant 会立即分析并将其转换为代码更改,在装订区域用紫色标记以便跟踪。 内联 AI 提示具有上下文感知功能,可以自动包含相关文件和符号,从而更准确地生成代码。

改进的上下文管理

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

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

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

反编译器

IL code for assembly manifest

The IL Viewer tool window now provides IL code for assembly manifest, including:

  • Assembly and module info such as name, custom attributes, etc.
  • Referenced assemblies and modules.
  • 转发的类型.
  • A list of files and resources.

This IL code is shown when the caret in the text editor is on an assembly or module attribute or somewhere inside an <AssemblyName>.cs file for external assemblies.

Support for primary constructors

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