Rider 2025.1 最新变化

Rider 2025.1 提供对 .NET 10 和 C# 14 预览功能的初步支持。 此版本引入了用于仓库级可见性的新 Files(文件)视图、Roslyn 语法树可视化器,以及用于调试 .NET 和 C++ 解决方案的众多增强。 游戏开发者可以利用 Unity Profiler 集成,AI 功能用户可以从新支持的 LLM 中受益。

主要更新

JetBrains AI Assistant

Rider goes AI

JetBrains AI Assistant 进行了重大升级,使基于 AI 的开发更加便捷高效。 在此版本中,JetBrains IDE 的 AI 功能现在免费使用,包括无限制代码补全、对本地模型的支持,以及基于抵用金的云托管功能访问。 在新订阅系统下,您可以通过 AI Pro 和 AI Ultimate 层级轻松扩展。

此版本引入了可以提高工作效率并减少重复工作的重大改进,包括更智能的代码补全,对 GPT-4.1(即将推出)、Claude 3.7 和 Gemini 2.0 等新云模型的支持,基于 RAG 的高级上下文感知,以及直接从聊天进行多文件编辑的新编辑模式。

更多 AI 更新

Solution Explorer 中的仓库级可见性

使用 Rider 的新 Files(文件)视图浏览整个代码库。 这个重新设计的视图与您的 Solution(解决方案)视图并存。 Files(文件)视图从根显示完整仓库结构,让您可以轻松处理全栈项目、配置文件以及构成现代开发环境的其他所有内容。 要启用仓库级可见性,请在 Solution Explorer 工具窗口设置中选择 New Files View(新文件视图)。

Roslyn 语法树可视化器

现在,您可以使用 Rider 的新 Roslyn 语法树可视化器直接在 IDE 内部查看和探索 C# 语法树。 可视化器提供与您的编辑器保持同步的实时树可视化。

您能够以交互方式探索节点并检查其属性,在代码和相应树节点之间快速导航,并使用全面的搜索和筛选功能。 了解详情

Windows 主机上的远程开发

Windows 主机上的远程开发

从 Rider 2025.1 开始,现在支持通过 JetBrains Toolbox App 在 Windows 主机上进行远程开发。 虽然 Gateway 可用于 Linux 连接,但全面过渡到 Toolbox App 作为远程开发的主要中心正在进行中。 请参阅这篇博文,了解如何使用 JetBrains Toolbox App 连接到 Windows、macOS 和 Linux 主机。

Unity Profiler 集成 游戏开发

Rider 现在与 Unity Profiler 集成,将 CPU 性能洞察直接带入您的编辑器。 IDE 获取 CPU 使用快照并将其与您的代码内联显示,使您可以在编写和调试 Unity 脚本时轻松发现性能热点。 您可以从 Unity Profiler 层次结构视图中的调用无缝导航到 Rider 中的相应方法。

针对游戏开发的更多更新

对 .NET 10 Preview SDK 的支持

  • 对来自新 SDK 的项目模板的支持。
  • 创建、运行和调试以新 SDK 为目标的项目。
  • 对 C# 14 和 VB 17.13 最新预览功能的初步支持。

代码分析

新检查与快速修复

此版本还带来了针对不同 C# 版本中常见问题和低效代码的多项新检查,包括但不限于:

  • 将字符串内插转换为连接的新上下文操作
  • 增强的代码重复模式检测
  • 改进的元组组件名称建议

有关这些和其他代码分析改进的信息,请参阅 What's New in ReSharper 2025.1(ReSharper 2025.1 最新变化)。

针对 Roslyn 分析器的作用域快速修复

Rider 2025.1 引入了 Roslyn 分析器的作用域快速修复功能,允许您在文件、项目或解决方案级别一次性应用修复。 现在,你可以直接从快速修复菜单中选择范围 —— 无论是单个文件、整个项目还是整个解决方案,而不是反复应用相同的修复。

C# 14

Rider 2025.1 初步支持 .NET 10 和 C# 14 预览功能,帮助您紧跟最新语言增强的步伐。

未绑定泛型类型的 nameof

以前,使用 nameof 需要指定所有类型实参,导致不必要的冗长。 C# 14 允许 nameof(List<>) 而不显式列出类型实参。 Rider 现在可以检测 nameof 表达式中的冗余泛型类型实参,并提供了快速修复来简化它们。

一类 Span<T> 转换

C# 14 在 ReadOnlySpan<T>Span<T>T[] 之间引入了新隐式转换,使基于 span 的代码更加直观。 Rider 现在完全支持这些转换规则,帮助您编写高效、现代的 C# 代码。

简单 lambda 形参的修饰符

在 C# 14 中,您现在可以在 lambda 表达式中使用 refoutinscoped 等形参修饰符,而无需显式形参类型。 Rider 提供了快速修复来移除冗余的类型规范。

我们的博客中了解有关 ReSharper 对 C# 语言支持改进的所有信息。

F# 支持

类型提示

推断类型现在显示更多的模式,提高了处理匹配表达式和其他使用模式的构造时的清晰度。

代码补全

我们重写了 F# 代码补全的不同部分,现在它运行更快,使用更少的内存,并提供更准确的建议。

C# 内存中引用

我们已经优化了构建元数据,修复了导致分析不一致和冻结的问题,并改进了取消操作,以提高代码编辑性能。

此处详细了解针对 F# 支持的其他 bug 修正和改进。

用户体验

Windows 和 Linux 主工具栏中合并的主菜单

对于 Windows 和 Linux 用户,IDE 现在提供了一个将主菜单与主工具栏合并的新选项,有助于创建更精简的界面。

设置自动插件更新的选项

您可以设置 Rider 在后台自动更新插件。 它将下载所有可用且兼容的更新,并在下次 IDE 重启时应用,无额外通知。

性能

内存消耗

在此版本中,我们彻底改进了字符串驻留系统。 IDE 处理大量字符串(源代码、语法元素、符号名称和文件路径),这使高效的字符串处理至关重要。 我们的新字符串驻留系统平均存储的唯一字符串数量是其先前版本的四倍,而消耗的内存只有先前的一半,释放大型 .NET 项目中的资源。

Blazor 和 Razor 改进

Razor 标记帮助程序和 Blazor 组件支持已在 2025.1 中完全重建。 这项期待已久的重做将使用大量组件的大型 ASP.NET 解决方案的分析时间减少了 5%–10%。 编辑 .cshtml/.razor 文件时,您还会遇到更少的重新分析事件,错误报告也显著减少。

AI Assistant

针对 Web 框架的改进 AI 补全

在 2025.1 版本中,我们重点改进了 Web 框架组件环境中基于 AI 的补全。 这些更改影响本地全行代码补全以及基于云的补全建议。

AI 生成单元测试的一致命名

Rider 还确保 AI 生成单元测试遵循项目中的现有命名约定。 这种改进有助于保持测试套件的一致性,减少手动重命名的需求,使测试集成更加顺畅和直观。

对更多尖端 LLM 的支持

JetBrains AI Assistant 正在扩展其模型阵容! 我们已添加对 Claude 3.7 Sonnet 和 Claude 3.5 Haiku 的支持,这些模型现已通过 Amazon Bedrock 提供。 这意味着您将获得更敏锐的响应、更快的洞察和更流畅的体验。 AI Assistant 的 OpenAI 模型阵容现在包括 o1o1-minio3-mini

离线模式:使用本地模型

AI Assistant 让您可以灵活地在离线模式下使用本地模型,也可以利用基于云的 AI 处理。 现在,它支持离线模式,让您可以在没有互联网连接的情况下工作,同时仍然受益于 AI 赋能的编码辅助。 通过 Ollama 或 LM Studio 将本地模型用于聊天、代码生成、提交消息、内联文档等。

了解更多关于 AI Assistant 的功能,请访问本页

调试器

.NET

自动附加子进程

Rider 现在在 .NET 应用程序调试期间提供自动附加到子进程和孙进程的功能。 当在运行/调试配置中启用时,IDE 会跟踪并附加到应用程序进程树中生成的所有 .NET 进程。

使用新的附加到子 .NET 进程复选框启用此功能。

LINQ 链调试

Rider 2025.1 带来了改进的 LINQ 表达式数据可视化,使您能够更容易地直接在调试器中理解和调试复杂的 LINQ 查询。 您现在将能够检查查询执行,查看中间结果,并更好地了解您的 LINQ 操作如何转换数据。 有关详情,请参阅此功能的文档

增强型异常断点配置

Rider 2025.1 引入了新的断点设置选项,允许您以更高的精度配置异常断点。 现在,您可以:

  • 根据异常抛出的位置(用户代码外部代码)进行挂起。
  • 根据异常处理程序过滤断点(未处理用户代码,或外部代码)。

C++

Rider 2025.1 带来了许多针对 C++ 调试的更新,这可能对 Unreal Engine 开发特别有用。 点击这里查看最新信息。

运行/调试

dotnet watch 作为运行/调试配置的支持

Rider 2025.1 为 dotnet watch 引入了专用的运行和调试配置,简化了需要代码更改时自动重建和重启的项目的开发工作流程。

这种增强特别有利于 ASP.NET Core 和 .NET 开发者,因为它会在您修改 .cs.html.css 文件时持续构建您的应用程序。 该功能也扩展到了测试文件,使得代码发生变化时可以自动执行测试。

运行配置的输入/输出重定向

Rider 2025.1 中提供了运行配置的输入输出重定向功能。 现在您可以轻松指定一个文件作为标准输入(stdin)并直接将程序输出到文件中,简化调试和测试工作流程。

另外,您现在可以将日志文件附加到运行配置中。 这些文件将在程序执行期间,在运行调试工具窗口中以单独的标签页显示。

使用 .env 文件,环境变量配置更简单

Rider 2025.1 简化了环境变量的管理。 你可以直接在运行/调试配置中使用 .env 文件,而无需手动输入变量。 寻找环境变量字段旁边的文件夹图标(浏览)以附加您的.env文件。 Rider 将在下次启动时加载它们。 您甚至可以在不同项目中使用多个文件来维护一致的配置。

版本控制系统

差异视图中的提交详细信息

您现在可以直接在差异视图中查看提交详细信息。 差异对话框现在显示提交消息、作者、日期和时间以及完整的提交哈希,让您更清楚地查看文件历史记录并帮助您更快地了解修改。

为提交前检查运行工具的选项

现在,您可以启动任意工具来执行提交前检查以及检查和格式设置。 自定义检查可以在 Run Configuration(运行配置)对话框中配置为运行配置。 这有助于您尽早发现潜在问题并确保代码在提交之前符合项目标准。

添加或修改 Git 远程时自动获取

现在,当您添加或更新 Git 远程时,Rider 会自动获取更改,确保您始终拥有最新的分支列表和提交历史记录,无需手动获取。 新获取的分支将立即出现在 Git 分支树中。 您将能够立即开始使用,并且您的仓库将始终保持最新状态。

有关 VCS 更新的更多信息,请查看此页面

游戏开发

NoesisGUI 框架支持

我们针对 Unreal Engine 和 Unity 项目添加了对 NoesisGUI 框架的支持。

NoesisGUI 语言服务器集成

Rider 将使用 NoesisGUI 语言服务器完成 XAML 元素和绑定表达式的代码补全,以及高亮显示错误并显示错误描述工具提示。 Rider 现在还将提供由 XAML 文件描述的界面的预览。

Unreal Engine

虽然我们这个版本的主要关注点是调试器,但我们仍然有时间处理一些与 Unreal Engine 相关的更新和修复,比如修复导致 Rider 无法运行使用 ComplexTest 模板创建的单元测试的问题。 Rider 现在将识别并高亮显示 UMETAUPARAM 反射宏,为这些宏及其特性提供代码补全和工具提示文档。

我们还一直在对蓝图索引进行优化工作。 我们已经减少了内存使用,并使更多部分的进程在后台线程上异步运行。 这将在 Rider 首次索引解决方案中的蓝图时,带来更快速的响应体验。

调试器

我们在这一版本中为原生调试器实现了许多有用的更新,包括显著的性能提升,使得在非常大的项目中的步进提高了多达50倍! 您可以在这篇博文中找到更多详细信息。

Rider 对 Natvis 文件的支持已得到改进。 现在,Natvis 文件会自动从 AppData 文件夹加载,并且有一个新的选项可以指定包含更多文件的自定义位置。

Rider 现在将识别 Natvis 文件中的合成项,这意味着调试器在显示类型的内容包括时会显示额外的节点。

调试器现在可以自动附加到子进程,并且可以应用自定义规则来指定它应该附加到哪些子进程或忽略哪些子进程。

调试器中的“分离进程”

断开进程操作现在可以与原生应用程序一起工作。

调试器中的上下文运算符

你可以使用 module.dll!expr 语法来指定表达式的上下文操作符,告诉调试器在哪里查找以解析变量或断点中的一个符号。

Unreal Engine 项目还从 ReSharper C++ 引擎的更新中受益,包括新的内联宏重构以及用户广泛请求的允许使用不同语法高亮显示不同关键字的实现。 查看 ReSharper C++ 最新变化了解更多详细信息。

Unity Profiler 集成

Unity

我们已经添加了与 Unity 分析器的实验性集成。 一旦您在设置中启用它,点击性能分析器的层次结构视图中的条目将打开 Rider 中的文件,并显示每行的配置信息。

如需详细了解此功能,请查看 Rider 文档

Unity 版本控制绑定

IDE 现在能够正确识别作为外部文件夹添加的软件包的版本控制绑定。 这意味着你可以提交到你的主项目以及你正在使用的任何外部软件包文件夹。

Unity 颜色高亮显示

Rider 的颜色高亮现在支持 Unity 6 中增加的额外命名颜色。

Rider 现在对 Unity 项目的远程开发支持效果更好。 具体来说,现在可以使用着色器变体选择器,Unity 资源管理器视图现在能正确选择打开的文件。

我们已经对 Unity 中包含的 Rider 软件包进行了一些修复。 例如,根命名空间不再偶尔缺失,Unity 编辑器的日志文件可以直接从 Unity 设置页面打开,并且在 Linux 上 Rider 条目不再重复。

Godot

Rider 对 Godot 的支持现在支持 .uid 文件,这些文件是在 Godot 4.4 中引入的。 当使用 Rider 移动文件或通过重构重命名时,相应的 .uid 文件也会一起移动,以保持项目的完整性。

热重载现在适用于 Godot C# 项目,这意味着可以在程序在调试时暂停在断点处时,对 C# 代码进行编译和应用更改。

这个版本消除了一个关于抽象类缺少默认构造函数的不必要警告。 我们还向 Godot 提交了几个拉取请求,以改善与 Rider 的集成,例如一个用于在更改选定编辑器时自动配置外部编辑器的命令行实参的请求。

云开发

Azure Function 项目支持

Rider 2025.1 现在支持通过 .NET AspireRider 的 Azure Toolkit 插件来运行和调试 Azure Function 项目。 请在这张工单的评论中分享您对功能上的任何反馈。

.NET Aspire 中对 AWS Lambda Function 项目的支持

.NET Aspire插件现在也支持在 Rider 中运行和调试 AWS Lambda Function 项目。 更多信息,请查看这个GitHub问题

Azure App Services 的远程调试支持

Rider 2025.1 现在支持通过 Azure Toolkit for Rider 插件远程调试 Azure App Services 项目(支持 Azure Functions 和 Azure Web Apps)。

Web 开发

Unity 颜色高亮显示

增强的 Angular 支持

Rider 2025.1 为 Angular 带来了许多改进,主要包括:

  • 增强对主机绑定的支持。
  • 对 Angular 17.2 信号查询的支持。
  • 对响应式表单更好的支持。
  • 适用于 Angular 绑定的更好的属性建议。
  • 在内联和外部组件模板之间更容易重构。

对 Blazor WebAssembly 发布的妥善支持

Rider 2025.1 引入了对 Blazor WebAssembly (WASM) 发布的妥善支持。 您现在可以使用 .NET 发布|发布到文件夹配置,该配置将使用浏览器-wasm目标运行时,而不会遇到输出中缺少文件的问题。

TypeScript 更智能的快速修复优先级,由服务驱动的类型引擎提供动力

Rider 现在优先考虑服务驱动的快速修复,特别是针对导入时,当内部建议不可用时。 这确保了相关修复首先出现,减少了解决问题的摩擦,并提高了整体的编码体验。

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

其他

Code With Me

之前,要在 Rider 中启动 Code With Me 会话,你必须手动使用启用 Code With Me 操作并执行重启。 在 Rider 2025.1 中,这一步骤不再必要,您无需重启 IDE 即可立即开启协作会话。

JetBrains 终端:新架构 Beta

2025.1 版本引入了重新设计的终端架构,目前处于 Beta 版阶段。 现在,终端在稳定、符合标准的核心上运行,并使用 IDE 的编辑器来呈现 UI。 这项更改让我们能够在各种平台(无论是本地还是远程)上引入新功能,同时保持兼容性和性能。 有关我们计划和进展的更多详细信息,请阅读这篇博文

反编译器

Rider 2025.1 对反编译器带来了多项改进,增强了对最新 C# 功能的支持并提高了代码可读性。 最新变化如下:

  • required 成员的支持。
  • 新增了对 C# 13 中引入的新 System.Threading.Lock 类型的支持。
  • ref 字段和 scoped 形参修饰符的支持。
  • allows ref struct 泛型反约束的支持。
  • ref struct 类型的基于模式的 using
  • 对字符串内插的支持。
  • 反编译代码中的某些整数常量现在包含注释的十六进制表示法,提高可读性。
  • 对文件作用域的命名空间的支持。