clang-format 不修改磁盘上的文件

clang-format does not modify file on disk

我有以下格式错误的文件,test.cpp

#include "maininclude.h"

int main() {
             class SIMPLE smpl;
  for (int i = 1; i < 100; 
  i++) {
      printf("Printing %d", i); // Trying out different stuff...
getchar();
  }
}

我想 运行 clang-format。在 运行 之前,为了直观地看到要修改的地方,我 运行 clang-format -n test.cpp。这正确地识别了由于格式不正确而将被更改的点并在终端上输出:

test.cpp:3:13: warning: code should be clang-formatted [-Wclang-format-violations]
int main() {
            ^
test.cpp:5:27: warning: code should be clang-formatted [-Wclang-format-violations]
  for (int i = 1; i < 100; 
                          ^
test.cpp:6:9: warning: code should be clang-formatted [-Wclang-format-violations]
  i++) {
        ^
test.cpp:7:64: warning: code should be clang-formatted [-Wclang-format-violations]
          printf("Printing %d", i); // Trying out different stuff...
                                                                    ^

在 运行ning clang-format test.cpp 上,我获得了正确格式的文件的外观(此显示在终端上):

#include "maininclude.h"

int main() {
  class SIMPLE smpl;
  for (int i = 1; i < 100; i++) {
    printf("Printing %d", i); // Trying out different stuff...
    getchar();
  }
}

然而,运行执行上述命令不会更改磁盘上的实际 test.cpp 文件。是否有单独的 option/command 让 clang-format 继续并应用其更改并将文件保存到磁盘?

来自man clang-format

       -i                         - Inplace edit <file>s, if specified.

使用-i选项,即Inplace edit <file>s。它将就地编辑文件。