本篇主要分享一个小技巧:为 Eclipse 设置链式调用的代码格式化(Formatter)。
首先,我们要明白什么是链式调用,来看代码:
AccountParam.builder().uid(uid).url(AccountParam.hongbao_url).type("红包");
1
一个方法后面紧跟另外一个方法,之所以可以链式调用,是因为方法的返回类型是一致的。
明白了链式调用以后,你会发现一个问题,在 Eclipse 的默认代码格式化环境中,链式调用代码会挤在一行,看起来很痛苦。
另外,《阿里巴巴 Java 开发手册》中也明确规定:
也就是说,我们需要调整 Eclipse 默认的代码格式化——在按下「Ctrl + Shift + F」后,编辑器能够自动将链式调用代码换行。怎么办呢?
在 Eclipse 中按照以下顺序打开代码格式化的配置项:
Windows → Preferences → Java → Code Style → Formatter
选择「New…」新建一个格式化的配置。
关键的配置项如下:
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 就能够为链式调用的代码自动换行了。效果如下图。
不过,这样的换行效果仍然不够理想,如果换行策略优化为:
wrap all elements, except second element if not necessary「前两个元素可以不换行,其他都换行」
这样就更好了。