Câu trả lời:
Có một cách để bỏ qua cảnh sát trên cơ sở mỗi dòng.
Ngoài ra còn có một cách để làm điều đó thông qua tệp cấu hình.
Chạy rubocop --auto-gen-config
và nó sẽ tạo ra một tệp mà bạn có thể sử dụng để vô hiệu hóa các hành vi vi phạm.
Lệnh này cũng đưa ra gợi ý về những việc cần làm để tải các tùy chọn đó.
Trên cơ sở từng dòng, bạn cũng có thể bật và tắt cảnh sát.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
Bạn cũng có thể thực hiện nhiều quy tắc cùng một lúc trong mã của mình.
# rubocop:disable BlockComments, AsciiComments
Bằng cách sử dụng một chỉ thị nội tuyến, chỉ thị chỉ trở nên hợp lệ cho dòng đó và nó sẽ trông như thế này:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Bạn có thể đọc thêm nhiều điều về RuboCop trong sách hướng dẫn chính thức của nó .
Để tìm tất cả các tên quy tắc đáng xem trong tệp cấu hình rubocop
cyberwiz nói - "chạy rubocop -D
khi tôi cần tên quy tắc hơn là tìm trong tài liệu." Cập nhật : Đây hiện là hành vi mặc định mà không có cờ.
#!/bin/env ruby
dòng bình luận cũng là một bình luận, nhưng là mã, và rất quan trọng về mặt ngữ nghĩa. Nhận xét không phải lúc nào cũng chỉ là "nhận xét".
Có thể xác định các mẫu regex để tự động bỏ qua các dòng nhất định rubocop.yml
, vì vậy bạn có thể chọn bỏ qua tất cả các dòng bắt đầu bằng một #
ký tự:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
Điều này có thể được cải thiện để các dòng nhận xét "thụt lề" (tức là khoảng trắng theo sau bởi một #
ký tự) cũng bị bỏ qua, nếu đó là điều bạn muốn.
Xin lưu ý rằng điều này không giải thích cho các dòng mã kết thúc bằng nhận xét, mặc dù:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
IgnorePatterns: ['(\A|\s)#']
IgnoredPatterns
thay vào đó, nó phải là IgnorePatterns
(thiếu ký tự 'd').
Bạn có thể sử dụng nhận xét sau với rubocop để bỏ qua một quy tắc cụ thể:
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
Bạn cũng có thể bỏ qua toàn bộ tệp bằng cách thêm chúng vào .rubocop.yml
:
AllCops:
Exclude:
- path/to/file.rb
tôi nghĩ ý tưởng cơ bản ở đây là bạn muốn thực thi độ dài dòng, không có vấn đề gì sau n ký tự. mặc định là 80 ký tự là một số hàng hóa sùng bái đối với các cửa sổ đầu cuối cũ chỉ có thể chứa số ký tự đó. tùy chọn duy nhất mà tôi thấy trong mã là tùy chọn cho phép các url có thể vượt quá giới hạn ký tự.
bạn có thể bỏ qua toàn bộ tệp , tôi đoán đó không phải là thứ bạn đang tìm kiếm.