如何在IntelliJ中自动将枚举参数按列(类表格)对齐
枚举常量自动对齐格式化问题
问题场景
原始枚举代码:
public enum TestEnum { TEST1(5, 6, 18, 9, 3), TEST2(10, 21, 4, 5, 34), TEST3(4, 5, 8, 2, 16), TEST4(3, 1, 92, 67, 22); TestEnum(int i1, int i2, int i3, int i4, int i5) { } }
期望按下Ctrl+Alt+L后自动格式化出以下样式:
public enum TestEnum { TEST1 (5, 6, 18, 9, 3), TEST2 (10, 21, 4, 5, 34), TEST3 (4, 5, 8, 2, 16), TEST4 (3, 1, 92, 67, 22); TestEnum(int i1, int i2, int i3, int i4, int i5) { } }
理想效果:使用制表符,让各列起始于索引为4的倍数的位置(0、4、8、12……)。
已尝试的无效方案
手动格式化方式
- 使用
@formatter:off手动调整:- 工作量大,需逐个文件处理
- 会连带禁用lambda参数对齐、双空格等其他格式化规则,破坏整体代码风格
IDE设置调整
Settings/Editor/Code Style/Detect and use existing file indents for editing:无任何效果Settings/Editor/Code Style/Java/Wrapping and Braces/Group declarations:仅对字段、变量、赋值和简单方法生效,且Kotlin环境中无此设置
插件尝试
- Vertical Align:方向正确,但无法自动触发,且与IDE格式化不兼容,按下
Ctrl+Alt+L后代码会恢复原状 - Smart Align:同样存在格式化兼容问题,还会对齐逗号,显示效果怪异
- Column Align:无法与IDE格式化兼容,虽支持Kotlin、Android Studio和枚举,但存在小故障
- Tabifier:版本过旧,无法在Android环境中使用
- Java Code Aligner:既不支持Kotlin,也不支持枚举
补充说明
已根据建议提交了一条官方功能建议。
内容的提问来源于stack exchange,提问作者Cactusroot
相关产品推荐
相关产品推荐

