50

环境是 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 );
4

4 回答 4

44

您也可以使用内置键绑定来执行此操作,而无需对 Intellij 选项进行任何更改:

如何在 Intelli 中使用键盘敲击对齐任何文本

这是如何完成的:

使用以下(或等效的)GNOME键绑定:

  1. 突出显示第一个=(或您选择的任何分隔符)
  2. 每多按一次Alt+j=Add Selection for Next Occurrence
  3. Left一下,然后按上面的 GIF腾出空间Tab
  4. Alt+ Shift+Insert进入_ Column Selection mode
  5. 再次按Alt+ Shift+退出(注意选择已对齐)。Insert Column Selection mode
  6. Left两次然后按Ctrl+ Shift+Right选择所有空白到每个=
  7. Shift+从选择Left中排除=
  8. 按下Backspace,这将导致所有不均匀的空白被截断

在退格到您希望列对齐的位置后,您现在应该有如下内容:

someVar           = someVal
someOtherVar      = someVal
someOtherOtherVar = someVal

这种方法的好处是它的通用性。只要您选择一个不同的分隔符,上述步骤将对齐空白中的任何=文本,每行仅包含一次,例如在给出的示例中。

如前所述,此示例是使用GNOME键绑定执行的。Settings您可以在>中自由选择不同的方案Keymap在此处输入图像描述

于 2018-06-13T15:50:44.420 回答
39

我认为您应该使用Field groups => Align in columns

当多行具有其他不适用于此处的效果时对齐。

在此处输入图像描述

于 2013-04-29T08:48:30.913 回答
36

在选项卡“包装和大括号”中的“代码样式”->“Java”下找到以下条目并勾选“对齐列中的变量”。完毕!

设置对齐变量声明

于 2015-10-01T12:36:46.437 回答
3

要对齐“=”符号上的相邻变量赋值,请执行以下操作:

在此处输入图像描述

于 2020-01-22T18:34:05.083 回答