clang-format:如果文件不存在则使用自定义样式

clang-format: Use custom style if file doesn't exist

如果 .clang-format 不存在,我想使用自定义样式来格式化代码。有什么办法吗? 我使用了 --fallback-style 但它失败了。

clang-format -i --style=file --fallback-style="{BasedOnStyle: google, IndentWidth: 4, ColumnLimit: 100}" a.cpp

它引发错误:

Invalid fallback style "{BasedOnStyle: google, IndentWidth: 4, ColumnLimit: 100}

如果 .clang_format 文件不存在,我怀疑是否有命令行选项可以使用另一种样式。

选项 -fallback-style 仅适用于预定义样式,即 llvmchromiummozillagooglewebkitgnumicrosoft。还有 none 可以跳过格式化。例如,您可以使用 -fallback-style=google

但是我会建议其他方法。以下是 clang-format 查找文件的方式: 它检查所有目录中的 .clang-format_clang-format 文件,从包含要格式化的文件的目录开始,然后是该目录的父目录,然后是该目录的父目录,依此类推到根目录.所以有两种选择:

  1. 手动检查 clang-format 的配置文件是否存在。
  2. 将您的自定义回退样式放在根目录或主目录中,以便 clang-format 可以找到您的文件,以防它在项目中找不到它