vscodeでrubocopを使って
rubyを「適当」にフォーマットしたい!
だけなのに困ったのでメモメモ。
rubocopをインストール
rubocopは単なるフォーマッターではなく、
コードの問題点を多角的に分析してくれます!
・・・でも今はとりあえずフォーマットしたい!
余計なことはいらないんだ!
-
vscodeの拡張機能
ruby-rubocop
を
インストールしましょう。 -
以下のコマンドを実行して
rubocop
の
gemパッケージもインストールしましょう。
gem install rubocop
vscodeの設定
rubyファイルはoption + shift + f
で
rubocopにフォーマットしてもらいますよ、
とvscodeに教えましょう。
- 設定画面右上のアイコンから
settings.json
を
開いて、以下を追記しましょう。
"[ruby]": {
"editor.defaultFormatter": "misogi.ruby-rubocop"
}
この状態でoption + shift + f
すると、
フォーマットされるけど大量の警告表示が!!
.rubocop.ymlを書く
rubocopは.rubocop.yml
という設定ファイルで
その挙動を制御できます。
-
vi ~/.rubocop.yml
で
ユーザーフォルダ直下にファイルを作成し、
i
キーを押して編集モードにして、以下をコピペしましょう。
AllCops:
DisabledByDefault: true
NewCops: enable
DefaultFormatter: progress
Layout:
Enabled: true
- そのまま
esc
キーで編集モードを終了して、
以下のコマンドで保存して終了しましょう。
:wq
- フォーマットしたいファイルを変更(インデントを崩すなど)して、
再度option + shift + f
すると、警告は表示されず、
フォーマットのみが実現できるはずです。
終わりに
DisabledByDefault: true
によって一旦すべての
機能を抑止して、Layout
のみできるようにしました。
ここから段々と設定ファイルを育てていくことをお勧めします。
設定内容は公式を読んでみましょう!