tutorial swiftlint

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.

https://swifting.io/blog/2016/03/29/11-swiftlint/

https://github.com/realm/SwiftLint#disable-rules-in-code


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