Eclipse C自动格式化问题:宏作为函数参数时缩进异常
Eclipse C语言格式化:宏作为函数参数缩进错乱的解决办法
调整宏解析相关设置
打开Eclipse设置路径:Window > Preferences > C/C++ > Code Style > Formatter,点击「Edit」进入自定义配置界面:- 切换到「Macros」标签页,取消勾选「Expand macros during formatting」——这个选项会让格式化工具反复解析宏内容,导致多次格式化后缩进逻辑混乱
- 如果找不到「Macros」标签,就去「Indentation」标签下,检查「Control statements」或「Expressions」分组,取消类似「Treat macro invocations as statements」的选项
统一函数参数缩进规则
在Formatter的「Line Wrapping」标签页,定位到「Function calls > Arguments」分组:- 把「Indentation policy」设为「Default indentation」或者「Indent by one indentation level」,避免工具对宏参数做特殊缩进处理
- 如果启用了「Wrap all elements, every element on a new line」,确保配套的缩进规则是统一的
手动标记宏为常量(可选)
要是上面的方法没用,去「General」或「Comments」标签里找「User-defined macros」,添加你的宏DTYPES_SPECIAL_QBIT_FAIL,让格式化工具把它当成普通常量,不会去解析内部结构
设置完之后,先手动把代码格式理整齐,再连续执行两次自动格式化,验证缩进是否稳定。
内容的提问来源于stack exchange,提问作者Karl D.
相关产品推荐
相关产品推荐

