Atom rubocopの導入 | onox blog

onox blog

Atom rubocopの導入

January 14, 2019

Atomにソースコード解析ツールのrubocopを入れる手順。コーディング規約はcookpadさんを参考にする。

環境

Mojave: 10.14.2
Atom: 1.34.0
ruby: 2.6.0
# atom plugin
linter-rubocop: 2.2.3
linter: 2.3.0

1. rubyセットアップ

rbenvruby-buildを使用する前提

rbenv/ruby-buildを最新化する

最新版のrubyがインストールできないため、upgradeしておく

brew upgrade && rbenv ruby-build

rubyインストール

# インストール可能なversionを確認
# ここで欲しいversionが出力されない場合、ruby-buildのversionが古いと思われ
rbenv install --list

# vesion指定でinstall
rbenv install 2.6.0

# to global
rbenv global 2.6.0

# or

# to local
cd <特定のプロジェクト>
rbenv local 2.6.0

2. rubocopインストール

gem install rubocop

3. Atomセットアップ

AtomLinter/linter-rubocopに沿って設定する。

Pluginインストール

apm install linter linter-rubocop

Plugin設定

linter-rubocop -> Settings -> Commandでrubocopの実行pathの修正をする。
これでrubyのversionが変わっても参照先をよしなに変更してくれる。

# Rubocop shimを指定する
/Users/onox/.rbenv/shims/rubocop

3. rubocop設定

rubocopはデフォルトでruby-style-guideを元にコードチェックを行う。
別のファイルを元にしたい場合は、プロジェクトルート直下に.rubocop.ymlを用意する。
例えば、cookpadさんが独自のコーディング規約を公開している。

4. rubocop例

rubocopを導入するとどうなるか?の一例

例: 空のリテラルを定義する際のチェック

rubocop.yml

Style/EmptyLiteral:
  Enabled: true

ruby code

# bad
a = Array.new
h = Hash.new
s = String.new

# good
a = []
h = {}
s = ''

このようにアラートを出してくれる rubocop_atom