【问题标题】:Rubocop autocorrect for FrozenStringLiteralComment not workingFrozenStringLiteralComment 的 Rubocop 自动更正不起作用
【发布时间】:2020-11-09 01:06:11
【问题描述】:

我有一个 Rails 6 项目,正在尝试使用 RuboCop 的 auto-correct 选项来修复许多 Style/FrozenStringLiteralComment 错误(主要在生成的文件中)。

无论我从项目根目录运行bundle exec rubocop --auto-correct --only Style/FrozenStringLiteralComment多少次,Rubocop 都只会报告错误,而不会自动更正错误:

app/models/product.rb:1:1: C: Style/FrozenStringLiteralComment: Missing frozen string literal comment.

通过使用--show-cops 选项运行,我可以看到这个警察“支持--auto-correct”,所以我不确定出了什么问题。

我的.rubocop.yml 文件只有一个配置设置:require: rubocop-rails

我还运行了bundle exec rubocop -a,它纠正了配置和类似文件中的其他错误(主要是单引号)。

知道为什么自动更正在这种情况下不起作用吗?谢谢。

【问题讨论】:

    标签: ruby-on-rails ruby rubocop


    【解决方案1】:

    这是 0.87 版中引入的一项重大更改(请参阅issue)。

    从那里引用:

    rubocop -a 执行所有自动更正,包括不安全的。必须添加 --safe-auto-correct 以排除不安全的。

    您现在应该使用-A 标志来安全和/或不安全地自动更正您的文件:

    rubocop -a / --autocorrect 不再运行不安全的更正; rubocop -A / --autocorrect-all 运行安全和不安全的更正。选项 --safe-autocorrect 已弃用

    它应该适合你:

    bundle exec rubocop -A --only Style/FrozenStringLiteralComment
    

    【讨论】:

    • 完美,谢谢。发布之前在 Google 上进行的不同搜索没有帮助。
    猜你喜欢
    • 2018-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    • 2018-06-10
    • 1970-01-01
    • 2018-02-28
    • 1970-01-01
    相关资源
    最近更新 更多