【问题标题】:exclude directory clang format排除目录 clang 格式
【发布时间】:2018-12-21 22:28:32
【问题描述】:

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

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

我找到了一些相关链接:

但它们似乎并不正式。

【问题讨论】:

标签: git scripting clang-format


【解决方案1】:

如果您可以添加新的 _clang-format 文件(虽然在这种情况下看起来您不能?)您可以使用以下命令创建一个新文件

DisableFormat: true
SortIncludes: false

如果您不能添加新的 _clang 格式文件,这显然是行不通的 :)

【讨论】:

  • SortIncludes 应设置为 Never 而不是 false。
【解决方案2】:

到目前为止,我不知道任何可以排除文件或目录的 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 中的 prune 选项完成的。 (How to exclude a directory in find . command)。

希望这至少对您有所帮助。

【讨论】:

  • 感谢您的回答。我认为 - 这是有用的解决方案。
猜你喜欢
  • 2020-10-18
  • 1970-01-01
  • 2020-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-10
  • 2014-02-14
  • 2011-05-04
相关资源
最近更新 更多