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 跟踪的文件。

搜索结果为