环境是IntelliJ IDEA 12。
我已勾选
Wrapping and Braces > Assignment Statement > Align when multiline
。当我有相邻的属性时,它们会正确对齐:
private final CustomerFactory customerFactory = FactoryBuilder.getDefaultCustomerFactory ( );
private final RepFactory repFactory = FactoryBuilder.getDefaultRepFactory ( );
private final WarehouseFactory warehouseFactory = FactoryBuilder.getDefaultWarehouseFactory ( );
但是当我有相邻的变量赋值时,它们不是:
final Integer account30 = parseCurrency ( fields.get ( FIELD_OVERDUE_BALANCE_1 ) );
final Integer account60 = parseCurrency ( fields.get ( FIELD_OVERDUE_BALANCE_2 ) );
final Integer account90 = parseCurrency ( fields.get ( FIELD_OVERDUE_BALANCE_3 ) );
final Integer account120 = parseCurrency ( fields.get ( FIELD_OVERDUE_BALANCE_4 ) );
final Integer priceNumber = parseInteger ( fields.get ( FIELD_PRICE_NUMBER ), 1 );
这虽然是小事,但让我很烦恼。谁能告诉我如何使这些相邻的变量声明对齐?我想要的是:
final Integer account30 = parseCurrency ( fields.get ( FIELD_OVERDUE_BALANCE_1 ) );
final Integer account60 = parseCurrency ( fields.get ( FIELD_OVERDUE_BALANCE_2 ) );
final Integer account90 = parseCurrency ( fields.get ( FIELD_OVERDUE_BALANCE_3 ) );
final Integer account120 = parseCurrency ( fields.get ( FIELD_OVERDUE_BALANCE_4 ) );
final Integer priceNumber = parseInteger ( fields.get ( FIELD_PRICE_NUMBER ), 1 );
您还可以使用内置键绑定来执行此操作,而无需对 Intellij 选项进行任何更改:
这是如何完成的:
使用以下(或等效)
GNOME
键绑定:
=
(或您选择的任何分隔符)Add Selection for Next Occurrence
Column Selection mode
Column Selection mode
(注意选择已对齐)。=
从选择中排除退格到想要对齐列的位置后,您现在应该看到类似以下内容:
someVar = someVal
someOtherVar = someVal
someOtherOtherVar = someVal
这种方法的好处是它的通用目的;只要您选择每行仅包含一次的不同分隔符,上述步骤将对齐空白内的任何文本,例如给定示例中的
=
。
如前所述,此示例是使用
GNOME
键绑定执行的。您可以在 Settings
> Keymap
中自由选择不同的方案:
我认为您应该使用 字段组 => 在列中对齐
多行时对齐还有一些其他效果不适用于此处。