VSCode中C/C++代码public关键字缩进异常问题求助
确认实际生效的格式化工具
按Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(Mac)打开命令面板,输入Format Document With,查看当前可选的格式化工具列表。如果有Clang-Format、Prettier等非Visual Studio的工具,可能是这些工具在实际生效,而非你选择的Visual Studio风格。检查C/C++扩展的核心配置
打开VSCode设置(快捷键Ctrl+,),搜索C_Cpp.formatting.style,确保其值为Visual Studio。同时打开settings.json,检查是否存在C_Cpp.clang_format_style、C_Cpp.clang_format_fallbackStyle这类可能干扰默认格式化的配置项,如有则暂时注释后重新测试。注意工作区的.vscode/settings.json配置会覆盖全局设置,也要检查这里。重置格式化规则与扩展
若之前修改过Visual Studio风格的自定义规则,可能导致异常:- 清空
settings.json中所有C/C++格式化相关的自定义配置。 - 卸载并重新安装Microsoft官方的C/C++扩展,避免扩展文件损坏引发的问题。
- 清空
排查项目中的.editorconfig文件
项目根目录的.editorconfig文件会优先于VSCode配置生效。查看该文件内是否有针对C++访问修饰符(如public)的缩进规则,或indent_size等可能冲突的配置,如有则修改或删除相关条目。测试空白文件定位问题
创建新的空白C++文件,写入极简的类代码(示例如下),执行格式化后观察public关键字的格式:class Test { public: void func(); };如果新文件格式化正常,说明问题出在当前项目的配置或缓存上,可删除项目下的
.vscode文件夹,重启VSCode后重新配置。
内容的提问来源于stack exchange,提问作者borygamer

