ReSharper 2026.1 最新变化

欢迎阅读 ReSharper 2026.1 版本概览。 此版本旨在使日常 .NET 开发变得更加舒适和高效,其中包含:

性能监测升级

ReSharper 2026.1 引入了 Monitoring(监测)工具窗口,标志着性能监测的发展上升到新的层次。 这个全新的专用工具窗口能提供更清晰、更全面的运行时性能概览,并自动检测问题,帮助您发现优化机会。

Monitoring(监测)工具窗口可用于在应用程序运行时或调试过程中观察关键运行时指标。 它以我们之前通过 .NET 分析工具和 Dynamic Program Analysis (DPA) 提供的功能为基础,将它们整合到一个视图中,使用户能够一目了然地评估运行时行为。

Starting with ReSharper 2026.1, the Monitoring tool window is available when using ReSharper as part of the dotUltimate subscription.

Dynamic Program Analysis (DPA) 功能将在 2026.2 版本中停用,但其核心功能将继续通过新的监测体验提供。

当前限制:

The Monitoring tool window is not currently supported in Out-of-Process mode. 我们正在努力在 ReSharper 2026.2 中消除这一限制。

有关监测运作方式和使用方法的更多信息,请参阅我们的文档

扩展到与 VS Code 兼容的编辑器

ReSharper 现已支持 Visual Studio Code 以及 Cursor 和 Google Antigravity 等兼容编辑器,将 JetBrains 的 C# 工具引入您选择的编辑器中。

该扩展可为 C#、XAML、Razor 和 Blazor 提供实时代码分析、重构和导航。 它还包含一个用于管理项目和源代码生成器的 Solution Explorer,并支持对 NUnit、xUnit.net 和 MSTest 进行内置单元测试。

适用于 VS Code 的 ReSharper 和兼容编辑器可以通过 ReSharper、dotUltimate 和 All Products Pack 订阅获得。 非商业用途还可享受免费订阅。

在这篇专门的博文中了解详情。

语言支持

改进了对 C# 扩展的支持

ReSharper 2026.1 扩展了对 C# 扩展成员的支持,帮助您更高效地使用不断发展的语言功能。

新增的 Consolidate extension members(合并扩展成员)上下文操作可以将兼容的扩展声明和经典扩展方法合并为一个块。 Import extension member(导入扩展成员)快速修复也得到了改进,现在支持所有类型的扩展成员,并且可以在需要时自动添加缺失的 using 指令。

我们还改进了扩展成员的导航和重构。 ReSharper 现在可以反编译扩展块并导航到生成的源代码,Extension Method to Plain Static(扩展方法到纯 static)重构现在可以处理扩展块内部声明的方法。

对即将推出的 C# 语言功能的早期支持

ReSharper 2026.1 引入了对即将推出的 C# 语言更新的早期支持,帮助您在语言发展过程中尝试新的语法。

此版本提供对集合表达式实参的初步支持和对 [ExtendedLayout] 特性的支持,确保 ReSharper 能够继续平稳集成最新的编译器创新。

新的检查和代码样式选项

此版本添加了多个新的检查和样式选项,可以帮助您编写更安全、更一致的代码。

ReSharper 现在可以检测短暂的 HttpClient 实例,并给出更安全的重用模式建议。 它还会在将 ImmutableArray<T> 与集合初始值设定项一起使用时发出警告,因为这样可能导致运行时 NullReferenceException

其他改进包括:

  • 一项新检查,用于在属性和事件中强制执行访问器方法的顺序。
  • 一个空字符串的语法样式选项,可以在 string.Empty"" 之间进行选择。
  • 改进了可为 null 的引用类型迁移,并提供了在新文件中自动插入 #nullable enable 的选项。
  • 增强的代码补全,可以基于 [LoggerMessage] 特性生成方法定义。

索引、代码补全和分析速度更快

此版本在索引、代码补全和代码分析方面带来了多项性能改进。

我们重新设计了程序集内定义的注解类型成员的索引过程,使其更加高效且更节省内存。

通过消除某些高耗时计算,导入补全的响应速度现在更快。

我们还优化了多个性能关键的代码路径,减少了开销大的接口类型检查,从而提高了代码分析速度,降低了总体开销。

缩短了在 ReSharper C++ 2026.1 中处理 Unreal Engine 项目时的启动时间,减少了内存使用量

C++ 改进

ReSharper 2026.1 对 C++ 支持的改进包括:

  • 性能:缩短了 Unreal Engine 项目的启动时间,减少了内存使用量。
  • 语言支持:支持 C23/C++26 #embed 指令、C++23 扩展浮点类型、C2Y _Countof 运算符等功能。
  • 编码辅助:C++20 模块的自动导入,基元类型、字面量和用户定义的字面量后缀的后缀补全。
  • 代码分析:新增针对无序指定的初始值设定项和重写可见性不匹配的检查,捆绑的 Clang Tidy 已更新为 LLVM 22。
  • Unreal Engine:Code Vision 和 Find Usages(查找用法)中的蓝图集成更加丰富,针对即将推出的 Unreal Engine 5.8 的兼容性修正。

ReSharper C++ 2026.1 最新变化页面详细了解 C++ 更新。

提高了 Out-of-Process(进程外)模式下的稳定性

我们持续改进 ReSharper 的 Out-of-Process(进程外)模式的稳定性,通过将 ReSharper 的后端与 Visual Studio 分离,提高了响应能力和弹性。

在此版本中,我们解决了 70 多个问题,并针对 Out-of-Process(进程外)架构做出了改进。 这些修正解决了各种场景中的问题,包括导航(特别是 Peek(速览)操作)、UI 交互、单元测试会话和解决方案状态同步。

ReSharper 在 Out-of-Process(进程外)模式下使用的 .NET 运行时也已更新到 .NET 10。

现代化补全和弹出窗口 UI

ReSharper 中的多个编辑器 UI 元素已更新,以更好地与 Visual Studio 的现代外观保持一致。

重新设计后,代码补全 UI 现在可以在编辑器内呈现更简洁且更一致的外观。

我们还对部分相关的 UI 组件进行了现代化升级,包括参数信息弹出窗口工具提示其他编辑器弹出窗口,以替换过时的视觉效果,并改进它们在不同主题和 DPI 设置下的外观。

更新后的 UI 现在支持 Visual Studio 的编辑器缩放功能,从而确保在缩放级别改变时,补全列表和参数信息能够正确缩放显示。