rubocop + Solargraph + VSCode設定
100万回くらいrubocopとVSCodeの設定で良い感じにできなくて苦虫を噛んできたので重い腰を上げてガッとやった結果。
VSCode側はこれでOK。コツはSolargraphに全てお任せする感じ。ここで巷に落ちているコードのようにrubocopをformatやlintに使ったりするとSolargraphと競合してrubocopコマンドをコンソールで実行したらエラーにならないのにVSCodeではエラーが消えないみたいな問題が解消される。
code:bash
gem install solargraph rubocop rubocop-rails rubocop-performance
code:.vscode/settings.json
{
"ruby.lint": {
"rubocop": false
},
"solargraph.diagnostics": true,
"ruby.format": false,
"solargraph.formatting": true,
"ruby": {
"editor.defaultFormatter": "castwide.solargraph",
"editor.formatOnSave": true
},
"markdown": {
"editor.formatOnSave": false
}
}
.rubocop.yml
https://gist.github.com/YuheiNakasaka/4de74cb50659c0bc40b9b921b81130c1
.rubocop_todo.yml
https://gist.github.com/YuheiNakasaka/6d0f8dd9b96a584b0e909f47241f1e02
ちなみにrubocopはホスト側に入れている。Docker環境で実行してるけどrubocopもDocker側で解決しないといけないとなると結構面倒な設定が必要っぽかったのでやってない。
参考
In editor a linting (rubocop) error is show that doesn't appear in console · Issue #698 · rubyide/vscode-ruby
ruby rubocop vscode 環境構築