为什么 clang-tidy readability-isolate-declaration 不修复代码?

Why clang-tidy readability-isolate-declaration not fixing code?

我尝试在 clang-tidy 中使用 readability-isolate-declaration 检查,但没有解决任何问题。 test.cpp 文件中的代码示例:

void f() {
    int a = 0, b = 1, c = 2;
}

我做了什么:

clang-tidy -checks='readability-isolate-declaration' -fix test.cpp

输出:

Error while trying to load a compilation database:
Could not auto-detect compilation database for file "test.cpp"
No compilation database found in /home/anzipex/Downloads/clang-test or any parent directory
fixed-compilation-database: Error while opening fixed database: No such file or directory
json-compilation-database: Error while opening JSON database: No such file or directory
Running without flags.

这里有几个问题:

  1. readability-isolate-declaration clang-tidy 6 中不存在检查。升级到更新的版本
  2. 如果您没有编译数据库,可以使用--(双破折号)指定编译选项。即使您指定 none,这也会告诉 clang-tidy 编译该文件。参见 documentation.
  3. 你没有告诉 clang-tidy 排除你想要的检查之外的其他检查

命令应该是这样的:

clang-tidy -checks='-*,readability-isolate-declaration' test.cpp -fix --

输出:

void f() {
    int a = 0;
    int b = 1;
    int c = 2;
}