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のみできるようにしました。
ここから段々と設定ファイルを育てていくことをお勧めします。
設定内容は公式を読んでみましょう!