Visual Studio 2022 C++预处理指令缩进问题求助
解决VS中预处理指令输入#时自动取消缩进的问题
检查自动格式化触发时机
打开Tools -> Options -> Text Editor -> C/C++ -> Code Style -> Formatting -> General,查看是否勾选了「Format on typing」。如果开启,输入#时会立刻触发格式化,强制左对齐。可以暂时取消该选项,或者调整触发格式化的字符列表,把#排除在外。确认预处理缩进相关设置
除了将「Position of preprocessor directives」设为「Leave indented」,还要检查同路径下的「Indent preprocessor directives」是否设为「Block indent」(部分VS版本有此选项),需同时配置才能让缩进生效。排查项目中的.editorconfig配置
如果项目根目录存在.editorconfig文件,其中的C/C++配置可能覆盖VS全局设置。查找是否有cpp_preprocessor_indent_style这类配置项,确保其值为block,而非强制左对齐的设置。临时解决办法
若上述设置都无效,可尝试:- 先输入缩进,再敲空格+
#,随后删除空格,部分场景下不会触发自动左对齐; - 先写完整预处理指令内容,手动调整缩进后关闭文件再重新打开,缩进大概率会被保留。
- 先输入缩进,再敲空格+
检查VS版本
部分旧版VS存在该设置不生效的bug,建议更新到最新稳定版,或查看微软开发者社区的相关bug报告及修复方案。
内容的提问来源于stack exchange,提问作者Leinad den
相关产品推荐
相关产品推荐

