ReSharper 2025.2 Help

代码分析

代码检查

除了检查 C++ 代码常规方面的数百项 代码检查外,还有一些特定于 Unreal Engine 项目的检查。

UnrealHeaderTool(2 项检查)

检查

默认严重性

UnrealHeaderTool 错误

错误

UnrealHeaderTool 警告

警告

Unreal Engine(20 项检查)

此类别中的检查特定于 Unreal Engine项目。

检查

默认严重性

不存在此名称的操作

警告

不存在此名称的轴

警告

BlueprintCallable 函数可以设为 const

提示

BlueprintCallable 函数可以设为 static

提示

BlueprintCallable 函数从未在 Blueprint 或 C++ 代码中使用

警告

BlueprintImplementableEvent 函数未在任何 Blueprint 中实现

警告

未找到 C/C++ 标准库头文件

错误

Unreal Engine 命名不一致

提示

Unreal Engine UCLASS 命名不一致

错误

绑定到委托的方法未使用 UFUNCTION 宏标记

警告

缺少对父类函数的调用

警告

非 UProperty 对象成员可能在垃圾回收期间被销毁,导致指针失效

警告

存储在非 UProperty 成员中的对象可能在垃圾回收期间被销毁,导致指针失效

警告

未找到指定版本的引擎项目

错误

结构体缺少 TStructOpsTypeTraits 所需的成员

错误

UFUNCTION 宏调用无效

警告

未定义 Unreal 宏的 Unreal Engine 源文件

警告

Unreal Engine 版本文件不存在

错误

UPROPERTY 宏调用无效

警告

使用了未先声明的类

提示

UnrealHeaderTool 集成

UnrealHeaderTool 是一个用于 Unreal Engine 的解析和代码生成工具。 在 Unreal Engine 代码编译工作流中,该工具会解析 C++ 头文件,查找与 Unreal 相关的宏和元数据,并利用这些信息生成额外的代码,以支持 UObject 系统,例如反射和网络功能。

ReSharper 提供与 UnrealHeaderTool 的无缝集成:首次构建 Unreal Engine 项目时,ReSharper 会找到用于代码编译的 UnrealHeaderTool,然后可以在后台作为单独的进程运行该工具,以检查您正在编辑的文件,并显示您通常会在编译时看到的相同错误和警告。 代码分析结果直接显示在编辑器中,就像其他 ReSharper 的检查一样。

ReSharper 仅对当前打开的文件运行 UnrealHeaderTool,并且该过程经过优化,对整体性能的影响最小。

观看此视频,了解集成的 UnrealHeaderTool 检查的实际效果:

UnrealHeaderTool 检查

UnrealHeaderTool 可以检测到代码中的许多不同问题,例如使用特定元标记但缺少所需的反射说明符、在私有范围内使用 GENERATED_BODY 宏、将无效实体暴露给蓝图等。 以下是一些示例:

  • UFUNCTION 上缺少反射说明符。

    UnrealHeaderTool 错误:需要 'reliable' 或 'unreliable'
  • 在结构体中使用 UFUNCTION 宏。

    UnrealHeaderTool 错误:USTRUCTs 不能包含 UFUNCTIONs
  • 无效的 BlueprintType 枚举基类。

    UnrealHeaderTool 错误:当前仅支持 uint8

要区分 UnrealHeaderTool 检查和 ReSharper 的检查,您可以查看检查消息中附加的方括号内的检查名称。

配置 UnrealHeaderTool 检查

所有 UnrealHeaderTool 检查都有相应的 可配置严重性级别 ,您可以 根据需要进行调整

与内置检查一样,您可以使用检查上下文菜单 快速更改 UnrealHeaderTool 检查的严重性通过注释抑制它 (在特定范围或全局范围内),或 查找并调查所有类似问题

ReSharper:Clang-Tidy 检查菜单
最后修改日期: 2025年 9月 27日