.clang-tidy 配置文件内容被忽略
.clang-tidy configuration file content is being ignored
我想修改代码分析器程序 clang-tidy
正在做的检查,但配置文件 .clang-tidy
的内容似乎被忽略了。
- 我通过使用标志
-dump-config
调用 clang-tidy
创建文件,并将输出重定向到文件 .clang-tidy
.
- 然后我调用
sed
将值 800
替换为值 700
,这对应于带有键 google-readability-function-size.StatementThreshold
的选项。具体选项对我来说并不重要,这只是为了测试。
- 我验证该值确实已更改。
- 最后,我重新运行
clang-tidy
看它是否接受了新的配置,但它仍然没有改变。
# generate config
clang-tidy -dump-config > .clang-tidy
# change config
sed -i 's/800/700/' .clang-tidy
# verify change
grep '700' .clang-tidy
# use config, does not work
clang-tidy -config '' -dump-config
CheckOption保持默认值,配置文件的内容已被忽略:
CheckOptions:
# some lines omitted for brevity
- key: google-readability-function-size.StatementThreshold
value: '800'
运行 clang-tidy -config '' -dump-config -explain-config
表明至少找到了配置文件,即在检测到的配置文件中启用了许多 clang-analyzer 特定检查,但检查 google-readability-function-size.StatementThreshold
是未列出。
我也尝试使用命令 clang-tidy -config="{CheckOptions: [ {key: google-readability-function-size.StatementThreshold, value: 700} ]}" -dump-config
直接将配置作为命令行参数传递,但得到了相同的结果。
命令 clang-tidy --version
给出以下输出,运行 on Ubuntu 20.04:
LLVM (http://llvm.org/):
LLVM version 10.0.0
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: haswell
要查看更改,您需要启用检查:
Checks: 'google-readability-function-size'
您可以在有效配置中看到它发生了变化:
clang-tidy --dump-config
另一个需要注意的陷阱是解析值的错误将被静默丢弃。
我想修改代码分析器程序 clang-tidy
正在做的检查,但配置文件 .clang-tidy
的内容似乎被忽略了。
- 我通过使用标志
-dump-config
调用clang-tidy
创建文件,并将输出重定向到文件.clang-tidy
. - 然后我调用
sed
将值800
替换为值700
,这对应于带有键google-readability-function-size.StatementThreshold
的选项。具体选项对我来说并不重要,这只是为了测试。 - 我验证该值确实已更改。
- 最后,我重新运行
clang-tidy
看它是否接受了新的配置,但它仍然没有改变。
# generate config
clang-tidy -dump-config > .clang-tidy
# change config
sed -i 's/800/700/' .clang-tidy
# verify change
grep '700' .clang-tidy
# use config, does not work
clang-tidy -config '' -dump-config
CheckOption保持默认值,配置文件的内容已被忽略:
CheckOptions:
# some lines omitted for brevity
- key: google-readability-function-size.StatementThreshold
value: '800'
运行 clang-tidy -config '' -dump-config -explain-config
表明至少找到了配置文件,即在检测到的配置文件中启用了许多 clang-analyzer 特定检查,但检查 google-readability-function-size.StatementThreshold
是未列出。
我也尝试使用命令 clang-tidy -config="{CheckOptions: [ {key: google-readability-function-size.StatementThreshold, value: 700} ]}" -dump-config
直接将配置作为命令行参数传递,但得到了相同的结果。
命令 clang-tidy --version
给出以下输出,运行 on Ubuntu 20.04:
LLVM (http://llvm.org/):
LLVM version 10.0.0
Optimized build.
Default target: x86_64-pc-linux-gnu
Host CPU: haswell
要查看更改,您需要启用检查:
Checks: 'google-readability-function-size'
您可以在有效配置中看到它发生了变化:
clang-tidy --dump-config
另一个需要注意的陷阱是解析值的错误将被静默丢弃。