VSCode Ruby RuboCop フォーマッタは焦点を絞った仕様を削除します ->
概要
私は、これがマージされるまで、保存時にコードを自動フォーマットしていた VSCode で https://github.com/rubyide/vscode-ruby を喜んで使用していました https://github.com/rubocop-hq/rubocop- rspec/pull/1109 (これ自体は素晴らしいことです)。
焦点を当てたスペックを含む Rspec ファイルを保存すると、そのスペックが削除されるようになりました。例えば
「何か」を保存すると、それが「何か」に更新されます。 (無効になっている仕様 xit は削除されません)
vscode-ruby 構成:
"ruby.intellisense": "rubyLocate",
"ruby.useLanguageServer": true,
"ruby.codeCompletion": "rcodetools",
"ruby.format": "rubocop", // this line causes the formatter to kick in
"ruby.lint": {
"rubocop": true
},
解決策
Ruby-lsp 拡張機能を使用して、VS Code に保存するときにほとんどの自動修正可能な違反を修正しつつ、集中的なテストを引き続き機能させるには、継続的インテグレーション環境の次に追加の安全性を利用することができます。
.rubocop.yml でcopを無効にします。
RSpec/Focus:
Enabled: false
そして、rails_helper.rb のフォーカス設定を次のように変更します。
if ENV["CI"]
config.before(:example, :focus) { |example| raise "Focused spec found at #{example.location}" }
else
config.filter_run_when_matching :focus
end
私は Stephanie Viccari のブログ投稿を通じてこれを知りました。