CLion 2025.2 Help

检查:未使用的 include 指令

代码中包含的不必要头文件会减慢编译速度,并可能污染全局命名空间,甚至导致预处理冲突。 这些 include 会增加不必要的依赖性,使代码更难以探索和维护(例如,代码补全中会出现许多无关的结果)。

未使用的包含指令 检查会检测到不需要且可以安全移除的 #include 指令:

未使用的 Includes 检查

检查 不会发出警告 会提示您源文件中包含编译错误的 include。 此外,它仅检查包含 #pragma onceheader guards 的头文件——不包含这些的文件始终被标记为已使用。

配置检查

  1. 转到 设置 | 编辑器 | 检查 并在检查列表中导航到 C/C++,未使用的代码,未使用的包含指令

    未使用的 Includes 设置
  2. 选项 字段中,选择用于检测和移除未使用 include 的诊断策略:

    • 检测完全未使用的 :最保守的策略,仅检测翻译单元中从未使用声明的 #include 指令。

    • 检测未直接使用的(默认) :此策略遵循 Include What You Use 原则(即如果您使用了头文件中的符号或类型,则应包含该头文件),并检测当前文件中未直接使用声明的 #includes 指令。

    • 检测不需要的 :最激进的策略,检测保持文件可编译所需的最小 #include 指令子集,并建议移除其余所有指令。

  3. 如有需要,请设置 在头文件中运行检查 复选框。

    启用此选项后,检查会跳过 umbrella headers ,因为其中列出的指令始终被视为已使用(umbrella headers 会一次性包含所有必要的头文件,并且不包含任何声明)。

最后修改日期: 2025年 9月 26日