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

如何让Clang-format将以当前文件名开头的头文件归为主头文件?

实现方案

可以实现,不用依赖IncludeIsMainRegex,直接通过配置IncludeCategories加正则就能搞定。

针对你在Main.c里的需求,在项目的.clang-format配置文件里加以下规则:

IncludeCategories:
  # 匹配所有以Main开头的头文件,设为最高优先级(第0类)
  - Regex: '^"Main\.h"|^"Main_.*\.h"'
    Priority: 0
  # 系统头文件归为第1类
  - Regex: '^<.*>'
    Priority: 1
  # 其他本地头文件归为第2类
  - Regex: '".*"'
    Priority: 2

细节说明:

  • 第一条正则精准匹配Main.h和所有Main_xxx.h格式的头文件,优先级设为0,就和主头文件的归类效果完全一样,会被排在最前面。
  • 正则是从上到下匹配的,所以优先级高的规则一定要放在前面,不然会被后面的规则覆盖。
  • 如果你的项目里还有其他类似的源文件(比如Bar.c要匹配Bar_xxx.h),直接复制第一条规则把Main换成Bar就行;要是文件前缀很多,也可以写更宽泛的正则,比如^"([A-Za-z0-9]+)_.*\.h",但要注意别误匹配到其他不想归类的头文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 21:03:14