ReSharper 2025.1 提供了对 .NET 10 和 C# 14 预览功能的初步支持。 此版本还带来了针对常见 C# 缺陷的新检查,以及多项体验增强。 得益于全面改进的字符串驻留系统以及对 Razor 标记帮助程序和 Blazor 组件的重建支持,性能得到显著提升。 此外,此版本还推出了 Visual Studio 中的 dotMemory 集成,并引入了新的 Qodana Team Code Quality 插件,实现增强的 CI/CD 管道集成。
ReSharper 2025.1 提供了对 .NET 10 和 C# 14 预览功能的初步支持。
nameof
以前,使用 nameof
需要指定所有类型实参,导致不必要的冗长。 C# 14 允许 nameof(List<>)
而不显式列出类型实参。 ReSharper 现在可以检测 nameof
表达式中的冗余泛型类型实参,并提供了快速修复来简化它们。
Span<T>
转换 C# 14 在 ReadOnlySpan<T>
、Span<T>
和 T[]
之间引入了新隐式转换,使基于 span 的代码更加直观。 ReSharper 现在完全支持这些转换规则,帮助您编写高效、现代的 C# 代码。
在 C# 14 中,您现在可以在 lambda 表达式中使用 ref
、out
、in
和 scoped
等形参修饰符,而无需显式形参类型。 ReSharper 提供了快速修复来移除冗余的类型规范。
在我们的博客中了解 ReSharper 和 Rider 中的 C# 语言支持改进。
除了引入对 C# 14 功能的支持外,此版本还引入了针对不同 C# 版本中常见问题和低效代码的多项新检查。
您可以借助一项新上下文操作将字符串内插转换回串联。 ReSharper 长期支持将字符串串联 "Id = " + someId
转换为内插 $"Id = {someId}"
或 string.Format("Id = {0}", someId)
,但此更新通过允许反向转换完成了整个循环,让您在构建字符串表达式时拥有更大的灵活性。
ReSharper 现在可以检测并高亮显示 if
和 switch
等条件构造中出现的更多代码重复模式,并为更清洁、更易维护的代码提出重构建议。
CancellationToken
ReSharper 现在可以检测错误使用方法级 CancellationToken
而不是本地令牌的情况。 它提供了快速修复来替换不正确的令牌或使用 CancellationTokenSource.CreateLinkedTokenSource()
合并多个令牌。
nameof
引用枚举成员名称 在枚举成员上调用 .ToString()
可能产生不必要的运行时开销。 ReSharper 现在建议使用 nameof(SomeEnum.Member)
替换,以提高性能和清晰度。
ReSharper 2025.1 建议使用显式元组组件名称而不是泛型 ItemN
名称,使您的代码更易阅读和自归档。
现在,如果使用 Stream.Read()
和 ReadAsync()
方法时未检查其返回值(可能导致数据读取不完整),ReSharper 会发出警告。 它将建议使用 .ReadExactly()
替换,以确保正确性。
Debug.Assert
检查中的修改警告 由于 Debug.Assert
调用在 RELEASE
构建中被移除,ReSharper 会对修改状态并可能导致生产代码中出现意外行为的断言发出警告。
ReSharper 2025.1.3 引入了对查询语言的支持,以提升您在 Visual Studio 中的 SQL 和 NoSQL 编码体验。 利用智能代码分析、补全和快速修复处理所有主要方言的查询。 点击下方链接详细了解最新支持的功能及其涵盖许可。
ReSharper 2025.1 为 C++ 支持带来了多项改进:
从 ReSharper C++ 2025.1 最新变化页面详细了解 C++ 更新。
<ImplicitUsings>
重构 隐式 using 自动包含通用命名空间,有助于减少样板。 现在,ReSharper 提供了一种在整个项目中切换隐式 using 的简便方式,启用时移除冗余显式 using,禁用时添加必要 using。
ReSharper 对 Transform Parameters(转换形参)重构进行了现代化改造,增加了对值元组、记录和异步场景的支持,有助于提高代码灵活性和可维护性。
新的格式设置操作会将截断格式设置应用于各种 C# 构造,提高代码的可读性和一致性。
//
后添加空格。 您可以在这些工单中找到实用的屏幕截图:[RSRP-225809]、[RSRP-78312]。 我们改进了 ReSharper 中的一键提示行为,防止因与其他基于 Ctrl 的快捷键冲突而导致的意外激活。 此外,我们还引入了视觉指示器来显示该模式何时处于有效状态。
将文本光标置于基类型子句中的类型名称上时,ReSharper 现在会直观高亮显示扩展基类或实现特定接口的成员。
在此版本中,我们彻底改进了字符串驻留系统。 IDE 处理大量字符串,包括源代码、语法元素、符号名称和文件路径,这使高效的字符串处理至关重要。 我们的新字符串驻留系统平均存储的唯一字符串数量是其先前版本的四倍,而消耗的内存只有先前的一半,有助于释放大型 .NET 项目中的资源。
Razor 标记帮助程序和 Blazor 组件支持已在 2025.1 中完全重建。 这项期待已久的重做将使用大量组件的大型 ASP.NET 解决方案的分析时间减少了 5%–10%。 编辑 .cshtml
/.razor
文件时,您还会遇到更少的重新分析事件,错误报告也显著减少。
过去四周,我们一直在内部测试 ReSharper 的最新进程外 (OOP) 实现,目前的结果非常喜人。 我们仍在努力支持所有功能并修正已知问题,同时,使 ReSharper 成为开发工作流重要组成部分的核心功能正在顺利完善。
阅读我们的最新博文,了解 OOP ReSharper 的完整状态更新。
Qodana 团队代码质量工具利用 JetBrains 检查帮助团队运行检查与审核,并在他们的首选 CI/CD 管道中建立质量门。 现在,您可以通过 ReSharper 安装程序下载 Qodana Team Code Quality 扩展程序,将 Qodana Cloud 或自托管 Qodana 项目引入 Visual Studio。
识别代码问题、bug 和漏洞,直接在管道中运行分析,然后在您工作的 IDE 中查看问题,更好地进行上下文更新和学习。 您还可以选择使用 ReSharper 安装程序将其下载为独立工具。
ReSharper 2025.1 附带了一个捆绑的 Unity 插件,支持所有主要的游戏开发工作流。 该插件提供了针对 Unity 事件函数和 API 的代码补全、带有 Unity 文档链接的工具提示摘要,以及检测常见问题的专用检查。 它包括对 ShaderLab 文件的支持,提供语法高亮、代码补全和错误检测。 该插件还会自动处理 .meta
文件,并检测 Unity 场景、预制件和资源中字段和方法的隐式使用。
ReSharper C++ 继续为 Unreal Engine 开发提供专门支持。
ReSharper 2025.1 为反编译器带来了多项改进,增强了对最新 C# 功能的支持并提高了代码可读性。 最新变化如下:
required
成员的支持。 System.Threading.Lock
类型的支持。 ref
字段和 scoped
形参修饰符的支持。 allows ref struct
泛型反约束的支持。 ref struct
类型的基于模式的 using
。 .inject
C# 12 的主构造函数简化了依赖项注入。 新的 .inject
后缀模板通过在主构造函数中自动引入形参并建议有意义的名称,进一步简化了构造函数依赖项注入。
ReSharper 现在提供增强的结构化日志记录支持,帮助开发者更高效地编写和分析日志。
ReSharper 现在允许在方法返回值上进行语言注入注解,扩展了以前对形参、字段和属性的支持。
以前,多行 To-do 注释需要缩进才能继续。 ReSharper 2025.1 消除了这一限制,使编写和管理多行 To-do 更加简单,同时仍然强制执行提供的缩进。