RuboCop: Dòng quá dài ← Làm thế nào để bỏ qua?


Câu trả lời:


120

Trong mã của bạn, bạn có thể tắt một loạt các dòng như sau:

# rubocop:disable LineLength
puts "This line is lonnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnng"
# rubocop:enable LineLength

Hoặc thêm cái này vào .rubocop.ymltệp của bạn để tăng độ dài tối đa:

Metrics/LineLength:
  Max: 100

Tôi đặt cái này ở đâu?
Abram

1
Vì vậy, tôi đã sao chép tệp này github.com/bbatsov/rubocop/blob/master/config/default.yml và thực hiện thay đổi và khởi động lại tuyệt vời, nhưng vẫn gặp sự cố ..
Abram

3
À, tôi thấy mình đã sai ở đâu. Tôi quên cái .trong Đã .rubocop.ymllàm được rồi, cảm ơn!
Abram

Tôi thích tùy chọn Exclude: hơn tùy chọn Max: nếu bạn muốn thực hiện thay đổi trong .yml thay vì cục bộ. Khi Max thay đổi quy tắc trên toàn cầu và Loại trừ cho phép bạn quản lý một số ngoại lệ bông tuyết. Khi nó trở nên nhiều hơn một vài, đó là lúc tôi cảm thấy cần phải tái cấu trúc. Nếu việc tái cấu trúc không thể giúp được, đó là lúc tôi sẽ xem xét việc chỉnh sửa tùy chọn Max:.
SMAG

66

Tạo một .rubocop.ymltệp (theo dõi phần đầu .trong tên tệp) trong thư mục gốc của dự án của bạn, bạn sẽ có một loạt các tùy chọn (kiểm tra nhận xét xem phiên bản Rubocop của bạn được sử dụng là gì khi cách xử lý LineLengthđã thay đổi ):

Metrics/LineLength: # for Rubocop < 0.78.0
Layout/LineLength: # for Rubocop >= 0.78.0
  # This will disable the rule completely, regardless what other options you put
  Enabled: false
  # Change the default 80 chars limit value
  Max: 120
  # If you want the rule only apply to a specific folder/file
  Include:
    - 'app/**/*'
  # If you want the rule not to apply to a specific folder/file
  Exclude:
    - 'db/schema.rb'

3

Với những thay đổi mới nhất tại rubocop gem phiên bản 0.78.0 vào ngày 18-12-2019, kể từ bây giờ, cảnh sát LineLength chuyển từ bộ phận Đo lường sang bộ phận Bố cục. Vì vậy, về cơ bản nếu ai cần vô hiệu hóa các dòng dài với việc sử dụng số phiên bản cao hơn 0.78.0 thì nên làm như thế này.

# rubocop:disable Layout/LineLength
  "I'm a really long line"
# rubocop:enable Layout/LineLength

Ngoài ra .rubocop.ymlcấu hình cũng được thay đổi thành này.

Layout/LineLength:
  Max: 100

Để tiếp cận nhật ký thay đổi rubocop, hãy nhấp vào đây

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.