ReSharper C++ 2026.1 缩短了启动时间,并降低了内存使用率。 此版本增加了对 C++26 #embed 指令和其他新语言功能的支持。 编码辅助改进包括 C++20 模块的自动导入和新增的后缀补全场景。 Unreal Engine 开发者可以利用改进的蓝图集成,以及针对即将推出的 Unreal Engine 5.8 的兼容性修正。
ReSharper C++ 2026.1 为 IDE 体验的所有阶段带来了显著的性能优化,专门针对大型 Unreal Engine 项目的需求进行了调整。 我们在 Out-of-Process(进程外)模式下对 Unreal Engine 的 Lyra 示例项目进行了测试,结果表明以下方面有所改进:
ReSharper C++ 现在支持 C++26 和 C23 中引入的 #embed 预处理器指令。 借助此指令,您可以直接将二进制资源文件的内容嵌入到源代码中,而无需使用外部工具或生成代码。
此版本还添加了对另外两个语言功能的支持:
_Countof 运算符:ReSharper C++ 现在可以识别 C2Y(即将推出的 C 标准)中的 _Countof 运算符,该运算符可以返回数组的元素数量。 bfloat16_t、float16_t 和 float128_t 浮点类型。
ReSharper C++ 2026.1 改进了与编译器特定扩展程序的兼容性:
_Nullable/_Nonnull 限定符:解析器现在可识别 Clang 的指针 null 性限定符。
ReSharper C++ 现在支持自动导入 C++20 模块,可减轻认知负担。 当您使用已导出的符号、但缺少相应的 import 声明时,IDE 现在会提供智能建议,自动插入声明。 目前,自动导入功能仅支持用于直接从主模块接口单元和模块分区导出的符号。
后缀补全扩展为涵盖以下场景:
int、bool 和 float。 42.cos 会展开为 cos(42)。 _ 的字面量时,ReSharper C++ 会建议当前作用域内可见的匹配 operator"" 后缀。
两项自动缩进改进可带来更流畅的编辑体验:
class [[deprecated]] MyClass {}),IDE 也能以适当的缩进正确定位光标。 extern 块内的自动缩进现在遵循缩进链接规范块成员格式设置。
ReSharper C++ 2026.1 改进了蓝图支持:
BlueprintPure:Code Vision 现在除了识别标有 BlueprintCallable 的函数外,还能识别标有 BlueprintPure 说明符的函数。 BlueprintNativeEvent 和 BlueprintImplementableEvent 函数的实现。 BlueprintAssignable 委托属性在蓝图侧的绑定。
ReSharper C++ 现在默认对 Unreal Engine 插件进行索引。 随着 Unreal Engine 项目中插件使用量的增加,以及近期性能的提升,默认对插件进行索引可开箱即用地提供更出色的代码分析和导航功能。 您可以在 Settings(设置)中的 ReSharper | Options | Code Editing | C/C++ | Unreal Engine(ReSharper | 选项 | 代码编辑 | C/C++ | Unreal Engine)页面上恢复之前的行为。
ReSharper C++ 还支持即将发布的 Unreal Engine 5.8 中的 UnrealHeaderTool 变更。 特别要注意的是,DECLARE_DYNAMIC_MULTICAST_DELEGATE 宏不会再在代码分析中触发误报错误。
如果您对用于 Unreal Engine 开发的独立跨平台 IDE 感兴趣,请选择 Rider。 Rider 中的 Unreal Engine 支持与 ReSharper C++ 保持一致,您可以在 Rider 2026.1 更新中期待相同改进。
ReSharper C++ 2026.1 更新了捆绑的 Clang-Tidy 二进制文件,引入了 LLVM 22 版本中的最新检查和增强功能。
新增的检查功能可检测出指定初始值设定项的出现顺序与结构体中对应成员的声明顺序不一致的情况。 由于 C++20 要求指定初始值设定项遵循声明顺序,因此,如果初始值设定项顺序错误,将导致编译错误。 ReSharper C++ 现在会标记出此类情况,并提供快速修复,以自动重新排列初始值设定项列表的顺序,使其与结构体定义保持一致。
另一项新增的检查功能会在函数访问级别(public、protected 或 private)与其在基类中重写的虚拟函数的访问级别不同时发出警告。 虽然 C++ 允许更改重写的访问级别,但这样做往往并非有意为之,并可能导致意外行为。 该检查功能可帮助捕捉这些不易察觉的不匹配情况。
此版本将 Unused symbol(未使用符号)检查扩展到 .cpp 源文件中定义的类成员。 此前,这些成员被假定为外部可见,并被排除在 Unused symbol(未使用符号)分析之外。 现在,会按照与分析 static 函数和匿名命名空间成员时采用的方式对其进行分析。
我们优化了 C++ 文件中的装订区域标记,帮助您用最少的工作量浏览并理解复杂的代码库。
Go to Declaration(转到声明)和其他导航操作现在除了可用于类型名称之外,还可用于大括号初始化表达式中的左大括号(例如 MyStruct { 1 })。
ReSharper C++ 工具提示现已在 Visual Studio 2026 中可用,恢复了初始 Visual Studio 2026 兼容版本中缺失的对工具提示的支持。 工具提示的展示也得到了改进:现在可借助图标区分符号类型,并且主题支持功能也得到了增强。
ReSharper 中的多个编辑器 UI 元素已更新,以更好地与 Visual Studio 的现代外观保持一致。
重新设计后,代码补全 UI 现在可以在编辑器内呈现更简洁且更一致的外观。
我们还对部分相关的 UI 组件进行了现代化升级,包括参数信息弹出窗口、工具提示和其他编辑器弹出窗口,以替换过时的视觉效果,并改进它们在不同主题和 DPI 设置下的外观。
更新后的 UI 现在支持 Visual Studio 的编辑器缩放功能,从而确保在缩放级别改变时,补全列表和参数信息能够正确缩放显示。
ReSharper C++ 2026.1 修复了项目模型存在的几个问题:
.tlb)。 查看 ReSharper 最新变化页面,了解此版本中引入的所有其他更改。