是否可以编写新的 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.