如何让 IntelliJ IDEA 对齐“=”符号上的相邻变量赋值?

问题描述 投票:0回答:5

环境是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-idea
5个回答
47
投票

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

这是如何完成的:

使用以下(或等效)

GNOME
键绑定:

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

退格到想要对齐列的位置后,您现在应该看到类似以下内容:

someVar           = someVal
someOtherVar      = someVal
someOtherOtherVar = someVal

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

=

如前所述,此示例是使用

GNOME
键绑定执行的。您可以在
Settings
>
Keymap
中自由选择不同的方案:


42
投票

我认为您应该使用 字段组 => 在列中对齐

多行时对齐还有一些其他效果不适用于此处。

enter image description here


40
投票

在“Code Style”->“Java”下的“Wrapping and Braces”选项卡中找到以下条目并勾选“Align Variable in columns”。 完成!


3
投票

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


2
投票

对于PHPSTORM

请按照以下步骤操作:

前往:

File menu
|
Settings
|
Editor tab
|
Code Style
|
PHP
|
Wrapping and Braces
|
Assignment statement

并检查

Align consecutive assignments

© www.soinside.com 2019 - 2024. All rights reserved.