是否可以编写新的 clang-tidy 现代化规则?
Is it possible to write new clang-tidy modernize rules?
特别是,我正在使用 Qt;我们的代码库仍然充斥着旧的 foreach
宏,比如 foreach (T foo, bar) { ... }
。我想把它变成 for (T foo : bar) { ... }
。有没有办法编写 clang-tidy 规则来执行此操作?
是的,这绝对有可能。 Clang-tidy 是开源的,所以没有什么能阻止您修改代码或编写自己的检查。
modernize-loop-convert check does something very similar to your use case so it's possibly a good start. (source)
Clang-tidy 甚至有官方 documentation on writing new checks.
特别是,我正在使用 Qt;我们的代码库仍然充斥着旧的 foreach
宏,比如 foreach (T foo, bar) { ... }
。我想把它变成 for (T foo : bar) { ... }
。有没有办法编写 clang-tidy 规则来执行此操作?
是的,这绝对有可能。 Clang-tidy 是开源的,所以没有什么能阻止您修改代码或编写自己的检查。
modernize-loop-convert check does something very similar to your use case so it's possibly a good start. (source)
Clang-tidy 甚至有官方 documentation on writing new checks.