VSCode中如何对C++初始化列表排序以消除GCC重排序警告?
VSCode C++初始化列表排序实现方法
- 目前最优方案是通过C生态通用的
ClangFormat工具实现,不需要安装小众第三方扩展,和VSCode官方C工具链兼容性最好:- 确保已经安装微软官方的C/C++扩展,扩展自带ClangFormat集成能力
- 在你的项目根目录下新增
.clang-format配置文件,添加如下配置项:SortMemberInitializerListOrder: DeclarationOrder - 快捷键触发配置:VSCode默认格式化文档的快捷键为
Shift+Alt+F(Windows/Linux)、Shift+Option+F(Mac),触发后会自动将当前文件内所有C++构造函数的初始化列表按照类成员的声明顺序重排,完全匹配你给出的调整示例效果。如果不需要格式化全文件,也可以选中单个初始化列表区域后使用「格式化选中内容」功能,也可以给该操作单独绑定自定义快捷键。
- 如果你不想启用全局ClangFormat格式化规则,也可以通过
Command Variable+Multi Command这类自定义命令扩展,自行编写简单的匹配重排逻辑,绑定到指定快捷键实现针对性的初始化列表排序功能。
配置完成后即可彻底消除初始化列表顺序和成员声明顺序不匹配触发的编译器重排序警告。
内容的提问来源于stack exchange,提问作者Big Bro
相关产品推荐
相关产品推荐

