我想在我的项目中添加 clang-format 工具以遵循特定的编码风格。我已经有它的项目和生成文件。我应该如何使用 makefile 将 clang-format 工具集成到我的项目中
谢谢!
我想在我的项目中添加 clang-format 工具以遵循特定的编码风格。我已经有它的项目和生成文件。我应该如何使用 makefile 将 clang-format 工具集成到我的项目中
谢谢!
首先,您将需要clang-format
并clang-format-diff.py
在您的道路上。
这是一个 python 脚本,它以递归方式格式化目录中的所有 c/c++ 源/头文件:
import os
cpp_extensions = (".cpp", ".cxx", ".c++", ".cc", ".cp", ".c", ".i", ".ii", ".h", ".h++", ".hpp", ".hxx", ".hh", ".inl", ".inc", ".ipp", ".ixx", ".txx", ".tpp", ".tcc", ".tpl")
for root, dirs, files in os.walk("src"):
for file in files:
if file.endswith(cpp_extensions):
os.system("clang-format -i -style=file " + root + "/" + file)
我有一个.clang-format
具有自定义样式的文件,因此有-style=file
参数。-i
用于就地编辑。
这可能不是最 Pythonic 的方式,但它对我有用。你可以用 bash 重写它。
您可以format
像这样将目标添加到您的 makefile 中:
format:
python the_script.py
如果您希望您可以像这样仅格式化 git 中的脏文件(如此处所述):
format:
git diff -U0 HEAD^ | clang-format-diff.py -i -p1