swiftlint - tutorial - realm github
SwiftLint: archivo de exclusión para una regla específica (4)
Acabo de deshacerme con force_cast
Paso 1:
cd path-to-your-project
Paso 2:
touch .swiftlint.yml
Paso 3: abre .swiftlint.yml y agrega
disabled_rules: # rule identifiers to exclude from running
- force_cast
Referencia - https://github.com/realm/SwiftLint#disable-rules-in-code
Estoy tratando de hacer algo como esto en mi archivo .swiftlint.yml:
force_cast:
severity: warning # explicitly
excluded:
- Dog.swift
Tengo este código y no me gusta la advertencia force_try que estoy recibiendo:
let cell = tableView.dequeueReusableCellWithIdentifier(Constants.dogViewCellReuseIdentifier,
forIndexPath: indexPath) as! DogViewCell
Quiero suprimir la advertencia para este archivo excluyendo este archivo de la regla.
Hay una manera de hacerlo ?
Bueno, si no quieres que algunas reglas específicas se apliquen a un archivo específico, puedes usar la técnica mencionada por @Benno Kress. Para eso necesita agregar un comentario en su archivo swift como se indica a continuación.
Las reglas se deshabilitarán hasta el final del archivo o hasta que la plantilla vea un comentario de habilitación coincidente:
// swiftlint:disable <rule1>
YOUR CODE WHERE NO rule1 is applied
// swiftlint:enable <rule1>
También es posible omitir algunos archivos configurando swiftlint. agregue un archivo " .swiftlint.yml " en el directorio donde ejecutará SwiftLint.
Agregue el siguiente contenido para excluir algunos archivos. Digamos file1, file2 ... etc
excluded:
- file1
- file2
- folder1
- folder1/ExcludedFile.swift
Para deshabilitar algunas reglas, agregue completamente lo siguiente al mismo archivo " .swiftlint.yml ".
disabled_rules: # rule identifiers to exclude from running
- colon
- comma
- control_statement
Para más información, consulte los siguientes enlaces.
Configure SwiftLint agregando un archivo .swiftlint.yml desde el directorio donde ejecutará SwiftLint. Aquí está el conjunto completo de opciones que puede usar en su archivo .swiftlint.yaml
disabled_rules: # rule identifiers to exclude from running
- colon
- comma
- control_statement
opt_in_rules: # some rules are only opt-in
- empty_count
# Find all the available rules by running:
# swiftlint rules
included: # paths to include during linting. `--path` is ignored if present.
- Source
excluded: # paths to ignore during linting. Takes precedence over `included`.
- Carthage
- Pods
- Source/ExcludedFolder
- Source/ExcludedFile.swift
- Source/*/ExcludedFile.swift # Exclude files with a wildcard
analyzer_rules: # Rules run by `swiftlint analyze` (experimental)
- explicit_self
# configurable rules can be customized from this configuration file
# binary rules can set their severity level
force_cast: warning # implicitly
force_try:
severity: warning # explicitly
# rules that have both warning and error levels, can set just the warning level
# implicitly
line_length: 110
# they can set both implicitly with an array
type_body_length:
- 300 # warning
- 400 # error
# or they can set both explicitly
file_length:
warning: 500
error: 1200
# naming rules can set warnings/errors for min_length and max_length
# additionally they can set excluded names
type_name:
min_length: 4 # only warning
max_length: # warning and error
warning: 40
error: 50
excluded: iPhone # excluded via string
identifier_name:
min_length: # only min_length
error: 4 # only error
excluded: # excluded via string array
- id
- URL
- GlobalAPIKey
reporter: "xcode" # reporter type (xcode, json, csv, checkstyle, junit, html, emoji, sonarqube, markdown)
Referencia: github.com/realm/SwiftLint#disable-rules-in-code
Puede escribir // swiftlint:disable force_cast
al principio del archivo en el que desea suprimir la advertencia para esta regla. Se deshabilita hasta el final del archivo o hasta que agrega la línea // swiftlint:enable force_cast
.
Fuente: https://github.com/realm/SwiftLint#disable-rules-in-code