Atomエディタでrubocopを使ってコードの品質を保つ
Atomエディタを使ってRuby on Railsのアプリケーションを開発している人向けの記事です。 セットアップから使い方まで書いていきます。
出来ること
コーディング規約に沿ったコードが記述出来ているか簡単に確認出来ます。 私はAtomエディタを使っているのでAtomパッケージのlinterとlinter-rubocopを使ってコードをチェックすることにしました。 以下の画像のように修正箇所や修正内容が一目で確認できます。
修正箇所が発生している状態の画面
青い波線付近へマウスオーバーさせると
> Prefer double…
のように修正内容が表示されます。
目次
準備と使い方のまとめ
- AtomパッケージのLinterとlinter-rubocopをインストール
- RubyGemsのrubocopをインストール
- Atomでファイルを保存してコードをチェック
- Atomのコマンドパレットを開き
Linter rubocop: Fix File
と入力してコードを修正
準備
Atomパッケージをインストールする
Atomの環境設定から以下の2つのパッケージを検索しインストールします。
- Linter
- linter-rubocop(Linter用プラグイン)
Atomの環境設定画面で検索します。 (Atom > Preferences… > Install タブ)
rubocop gemをインストールする
コマンドラインでrubocop gem をインストールします。
$ gem install rubocop
インストール出来たか確認します。現時点でインストールされたrubocopのバージョンは0.48.1でした。
$ rubocop -v 0.48.1
準備補足
ここまでの作業を終えてAtomエディタを開くとrubocopを使うことに必要なパッケージをAtomエディタ誘導してくれるので各パッケージをインストールします。
使い方
コードをチェックする
コードを記述したらcommand + s
でファイルを保存します。
保存が終了した頃にrubocopが解析したコードで修正した方が良いところを教えてくれます。
コードを修正する
Atomのコマンドパレットを開きLinter rubocop: Fix File
と入力してコードを修正します。
Atomのコマンドパレットの開くショートカットキーはcommand + Shift + p
です。
あとがき
rubocop導入背景
GitHubでプルリクのレビュー依頼した際に「Railsのrubocopではダブルクォート優先になってるのでそのように修正して下さい」とコメントがありました。 同じことを繰り返さないように早速rubocopを使って静的なコード解析をすることにした。Atomエディタでrubocopを使ったコード解析はファイルを保存するだけでコードのチェックが出来るため大変便利です。 その他のAtomパッケージもあるので、使い勝手や開発が活発かどうか見て改めて選択しても良さそうです。リアルタイムにチェックしてくれるパッケージもあるようです。
追記
コーディングルールを変更しよう(2017/05/29)
Rubocopのコーディングルールをデフォルトから変更したい場合、プロジェクトのルートディレクトリに.rubocop.yml
を作成してルールを書くことで、デフォルトのルールを上書きできます。『Rails
rubocop.yml
』 などで検索すると参考になるページが見つかりそうです。rails/.rubocop.yml at master · rails/rails · GitHub
rubocop-linterのパスを設定する?(2017/05/30)
公式サイトを見ると特に記載がありませんが、RVMでRubyのバージョン管理をしている場合はパスを設定する必要があるようです。 Using RVM 自身の場合はrbenvでRubyのバージョン管理しており、特にパスを設定せずに使えました。
お世話になったサイト
ありがとうございました!