我想检查clang-format我的每个标头是否都有适当的包含防护。例如,对于文件dopelib/dopestuff/whatitisyo.h,我希望代码的格式如下:
#ifndef DOPELIB_DOPESTUFF_WHATITISYO_H
#define DOPELIB_DOPESTUFF_WHATITISYO_H
/** Code here. **/
#endif // DOPELIB_DOPESTUFF_WHATITISYO_H
Run Code Online (Sandbox Code Playgroud)
可以clnag-format检查这个结构并确保包含保护存在并且它的命名与中的文件名适当#ifndef(类似于 cpplint 的作用)?
据我所知,clang-format目前不支持这个。
clang-tidy但是,您可以使用(此处记录)来完成此操作。像这样调用它:
clang-tidy -checks='-*,llvm-header-guard' -fix-errors myIncludeFile.h
Run Code Online (Sandbox Code Playgroud)
解释:
-*禁用clang-tidy所有检查llvm-header-guard处理clang-tidy包含警卫的检查(记录在此处)-fix-errors修复clang-tidy任何由此产生的问题,即使在解析文件时遇到其他错误llvm-header-guard包含防护的预期格式正是您上面所要求的;例如文件 mydir/myfile.h 将使用 MYDIR_MYFILE_H。我没有看到任何文档实际指定这是它使用的格式,但我已经验证至少版本 6.0.0 确实使用该格式。
另请参阅:clang include fixer,它执行类似的操作。
| 归档时间: |
|
| 查看次数: |
3503 次 |
| 最近记录: |