最近、社内でVisual Studio Codeを使う人が増え、コードフォーマッタの整形ルールがIDEごとに微妙に異なっていて、うかつにリフォーマットすると、全然関係ないところがコミット履歴に載ってしまいます。
しかも、お互い同じところを別ルールでリフォーマットするので、コードレビューをするたびに、実際の変更とは関係ないところがレビュー対象に挙がってしまいます。
なので、IDEのフォーマット機能ではなく、各IDEで使える共通のフォーマッタを設定して使うようにしよう、ということになり、rufoを採用することにしました。
以下は、私が使っているRubyMineの場合のrufoの設定方法です。
rufoのインストール
rbenvを使っている想定。
$ gem install rufo $ rbenv rehash
RubyMineの設定
まずは、外部ツールとしてrufoを登録します。
引数に、$FilePath$を指定しておけば、編集中のファイルのパスがrufoに渡されます。
あとは、RubyMineのキーボードショートカットにこの外部ツールの起動を設定するだけです。
私は、RubyMineの標準のリフォーマットに設定していたショートカットを削除して、rufoに割り当てました。これで、いつもの感覚でリフォーマットコマンドを使えば、rufoでリフォーマットされる状態になります。