こちらの記事を書いてる最中に、複数行の式とRubyMineのフォーマッタの相性が悪いと気づきました。
算術オペレータを最後に置いて改行する場合
算術オペレータを最後に置く方法だと、フォーマットをかけた際に、RubyMineは4個のスペースを入れるのに対し、RuboCopは、オペランド(=足されている数)を揃えるようにと警告が出ます。
フォーマットかける前↓(オペランドが揃っていて、RuboCopの警告は出ない)
フォーマッタをかけた後↓(インデントが崩れ、RuboCopの警告が出る)
バックスラッシュを用いて改行する場合
一方、バックスラッシュを用いる場合は、フォーマットをかけるたびに続く行がどんどん後ろへとずれていく現象が起こります。
フォーマットかける前↓
フォーマット1回かけた後↓
さらに4回フォーマットをかけたとき↓
さらに5回フォーマットをかけたとき↓
全てのバックスラッシュを用いた改行でこの現象が起こるわけではなく、ある特定の条件の場合のみのようですが、どのような条件で起きるかは定かではありません。
Issueをあげておきました
JetBrainsのバグトラックシステムにissueをあげました。
Reformat CodeするとRubocopの警告でる : https://youtrack.jetbrains.com/issue/RUBY-21925
Reformat Codeのたびに空白が足される : https://youtrack.jetbrains.com/issue/RUBY-21927