使用 clang-format 可自动统一 C++ 代码风格。通过安装工具、生成 .clang-format 配置文件,并在命令行或编辑器中调用,实现代码格式化;支持多种编码规范,可集成到 Git 提交流程,确保提交代码符合规范,提升团队协作效率。
clang-format 是 LLVM 项目中一个强大的代码格式化工具,能自动将 C++ 代码调整为指定风格。它支持多种主流编码规范(如 Google、LLVM、Chromium、Mozilla 等),也可以自定义规则。配置后可在命令行、编辑器或 CI 流程中自动运行。
在常用系统上安装方式如下:
安装完成后,验证是否可用:clang-format --version
在项目根目录创建 .clang-format 文件,定义代码风格。可使用以下命令生成默认配置:
clang-format -style=google -dump-config > .clang-format也可选择其他内置样式:
若需自定义,可手动编辑 .clang-format,常见设置项包括:
BasedOnStyle: Google
mnLimit: 100
格式化单个文件:
clang-format -i src/main.cpp格式化多个文件(如所有 .cpp 和 .h 文件):
find . -name "*.cpp" -o -name "*.h" | xargs clang-format -i只查看改动而不写入文件:
clang-format src/main.cpp多数现代编辑器支持保存时自动格式化:
可通过 Git 钩子在提交前自动格式化代码。创建 .git/hooks/pre-commit 脚本:
#!/bin/sh赋予执行权限:chmod +x .git/hooks/pre-commit
这样每次提交时会自动格式化变更的 C++ 文件。
使用 clang-format 可有效统一团队代码风格。关键是项目根目录放置 .clang-format 文件,并让所有成员使用相同版本工具。配合编辑器和 Git 钩子,实现“编写即规范”,减少人工 Review 成本。
基本上就这些。