Clang因其提供代码修复建议的能力而闻名。如果遗漏了一个分号,Clang会建议插入它。修改源代码的能力超出了编译过程,并广泛用于各种代码修改工具中,特别是在重构工具中。提供修复建议是一个强大的功能,它扩展了像Clang-Tidy这样的代码检查框架的能力,该框架不仅能够检测问题,还提供修复建议。 本章中,将探讨重构工具。我们将从讨论用于代码修改的基本类开始,尤其是clang::Rewriter。将使用Rewriter构建一个自定义的重构工具,该工具用于更改类中的方法名称。在章节的后半部分,将使用Clang-Tidy重新实现该工具,并深入探讨clang::FixItHint,这是Clang诊断子系统的一个组件,使用Clang-Tidy和Clang编译器来修改源代码。