10

.clang-format在我的主目录中设置 indentwidth 4 如下。

BasedOnStyle:  LLVM
Standard:        Cpp11
IndentWidth:     4   
TabWidth:        4   
UseTab:          Never 

但是当我clang-format -style='~/.clang-format' a.cpp用来格式化我的代码时,缩进宽度变成了 2。比如:

// See this indent width 2. The original file has width 4, 
// but clang-format changes it to width 2.
int main(int argc, char const *argv[]) {
  A a;  
  a.bar();

clang-format --version 的输出是

LLVM (http://llvm.org/):
  LLVM version 3.4.2
  Optimized build.
  Default target: x86_64-unknown-linux-gnu
  Host CPU: core-avx-i

如何让 clang-format 使用缩进宽度 4 格式化我的代码(.h、.c、..)?

4

1 回答 1

13

http://clang.llvm.org/docs/ClangFormat.html

-style选项不采用文件路径。它使用字符串file来指示使用 .clang 格式的文件,并在正在处理的文件的父目录中查找该文件,或者在转换标准输入时在工作目录及其父目录中查找该文件。

你也可以给它一个字符串,直接设置你想要的选项:

clang-format -style="{IndentWidth: 4,TabWidth: 4}"

您还可以使用该-dump-config选项来检查配置。


-style='~/.clang-format'

使用~来引用你的主目录通常依赖于 shell globbing。在这样的参数中,shell 不会为您执行此操作。因此,即使-style确实选择了一条路径,也不会产生正确的路径。

于 2014-11-04T17:01:54.420 回答