如何指定clang格式文件?

dro*_*del 18 c++ llvm clang llvm-clang clang-format

我刚刚在Redhat 6机器上构建了clang 5.0.0并尝试运行clang-format.我无法获得样式文件中的-style选项.这是我认为应该工作的一组命令的示例:

./clang-format -style=llvm -dump-config > .llvm-format
./clang-format -style=.llvm-format ~/myFile.cc
Run Code Online (Sandbox Code Playgroud)

当我运行此命令时,我收到以下错误:

Invalid value for -style
Run Code Online (Sandbox Code Playgroud)

当它按预期放在父目录中时,它似乎找到并使用.clang格式.内置类型也有效:

./clang-format -style=Mozilla ~/myFile.cc
Run Code Online (Sandbox Code Playgroud)

那么问题是我无法明确指定要使用的.clang格式文件.这是我的构建问题还是我滥用clang-format oir误解了文档?

nwp*_*nwp 32

我也对此感到困惑.当他们告诉你使用-style=file他们的字面意思-style=file,而不是-style=<path/to/actual/filename>.clang-format然后将查找.clang-format目标文件目录中调用的文件.如果没有找到它会cd ..再试一次.似乎没有办法告诉clang-format使用未完全调用的文件.clang-format.

您的示例的正确用法是

./clang-format -style=llvm -dump-config > ~/.clang-format
./clang-format -style=file ~/myFile.cc
Run Code Online (Sandbox Code Playgroud)

  • 这是迄今为止我听说过的最愚蠢的实现之一。至少我每天都在哭…… (13认同)
  • 我应该使用 `--style=file` 还是 `-style=file`? (3认同)

Dwa*_*son 19

(更新于 2022 年 2 月 25 日)clang 14.0.0-RC1或更高版本现在支持-style=file:<format_file_path>此更改“添加选项以显式指定配置文件”进入主分支。它被记录在这里。这对我有用:

.\LLVM14.0.0RC1\bin\clang-format.exe test.cpp -style=file:my_clang_format.txt
Run Code Online (Sandbox Code Playgroud)