如何让clang-format忽略部分生成的C源文件?
如何让clang-format忽略指定文件?
当然可以,有几种实用方法来让clang-format跳过自动生成的文件:
在.clang-format配置文件中全局排除
在项目根目录的.clang-format文件里添加Excludes字段,用通配符指定要忽略的文件或目录,所有团队成员执行clang-format时都会自动跳过这些路径:--- Excludes: - "src/generated/*.c" - "build/autogen/**/*" ...给生成文件添加特殊注释标记
在自动生成的C文件开头添加// clang-format off注释,clang-format会跳过整个文件的格式化;如果只想跳过部分内容,在需要忽略的代码块前后分别加上// clang-format off和// clang-format on:// clang-format off // 以下为自动生成代码,无需格式化 #include "autogen_header.h" void auto_gen_func() { // 生成的代码内容 } // clang-format on命令行执行时手动排除
运行clang-format时用--exclude参数指定要跳过的文件:clang-format -i --exclude="src/generated/*.c" src/**/*.c使用git clang-format时,可通过git路径排除语法跳过目标文件:
git clang-format -- src/**/*.c ':!src/generated/*.c'
内容的提问来源于stack exchange,提问作者thoni56
相关产品推荐
相关产品推荐

