clang-format
自 0.50.0 起
当 clang-format
已安装并且在主项目根源代码目录中找到 .clang-format
文件时,Meson 会自动添加一个 clang-format
目标,它会重新格式化所有 C 和 C++ 文件(目前仅适用于 Ninja 后端)。
ninja -C builddir clang-format
自 0.58.0 起
可以使用可选的 .clang-format-include
和 .clang-format-ignore
文件来限制要重新格式化的文件。
.clang-format-include
文件包含匹配将要重新格式化的文件的模式列表。**
模式匹配此目录及其所有子目录。空行和以 #
开头的行将被忽略。如果找不到 .clang-format-include
,则模式默认为 **/*
,这意味着源代码目录中所有文件(递归),但缺点是它会遍历整个源代码树,如果源代码树包含大量文件,这可能会很慢。
.clang-format-include
文件示例
# All files in src/ and its subdirectories
src/**/*
# All files in include/ but not its subdirectories
include/*
.clang-format-ignore
文件包含匹配将要排除的文件的模式列表。与包含列表匹配(见上文)且与忽略模式匹配的文件将不会被重新格式化。与包含模式不同,忽略模式不支持 **
,单个 *
匹配任何字符,包括路径分隔符。空行和以 #
开头的行将被忽略。
构建目录和没有已知 C 或 C++ 后缀的文件始终会被忽略。
.clang-format-ignore
文件示例
# Skip C++ files in src/ directory
src/*.cpp
请注意,.clang-format-ignore
的格式与 run-clang-format.py
中使用的格式相同。
已添加一个新的目标 clang-format-check
。如果任何文件需要重新格式化,它将返回一个错误代码。这旨在供 CI 使用。
自 0.60.0 起
如果 .clang-format-include
文件丢失且源文件位于 git 存储库中,则仅包含由 git 跟踪的文件。
搜索结果为