IntelliJでPerlの変数宣言が複数続いた際に=の位置を揃える設定

普段Perlを書くときにIntelliJPerl pluginを使って書いているのだが、便利なことにIntelliJReformat Code時にPerl::Tidyを使ってReformatしてくれるらしい。

しかしReformatしてみたところ、変数宣言複数続いたときに = イコールの位置を揃えてくれないので、どうしたものかと困っていた。

例えば以下のような変数宣言のときに

my $short = 'short variable';
my $long_long_long = 'long variable';

= イコールの位置が揃うようにReformatしてほしい。

my $short     = 'short variable';
my $long_long = 'long variable';

あれこれ見てみたらプラグインPerl::Tidyの設定が悪いわけではなく、IntelliJ側のCode Styleの設定のせいではないかと疑ってみた。試しに設定を探してみたところどんぴしゃで、思い通りにReformatされるようになった。 設定方法は以下の通り。

  • Preferences -> Editor -> Code Style -> Perl5 にいく
  • Wrapping, Braces & Alignments のタブを選択
  • Assingment expressionAlignmentDon't align から On consecutive line に変更

これで上記のフォーマットが実現出来た。 設定方法に関してはIntelliJのバージョンによって設定までのとどりつき方が変わることもありそう。