如何指定一个clang-format文件

How do I specify a clang-format file?

本文关键字:一个 clang-format 文件 何指定      更新时间:2023-10-16

i刚刚在Redhat 6机器上构建了Clang 5.0.0,并试图运行Clang-Format。我无法获取式式选项以读取样式文件。这是我认为应该有效的一组命令的示例:

./clang-format -style=llvm -dump-config > .llvm-format
./clang-format -style=.llvm-format ~/myFile.cc

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

Invalid value for -style

在预期将其放置在父目录中时,它似乎可以找到和使用.clang-format。内置类型也有效:

./clang-format -style=Mozilla ~/myFile.cc

问题是,我无法明确指定要使用的.clang-Format文件。这是我的构建问题还是我滥用文档误解的clang-format oir?

我也对此感到困惑。当他们告诉您使用标志-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

(更新了2022-02-25)clang 14.0.0-rc1或更高版本现在支持-style=file:<format_file_path>此更改之后"添加"选项以明确指定配置文件。进入主分支。在这里记录在这里。这对我有用:

.LLVM14.0.0RC1binclang-format.exe test.cpp -style=file:my_clang_format.txt

只是一个附加的提示:(在我的Windows 10上) - 如果将配置转储到文件中,请检查之后的ASCII编码,例如在记事本 中 - .clang-Format文件必须是没有BOM的UTF8 !!!(您可以在Notepadd 中转换) - 否则您会遇到一个错误,例如" yaml:1:4:错误:获得空的普通标量" - 将.clang-Format文件放在同一文件夹或代码文件的父目录中。C

正确的命令行调用以格式化代码文件。C看起来像:clang -format.exe -style = file -i c: path code -file.c