setoya-blog

システム開発技術、データ分析関連でお勉強したことや、山奥生活を綴る、テンション低めなブログです。

RubyMineでrufoを使えるようにする

最近、社内でVisual Studio Codeを使う人が増え、コードフォーマッタの整形ルールがIDEごとに微妙に異なっていて、うかつにリフォーマットすると、全然関係ないところがコミット履歴に載ってしまいます。

しかも、お互い同じところを別ルールでリフォーマットするので、コードレビューをするたびに、実際の変更とは関係ないところがレビュー対象に挙がってしまいます。

なので、IDEのフォーマット機能ではなく、各IDEで使える共通のフォーマッタを設定して使うようにしよう、ということになり、rufoを採用することにしました。

以下は、私が使っているRubyMineの場合のrufoの設定方法です。

rufoのインストール

rbenvを使っている想定。

$ gem install rufo
$ rbenv rehash

RubyMineの設定

まずは、外部ツールとしてrufoを登録します。

f:id:sessan:20190724132322p:plain

引数に、$FilePath$を指定しておけば、編集中のファイルのパスがrufoに渡されます。

あとは、RubyMineのキーボードショートカットにこの外部ツールの起動を設定するだけです。

私は、RubyMineの標準のリフォーマットに設定していたショートカットを削除して、rufoに割り当てました。これで、いつもの感覚でリフォーマットコマンドを使えば、rufoでリフォーマットされる状態になります。

f:id:sessan:20190724132549p:plain