Risposte:
C'è un modo per ignorare i poliziotti per linea.
C'è anche un modo per farlo tramite il file di configurazione.
Esegui rubocop --auto-gen-config
e genererà un file che puoi utilizzare per disabilitare i reati.
Il comando fornisce anche un suggerimento su cosa fare per caricare quelle opzioni.
Riga per riga, puoi abilitare e disabilitare anche i poliziotti.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
Puoi anche eseguire più di una regola alla volta nel codice.
# rubocop:disable BlockComments, AsciiComments
Usando una direttiva inline, la direttiva diventa valida solo per quella riga e sarebbe simile a questa:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Puoi leggere un sacco di più su RuboCop nel suo manuale ufficiale .
Per trovare tutti i nomi delle regole vale la pena cercare nei file di configurazione di rubocop
cyberwiz dice: "esegui rubocop -D
quando ho bisogno dei nomi delle regole invece di cercare nella documentazione". Aggiornamento : questo è ora il comportamento predefinito senza il flag.
#!/bin/env ruby
riga di commento è un commento, ma codice, ed è semanticamente importante. I commenti non sono sempre solo "commenti".
È possibile definire schemi regex per ignorare automaticamente determinate righe rubocop.yml
, quindi puoi scegliere di ignorare tutte le righe che iniziano con un #
carattere:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
Questo potrebbe essere migliorato in modo che anche le righe di commento "rientrate" (cioè gli spazi seguiti da un #
carattere) vengano ignorate, se è quello che vuoi.
Nota che questo non tiene conto delle righe di codice che terminano con un commento, però:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
IgnorePatterns: ['(\A|\s)#']
IgnoredPatterns
invece IgnorePatterns
(manca la lettera "d").
È possibile utilizzare il seguente commento con rubocop per ignorare una regola specifica:
# rubocop:disable Metrics/LineLength
def this_could_be_a_very_long_line_that_extends_forever_into_infinity
end
# rubocop:enable Metrics/LineLength
Puoi anche ignorare interi file aggiungendoli a .rubocop.yml
:
AllCops:
Exclude:
- path/to/file.rb
Penso che l'idea di base qui sia che vuoi applicare la lunghezza della riga, non importa cosa c'è dopo n caratteri. il valore predefinito a 80 caratteri è un culto del carico per le vecchie finestre di terminale che potevano contenere solo quel numero di caratteri. l'unica opzione che ho visto nel codice è un'opzione per consentire gli URL che potrebbero superare il limite di caratteri.
puoi ignorare interi file , immagino che non sia quello che stai cercando.