我的项目是将开源类从我们不想保留的第三方gem扩展到与我们自己的代码相同的编码标准。重构gem代码不是一个可行的选择。我们只希望Rubocop忽略复制的代码。
如何指示Rubocop完全忽略文件或目录?
我的项目是将开源类从我们不想保留的第三方gem扩展到与我们自己的代码相同的编码标准。重构gem代码不是一个可行的选择。我们只希望Rubocop忽略复制的代码。
如何指示Rubocop完全忽略文件或目录?
Answers:
根据orde的评论以及该手册的链接,我找到了.rubocop.yml并添加了以下内容:
AllCops:
Exclude:
- 'path/to/excluded/file.rb'
路径相对于.rubocop.yml的位置
node_modules
和vendor
。因此,您可能还希望将这些添加到排除对象中。
Metrics/BlockLength: \n Exclude: \n - 'Rakefile' \n - '**/*.rake' \n - 'factories/**/*.rb' \n - 'spec/**/*.rb'
😞希望您可以在代码段中添加换行符以用于子注释。
AllCops:
Exclude:
- 'node_modules/**/*'
- 'vendor/**/*'
为方便起见,这是我经常使用的.rubocop.yml。
见.rubocop.yml的正式解释这里。
AllCops:
Exclude:
- Berksfile
- recipes/basic.rb
- attributes/*.rb
# Customize rules
Metrics/LineLength:
Max: 95
MethodLength:
Max: 35
Metrics/AbcSize:
Enabled: false
BlockLength:
Max: 70
我不断被rubocop的错误和警告所困扰。因此,我发表了这篇文章。
Exclude:
不是Excludes:
- tmp/**/*
。