Bar*_*tek 5 c++ static-analysis clang llvm-clang clang-tidy
我想为readability-identifier-naming在我的代码库上运行的 clang-tidy配置检查器。
clang-tidy 中的检查器可以提供 CheckOptions,例如:
clang-tidy -checks='-*,readability-identifier-naming' \
-config="{CheckOptions: [ {key: readability-identifier-naming.ClassCase, value: CamelCase} ]}" main.cpp
Run Code Online (Sandbox Code Playgroud)
也可以在 .clang-tidy 文件中指定一个选项。
我在哪里可以找到可用选项列表(readability-identifier-naming在这种情况下进行检查),例如ClassCase上面的代码行?
该官方文档是不是很具体,只说“很多配置选项,为了能够创建不同类型标识符的不同的规则。”
我在github上找到了这个页面,它更详细地解释了它(但仍然没有解决问题)。
我还在Microsoft 存储库的文件中找到了一个巨大的列表,但我不知道他们从哪里得到的。
我想,如果需要,也许 clang-tidy 会放弃所有可能的选项。如果你跑
clang-tidy -checks=* --dump-config
Run Code Online (Sandbox Code Playgroud)
(或仅指定readability-identifier-naming检查器。这并不重要,输出是相同的)
clang-tidy -checks='-*,readability-identifier-naming --dump-config
Run Code Online (Sandbox Code Playgroud)
转储的文件只包含一个关于可读性标识符命名的选项,即:
- key: readability-identifier-naming.IgnoreFailedSplit
value: '0'
Run Code Online (Sandbox Code Playgroud)
我也试图通过 clang-tidy 源代码,但没有成功。
如果有人可以将我指向一个包含所有可用 CheckOptions 列表的地方(如果存在),我将不胜感激。
最简单的方法是在此处查看此检查的测试源代码:
// RUN: %check_clang_tidy %s readability-identifier-naming %t -- \
// RUN: -config='{CheckOptions: [ \
// RUN: {key: readability-identifier-naming.AbstractClassCase, value: CamelCase}, \
// RUN: {key: readability-identifier-naming.AbstractClassPrefix, value: 'A'}, \
...etc.
Run Code Online (Sandbox Code Playgroud)
该列表不能保证详尽,因为它只是用于测试的命令。为了真正确定,您必须在此处查看检查本身的源代码,您将找到所有命名键:
#define NAMING_KEYS(m) \
m(Namespace) \
m(InlineNamespace) \
m(EnumConstant) \
...
Run Code Online (Sandbox Code Playgroud)
然后将这些命名键字符串化为StylenaNames[]. 然后查看函数IdentifierNamingCheck::storeOptions():
for (size_t i = 0; i < SK_Count; ++i) {
Options.store(Opts, (StyleNames[i] + "Case").str(),
toString(NamingStyles[i].Case));
Options.store(Opts, (StyleNames[i] + "Prefix").str(),
NamingStyles[i].Prefix);
Options.store(Opts, (StyleNames[i] + "Suffix").str(),
NamingStyles[i].Suffix);
}
Run Code Online (Sandbox Code Playgroud)
您将看到与大小写、前缀或后缀连接的每个命名键都可以指定为选项。这为您提供了此检查可能选项的明确列表。
| 归档时间: |
|
| 查看次数: |
1537 次 |
| 最近记录: |