##動作環境
- ruby 2.6.6
- rails 6.1.0
- vscode
- docker 20.10.2
##この記事が役に立つ人
-
docker環境上で既にrubocopを導入しており、コマンドライン上ではrubocopのコードチェック機能を使えるようになっていること
-
上記の条件を満たした上でvscodeでrubocopのコード自動チェック機能を使いたい人
##問題
vscodeにruby-rubocopをインストールしたのだが、コードの自動チェック機能が使えなかった。
以下の記事によると、vscodeではdocker上のファイルをみることができないらしい?ので、自分のPC内にdocker環境と同じバージョンのrubyとrubocop関連のgemをインストール必要があるとのことだった.
Ruby on Rails とかで docker 環境なのに #VSCode で ruby-rubocop 拡張を有効にするにはどうすれば良いのか? ( #Rails #Ruby )
https://qiita.com/YumaInaura/items/5cb1387bb738349c5d9e
##解決策
自分のPC内に
ruby(2.6.6)
rails(6.1.0)
rubocop
rubocop-performance
rubocop-rails
をインストールした。
するとvscode上で以下のエラーメッセージが出てきた。
- rubocop is not excutable
- execute path is empty! please check ruby.rubocop.executePath
そこで、以下の記事を参考にexecutePathを設定した。
[Mac]VScode で ruby-rubocop が動かなくなったら executePath を設定してみよう
https://qiita.com/tommy_aka_jps/items/ca7ae36717b69a7e390b
すると、エラーメッセージが以下のように変わった。
- rubocop.yml: Metrics/LineLength has the wrong name -spaceshould be Layout
そこで、以下の記事を参考にrubocop.ymlを書き換えた。
# MetricからLayoutに変更
Layout/LineLength:
Max: 160
Exclude:
- "db/migrate/*.rb"
Ruby — rubocop のネームスペース変更に対応する
https://qiita.com/YumaInaura/items/53e14adaa5a00b6e59af
これで完了。
##確認方法
最後に、適当なファイルに明らかに間違えた書き方を書いてrubocop側からエラーが返ってきたら導入完了。