小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter)

本篇主要分享一个小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter)。


首先,我们要明白什么是链式调用,来看代码:


AccountParam.builder().uid(uid).url(AccountParam.hongbao_url).type("红包");

1

一个方法后面紧跟另外一个方法,之所以可以链式调用,是因为方法的返回类型是一致的。


明白了链式调用以后,你会发现一个问题,在 Eclipse 的默认代码格式化环境中,链式调用代码会挤在一行,看起来很痛苦。


另外,《阿里巴巴 Java 开发手册》中也明确规定:

小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter)



也就是说,我们需要调整 Eclipse 默认的代码格式化——在按下「Ctrl + Shift + F」后,编辑器能够自动将链式调用代码换行。怎么办呢?


在 Eclipse 中按照以下顺序打开代码格式化的配置项:


Windows → Preferences → Java → Code Style → Formatter

小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter)


选择「New…」新建一个格式化的配置。


小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter)


关键的配置项如下:


1、Maximum line width:120「一行最大宽度,120」(超过 120 就自动换行)


2、Function Calls → Qualified Invocations「方法调用 → xxxxx」


其中 line wrapping policy 「换行策略」选择:


wrap all elements, except first element if not necessary「第一个元素可以不换行,其他都换行」


并且勾选复选框 force split, even if line shorter than maximum line width「强制换行,即使该行没有达到最大换行的宽度」


这样设置后,Eclipse 就能够为链式调用的代码自动换行了。效果如下图。

小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter)


不过,这样的换行效果仍然不够理想,如果换行策略优化为:


wrap all elements, except second element if not necessary「前两个元素可以不换行,其他都换行」


这样就更好了。


上一篇:mac下使用brew安装node.js环境


下一篇:Exchange 2010 部署配置详细指南(二)Exchage 2010证书配置介绍