Utilizzo di un'applicazione Rails 4 Vorrei che Rubocop ignorasse le righe con commenti (solo un commento o un codice con un commento di fine riga) quando si verifica se una linea è troppo lunga. C'è un modo per fare questo?Rubocop Linelength: come ignorare le righe con i commenti?
risposta
Penso che l'idea di base qui sia che si vuole applicare la lunghezza della linea, indipendentemente da cosa sia dopo n caratteri. il valore predefinito di 80 caratteri è un certo carico di traffico per le vecchie finestre di terminale che potevano contenere solo quel numero di caratteri. l'unica opzione che ho visto in the code è un'opzione per consentire URL che potrebbero superare il limite di caratteri.
è possibile ignore whole files, credo che non è quello che stai cercando.
C'è un modo per ignorare i poliziotti su base per riga.
C'è anche un modo per farlo tramite il file di configurazione.
Eseguire rubocop --auto-gen-config
e genererà un file che è possibile utilizzare per disattivare le infrazioni.
Il comando fornisce anche un suggerimento su cosa fare per caricare tali opzioni.
Su una linea per riga, è possibile abilitare e disabilitare anche i poliziotti.
# rubocop:disable RuleByName
This is a long line
# rubocop:enable RuleByName
È inoltre possibile eseguire più di una regola alla volta nel codice.
# rubocop:disable BlockComments, AsciiComments
Utilizzando una direttiva in linea, la direttiva diventa valida solo per quella linea , e sarebbe simile a questa:
# Thanks to @jnt30 for the comment!
method(argument) # rubocop:disable SomeRule, SomeOtherRule
Si può leggere una tonnellata di più su RuboCop nella sua official manual.
per trovare tutti i nomi delle regole il suo valore cercando in the rubocop config files
cyberwiz dice - "gestito rubocop -D
quando ho bisogno i nomi delle regole piuttosto che guardare nella documentazione"
quindi più commenti intorno ai commenti \ o/ma otterrà il lavoro finito – phoet
Bene, i commenti possono spiegare la deviazione da uno stile che è stato accettato dalla squadra, quindi questa non è una brutta cosa, giusto? Altrimenti lo si inserisce nel file rubocop.yml e quindi non si tratta di un'eccezione di stile accettata e non è necessario un commento. Il commento dice "intendevo farlo!". Non è affatto male. I commenti – vgoff
non sono codice, quindi il loro controllo è semanticamente diverso e IMO rubocop dovrebbe trattarlo in questo modo. – phoet
E 'possibile definire modelli regex di ignorare automaticamente alcune linee in rubocop.yml
, così si potrebbe scegliere di ignorare tutte le linee che iniziano con un carattere #
:
Metrics/LineLength:
Max: 80
IgnoredPatterns: ['\A#']
Questo potrebbe essere migliorato in modo che "frastagliate" righe di commento (cioè spazi bianchi seguiti da un carattere #
) vengono anche ignorati, se questo è quello che vuoi.
Si noti che questo non tiene conto di righe di codice che finali con un commento, però:
some_code(that_does_something) # This line would NOT be ignored by Rubocop.
Tutte le impostazioni: https://github.com/bbatsov/rubocop/blob/master/config/default.yml – hlcs
È possibile espandere l'espressione regolare includendo le righe che possono avere spazi bianchi: 'IgnorePatterns: ['(\ A | \ s) # '] ' – poustovitss
** Grazie ** @poustovitss. C'è un refuso: dovrebbe essere 'IgnoredPatterns' invece 'IgnorePatterns' (manca la lettera' d '). – Horacio
- 1. Come integrare rubocop con Rake?
- 2. AWK: c'è qualche bandiera per ignorare i commenti?
- 3. Come commentare poche righe, con i commenti all'interno
- 4. Come posso applicare le parentesi ternarie con RuboCop?
- 5. Sono ignorare le righe non corrispondenti
- 6. C++ build setup per ignorare le modifiche nei commenti
- 7. Commenti a righe di continuazione
- 8. Come dire a Rubocop di ignorare una specifica directory o file
- 9. Come analizzare i commenti con FParsec
- 10. Istantanea di una parte di un file in Vim: nascondi i commenti e le righe vuote
- 11. Winmerge: come ignorare le differenze nelle righe con un tag di fine speciale
- 12. Come sostituire le nuove righe con i caratteri di tabulazione?
- 13. ReactJS - come utilizzare i commenti
- 14. Come disattivare '*' nei commenti su più righe in Eclipse?
- 15. L'unità DB deve ignorare l'ordine delle righe
- 16. Esportare commenti come commenti
- 17. Come eliminare le righe con openpyxl?
- 18. PHP Dom Documenti: ottenere textContent ignorare i tag di script e commenti
- 19. Come contare le righe di codice in Python escludendo commenti e docstring?
- 20. I commenti rallentano R?
- 21. Come arrivare Dired di ignorare i file con estensioni specifiche
- 22. Come dire a lcov di ignorare le righe nei file sorgente
- 23. Come ignorare le convalide w/find_or_create_by_?
- 24. Come trovare tutti i commenti con Beautiful Soup
- 25. Come fare i commenti dei blocchi in Gherkin?
- 26. Come ignorare le eccezioni in F #
- 27. Come passare tutti i commenti in pycharm
- 28. Ignorare le proprietà in FileHelpers
- 29. Come ottenere tutti i commenti da Disqus?
- 30. Come dire a git di ignorare le singole righe, cioè gitignore per linee specifiche di codice
In questi giorni, l'idea alla base di 80 caratteri non è tanto "cargo cult" per il terminale, c'è ancora un motivo logico per farlo: chiunque può dividere il proprio editor o le finestre IDE come vogliono, e purché siano solo più larghe di 80 caratteri, non avranno bisogno di cambiare la larghezza o l'esperienza di avvolgimento. –
IMO se non si dispone di un IDE che supporta il softwrap, gli strumenti non sono aggiornati. – phoet
80 caratteri è anche abbastanza leggibile, mentre 40 o 200 è meno, quindi è anche una cosa usabilità –