排除目录 clang 格式

exclude directory clang format

.clang-format文件中是否有官方指令排除申请目录?

项目有时会使用git submodule,但是运行 clang-format遍历所有目录然后使用git checkout撤消子模块文件夹中的更改是没有用的。

我找到了一些相关链接:

但他们似乎不是官方的。

到目前为止,我不知道有任何 clang-format 选项可以排除文件或目录。但是我所做的是在 bash 脚本中创建我要处理的文件列表,然后为它们调用 clang-format:

#!/bin/bash
folder=.
exclude_folder=./submodule
format_files=`find "${folder}" -type f -path "${exclude_folder}" -prune

for file in $format_files
do
  clang-format -i "$file"
done

这里的魔法是由 find 中的修剪选项完成的。 (How to exclude a directory in find . command).

希望这至少能帮到你。

如果您可以添加新的 _clang 格式文件(虽然在这种情况下看起来您不能?),您可以使用

创建一个新文件
DisableFormat: true
SortIncludes: false

显然,如果您不能添加新的 _clang 格式文件,这将不起作用:)