vscodeでrubocopのAutoCorrectを使う方法

ググると、rufoやprettierというフォーマッター使う事例がありましたが、rubocop単体できた方が望ましいので 調べてやって見ました。

プラグイン

misogi/vscode-ruby-rubocop: Rubocop extension for Visual Studio Code

こんな感じで動作してくれます。
f:id:rochefort:20191123175448p:plain 素晴らしい。

問題点

2つ挙げられています。
1つ目は、rvm or chruby だとうまくいかないらしいですが、とりあえずrbenvだと動作したので気にしないことにします。

This extension may have a problem when using a rvm or chruby environment. We recommend vscode-ruby. It can also lint ruby code.

When autoCorrect, History of changing file is broken.

2つ目は、autoCorrect すると履歴壊れますとのこと。 こっちは気になりますが、でもやっぱり保存時にautoCorrectさせたい。

AutoCorrect設定

vscodeでformatterを保存時に有効にするには、以下の設定をすれば動作するとのことですが、 どうも自動修正されません。

"editor.formatOnSave": true,

対応方法

autocorrect on save · Issue #49 · misogi/vscode-ruby-rubocop
を見ると、

"editor.formatOnSaveTimeout": 5000,

を入れれば良いとのこと。

今のところこんな感じで使っています。

    "[ruby]": {
      "editor.formatOnSave": true,
      "editor.formatOnSaveTimeout": 5000,
    },
    "ruby.rubocop.executePath": "",
    "ruby.rubocop.configFilePath": "",