介绍VS头文件清理功能

Visual Studio 17.8.1 开始,它提供了 #include 清理功能,能够移除未使用的头文件,优化头文件导入等功能,这个功能特别好,写文记录下。

直接引入和间接引入

image.png

如上图所示,main.cpp直接包含了c.h,间接包含了d.h

该功能默认启动,Include Cleanup 会对代码进行分析,以识别未使用和间接包含的标头, 反馈可以采用错误列表警告、建议等形式。

它支持将间接引用头文件替换为所依赖的直接头文件。

设置方法

这种检测功能,可能会误报一些依赖关系,可配置哪些文件不需要检测重复包含。

因为手头上的工程是2010的,用2022打开时,.editconfig配置文件无法生效,怎么发现的呢?将相同的.editconfig配置文件添加到原生2022工程中,可以实时生效,用VS2022打开VS2010时,该文件不生效。

建议配置冗余文件和间接包含文件警告级别为 erroring ,如下图所示:

image.png

实践心得

不要使用Include自带的优化导入图,它会破坏现有的include顺序以及内容。

按负责的文件夹依次来优化导入。当出现优化建议不符合预期的情况,要手动修改,去掉不必要的导入文件。

因为不同目录的文件可能存在相互引用,执行include优化时,需要一边构建,一边修复错误。防止当前的优化操作导致之前已优化的文件再次出现编译错误。及时编译并修复错误,保证在正确编译基础上,再优化。

提交时,以文件夹为单位提交到本地,完成后再将与编译依赖其他文件单独提交到本地,最后再一次性全部提交到远程。

通过右键执行一键优化时,要等该文件头文件解析结果都出来后再执行,否则有可能会清理错乱问题。

注意,优化器可能会发生错误,这时要相信编译器的判断。

做完上述优化后,要总结优化效果,可以从编译时间、编译输出物大小两个维度来对比优化效果。

小结

本文介绍VS2022中的头文件清理功能,包括基本使用以及实践心得。

posted @ 2025-04-07 21:34  浩天之家  阅读(177)  评论(0)    收藏  举报