如何阻止Eclipse C/C++格式化工具二次格式化时取消缩进
如何阻止Eclipse C/C++格式化工具二次格式化时取消缩进
嘿,这个问题我之前帮好几个开发者解决过,确实挺闹心的——第一次格式化好好的换行缩进,第二次保存就给你打回原形,太影响效率了。别着急,咱们一步步调Eclipse的格式化设置就能搞定:
- 首先打开Eclipse的设置面板:Windows系统点顶部菜单栏的
Window->Preferences,Mac系统则是Eclipse->Preferences。 - 在左侧导航栏里找到
C/C++->Code Style->Formatter,这里就是控制格式化规则的核心区域啦。 - 注意默认的格式化配置是不能直接编辑的,你得先点击
Create Profile按钮,复制一份当前配置并给它起个新名字(比如"My C++ Format"),然后才能修改。 - 进入编辑界面后,切换到
Indentation选项卡:- 确保
Indent wrapped lines是勾选状态,并且下面的Indentation size和你日常代码用的缩进大小保持一致(比如4空格或者2空格)。
- 确保
- 接着切到
Line Wrapping选项卡,这是解决问题的关键:- 在左侧的规则树里展开
Expressions->Initializers,找到Array initializer(就是你例子里数组初始化的规则)。 - 先把
Line wrapping policy改成你需要的换行策略,比如Wrap all elements, every element on a new line(所有元素换行,每个元素占一行)或者Wrap elements, not first element(除了第一个元素外,其他元素换行)。 - 然后在下面的
Indentation for wrapped lines下拉框里,选择Indent by one indentation level(和主缩进一致的级别),千万别选"Do not indent",这就是导致二次格式化丢缩进的罪魁祸首!
- 在左侧的规则树里展开
- 所有设置改完后,依次点击
Apply->OK保存配置。
之后你再测试一下:写个长数组,第一次格式化后换行缩进正常,修改文件里的其他内容再格式化,之前的换行缩进就不会被取消啦。
内容来源于stack exchange
相关产品推荐
相关产品推荐

