Swiftlint 下划线名称 swift

Swiftlint underscore name swift

我在我的项目中使用 swiftlint。项目名称是 ABC xx,它可以与 swiftlint 一起正常工作。现在我决定在我的应用程序中包含 Unitest 并且我必须将 @testable import ABC_xx 导入到 swift 测试文件中 class ABC_xxTests: XCTestCase { 而不是我在 Swiftlinter 中收到错误 Type Name Violation: Type name should only contain alphanumeric characters: 'ABC_xxTests' (type_name) 如何对这个错误进行排序

您可以禁用指定文件夹的规则,在您的情况下是 ABC_xxTests 文件夹。在 .swiftlint.yml 配置文件中,您可以使用 'excluded' 属性。如果您还没有创建 swiftlint 配置文件,您可以创建一个名称为 .swiftlint.yml 的配置文件并将其放在您的项目根文件夹中。

添加这行:

excluded:
    - ABC_xxTests

以下 swiftlint 规则允许在您的 Swift class 名称中使用下划线:

type_name:
  allowed_symbols: "_"

编辑: 如果你想为变量名也启用下划线使用:

identifier_name:
  allowed_symbols: "_"

除了@carmine 的回答之外,在向 .swiftlint.yml 中的任何规则添加属性时,请记住以下两点:

  • 应该换行
  • 并且前面应该有一个白色 space。

在我的例子中,我忽略了 allowed_symbols 之前的白色 space。所以 linting 没有工作。当我加白色space时,就成功了

.swiftlint.yml:

中对变量名使用下划线
variable_name:
     allowed_symbols: "_"