Eclipse Code Formatter Xml参数文档及对齐配置值含义查询
Eclipse Code Formatter对齐参数取值说明
Eclipse JDT格式化插件的所有对齐类配置的取值本质是位掩码组合,不同数值对应多个规则标志的叠加效果。
核心基础标志位含义
所有对齐取值都由以下基础标志位通过或运算组合得到:
- 16(二进制
00010000):优先单行排列,只要内容长度不超过预设的行宽上限,所有相关元素全部放在同一行 - 32(二进制
00100000):换行后对齐首元素,触发换行时,后续行的起始位置和第一个元素的起始位置对齐 - 64(二进制
01000000):换行后全部分行,只要触发换行规则,每一个参数/注解/元素都单独占一行 - 1(二进制
00000001):相对父级缩进,换行后的内容相对于父元素的缩进级别多缩进一层,不与父元素内部的内容对齐 - 1024(二进制
10000000000):注解单独成行,仅针对注解类对齐配置生效,触发换行时注解单独占一行,不和修饰的参数/方法等元素放在同一行
常见取值对应效果
你提到的几个常用数值的具体作用如下:
- 16:仅启用优先单行规则,只要内容长度符合行宽要求就不换行,换行时采用全局默认缩进策略
- 48:16 + 32的组合,优先单行排列,触发换行时后续内容和第一个元素对齐
- 80:16 + 64的组合,也就是你已知的规则,优先单行展示,一旦触发换行所有参数单独换行
- 81:16 + 64 + 1的组合,优先单行展示,触发换行时所有参数单独换行,且换行后的行相对父级多缩进一级
- 1040:1024 + 16的组合,对应你示例中的参数注解配置:
效果为优先把参数注解和参数放在同一行,放不下时注解单独占一行<setting id="org.eclipse.jdt.core.formatter.alignment_for_annotations_on_parameter" value="1040"/> - 1585:1024 + 512 + 32 + 16 + 1的组合,优先单行放置参数注解,触发换行时注解单独成行、相对父级多缩进一级,且对齐到对应参数的起始位置
完整参数列表获取方式
所有Eclipse格式化参数的完整说明可以在本地获取:
- 打开Eclipse安装目录下的
plugins文件夹,找到org.eclipse.jdt.core_版本号.jar文件 - 解压后在根目录找到
formatterPreferences.properties文件,里面包含所有参数ID、取值范围和官方含义说明 - 也可以在Eclipse的「首选项 - Java - 代码样式 - 格式化器」界面修改对应选项后导出配置文件,通过对比界面选项和导出的配置值,反向匹配每个参数的具体作用
内容的提问来源于stack exchange,提问作者Brendon
相关产品推荐
相关产品推荐

