You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过clang-format确保pch.h是第一个被包含的头文件?

让clang-format始终将预编译头(pch.h)放在首位的方案

方法1:用IncludeIsMainRegex标记预编译头

clang-format自带的IncludeIsMainRegex配置项,专门用来识别需要放在最前面的"主头文件",只需将其设置为匹配你的预编译头文件名即可:

IncludeIsMainRegex: 'pch\.h'

这个配置会让clang-format自动把匹配到的#include "pch.h"放在所有头文件的最前面,不管你使用Merge或Regroup这类IncludeBlocksStyle规则,完全不需要手动分隔头文件块。

方法2:通过IncludeCategories设置优先级

如果需要更灵活的头文件分类排序逻辑,可以把预编译头单独归为最高优先级的类别:

IncludeCategories:
  - Regex:           '^".*pch\.h"'
    Priority:        0
  - Regex:           '^<.*>'
    Priority:        1
  - Regex:           '^".*"'
    Priority:        2
IncludeBlocksStyle: Regroup

优先级数字越小越靠前,这里把pch.h的优先级设为0,确保它排在所有其他头文件之前。

关于你的临时方案

你用IncludeBlocksStyle: Preserve+手动分隔的方式确实能生效,但缺点是需要手动维护头文件块的分隔,不够自动化。上面两种方法都能实现自动将pch.h置顶,无需手动干预。

内容的提问来源于stack exchange,提问作者Yomi1984

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 13:40:34