Rails 4 앱을 사용하여 줄이 긴지 확인할 때 Rubocop이 주석이있는 줄 (주석 또는 줄 끝이있는 일부 코드)을 무시하도록하고 싶습니다. 이 작업을 수행하는 방법이 있습니까?
답변
라인 단위로 경찰을 무시하는 방법이 있습니다.
구성 파일을 통해 수행하는 방법도 있습니다.
실행 rubocop --auto-gen-config
하면 위법 행위를 비활성화하는 데 사용할 수있는 파일이 생성됩니다.
이 명령은 또한 이러한 옵션을로드하기 위해 수행 할 작업에 대한 힌트를 제공합니다.
라인 단위로 경찰도 활성화 및 비활성화 할 수 있습니다.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
코드에서 한 번에 둘 이상의 규칙을 수행 할 수도 있습니다.
# rubocop:disable BlockComments, AsciiComments
인라인 지시문을 사용하면 지시문은 해당 행에 대해서만 유효하며 다음과 같습니다.
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
공식 매뉴얼 에서 RuboCop에 대해 더 많이 읽을 수 있습니다 .
모든 규칙 이름을 찾으려면 rubocop 구성 파일에서 살펴볼 가치가 있습니다.
cyberwiz 는 ” rubocop -D
문서를 보지 않고 규칙 이름이 필요할 때 실행합니다.”라고 말합니다 . 업데이트 : 이제 플래그가없는 기본 동작입니다.
답변
의 특정 줄을 자동으로 무시하도록 정규식 패턴을 정의 rubocop.yml
할 수 있으므로 #
문자로 시작하는 모든 줄을 무시하도록 선택할 수 있습니다 .
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
원하는 경우 “들여 쓰기”주석 줄 (즉, 공백 뒤에 문자가 오는 #
)도 무시 되도록 개선 할 수 있습니다 .
그러나 주석으로 끝나는 코드 줄은 고려하지 않습니다 .
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
답변
rubocop에서 다음 주석을 사용하여 특정 규칙을 무시할 수 있습니다.
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
전체 파일을 다음에 추가하여 무시할 수도 있습니다 .rubocop.yml
.
AllCops:
Exclude:
- path/to/file.rb
답변
나는 여기서 기본 아이디어는 n 문자 뒤에 무엇이 있든 상관없이 줄 길이를 적용하고 싶다는 것입니다. 80 자 기본값은 해당 문자 수만 저장할 수있는 오래된 터미널 창을위한화물 컬트입니다. 코드에서 본 유일한 옵션 은 문자 제한을 초과 할 수있는 URL을 허용하는 옵션입니다.
당신은 전체 파일을 무시할 수 있습니다 , 나는 당신이 찾고있는 것이 아니라고 생각합니다.