https://github.com/rubyide/vscode-Ruby#linters に従い、すべてのgemをインストールし、settings.jsonを次のように編集しました。
{
"Ruby.rubocop.executePath": "/Users/ac/.rbenv/shims/",
"Ruby.rubocop.onSave": true,
"Ruby.lint": {
"Ruby": {
"unicode": true //Runs Ruby -wc -Ku
},
"reek": true,
"rubocop": {
"lint": true,
"Rails": true
},
"fasterer": true,
"debride": {
"Rails": true //Add some Rails call conversions.
},
"Ruby-lint": true
},
"Ruby.locate": {
"include": "**/*.rb",
"exclude": "{**/@(test|spec|tmp|.*),**/@(test|spec|tmp|.*)/**,**/*_spec.rb}"
}
}
Vscodeでは、コードの強調表示は正常に機能しています。
*注意してください。インストールされている拡張機能と、問題のタブに警告が表示されます。
私はvscode-Ruby
とrubocop
は、file saveのインデントとcopルールを自動修正しますが、そうではないようです。
コードをprettier
のようにフォーマットしたい場合、どのように設定すればよいですか?
Vscode-Ruby-rubocop GitHubの このコメント ごとに、次の設定を使用できます。
{
"editor.formatOnSave": true,
"editor.formatOnSaveTimeout": 5000,
"Ruby.rubocop.executePath": "path/where/rubocop/is/located",
"Ruby.format": "rubocop",
}
ローカルボックスのユーザー設定にそれらを適用するだけで、機能するように見えます。 VS CodeがRuby.rubocop.executePath
設定に対して実行可能でないことを示すエラーをスローし、行を削除してもそのエラーは表示されず、それに応じてコードをフォーマットします。タイムアウトを低く設定すると(私は2500を試しました)、保存時に自動フォーマットが壊れるようですので、5000のままにすることをお勧めします。
Ruby-rubocopで自動修正が機能することを確認するには、以下の設定を追加します "Ruby.rubocop.executePath": "path/where/rubocop/is/located"がデフォルトの "Ruby.rubocop.executePath": ""に設定されていることを確認します
Vscodeのjsonファイルに以下を追加します
"editor.formatOnSave": true,
"editor.formatOnSaveTimeout": 5000,
"Ruby.rubocop.executePath": "",
"Ruby.format": "rubocop",
このコメントはありがたいことに古くなっています
-残念ながら、これは現在のrubocop拡張機能では実行できません。主な使用例は、Rubyをlintし、IDEで視覚的な合図を表示することです。
これは現在githubで未解決の問題/機能のリクエストです。この問題を表示して、解決されるまで進行状況を確認してください。