clang-tidy -fix 不应用任何更改
clang-tidy -fix does not apply any changes
我 运行 clang-tidy
使用以下命令:
run-clang-tidy.py -checks="-*,cppcoreguidelines-*,hicpps-*" -header-filter=".*" -fix"
(或 clang-tidy -checks="-*,cppcoreguidelines-*,hicpps-*" -header-filter=".*" -fix"
也有效)
这个returns错误很多。它也在终端中显示 applying fixes...
因为我添加了 -fix
选项。
我的问题是 cppcoreguidelines-*
和 hicpps-*
修复未应用,仅显示。我选择的支票是否不支持解决我的 1000 个问题?
您应该使用 -fix-errors
选项而不仅仅是 -fix
。如果存在编译器错误,后者将不会应用任何修复。
见 clang-tidy documentation:
-fix -
Apply suggested fixes. Without -fix-errors
clang-tidy will bail out if any compilation
errors were found.
-fix-errors -
Apply suggested fixes even if compilation
errors were found. If compiler errors have
attached fix-its, clang-tidy will apply them as
well.
当我试图通过 LLVM 的 run-clang-tidy
python 脚本自动应用 clang-tidy 修复时,我也 运行 遇到了同样的问题:
问题的根源
对我来说,run-clang-tidy.py script
、clang-tidy
和 clang-apply-replacements
的版本不匹配。
后者是版本 10 而不是 11,因此安装 clang-tidy-11
并将 clang-apply-replacements
链接到 clang-apply-replacements-11
为我解决了这个问题。我还从 LLVM 的存储库中下载了带有匹配标签的 run-clang-tidy
脚本。
这是否也是您问题的原因?
如果报告的版本不匹配,类似的步骤也可能会解决您的问题。
clang++ --version
clang-tidy --version
clang-apply-replacements --version
我 运行 clang-tidy
使用以下命令:
run-clang-tidy.py -checks="-*,cppcoreguidelines-*,hicpps-*" -header-filter=".*" -fix"
(或 clang-tidy -checks="-*,cppcoreguidelines-*,hicpps-*" -header-filter=".*" -fix"
也有效)
这个returns错误很多。它也在终端中显示 applying fixes...
因为我添加了 -fix
选项。
我的问题是 cppcoreguidelines-*
和 hicpps-*
修复未应用,仅显示。我选择的支票是否不支持解决我的 1000 个问题?
您应该使用 -fix-errors
选项而不仅仅是 -fix
。如果存在编译器错误,后者将不会应用任何修复。
见 clang-tidy documentation:
-fix -
Apply suggested fixes. Without -fix-errors
clang-tidy will bail out if any compilation
errors were found.
-fix-errors -
Apply suggested fixes even if compilation
errors were found. If compiler errors have
attached fix-its, clang-tidy will apply them as
well.
当我试图通过 LLVM 的 run-clang-tidy
python 脚本自动应用 clang-tidy 修复时,我也 运行 遇到了同样的问题:
问题的根源
对我来说,run-clang-tidy.py script
、clang-tidy
和 clang-apply-replacements
的版本不匹配。
后者是版本 10 而不是 11,因此安装 clang-tidy-11
并将 clang-apply-replacements
链接到 clang-apply-replacements-11
为我解决了这个问题。我还从 LLVM 的存储库中下载了带有匹配标签的 run-clang-tidy
脚本。
这是否也是您问题的原因? 如果报告的版本不匹配,类似的步骤也可能会解决您的问题。
clang++ --version
clang-tidy --version
clang-apply-replacements --version