函数定义 SwiftLint 后的强制性空行

问题描述

我正在我的 xcode 项目中集成 swiftlint 并设置它的配置。但是我无法获得在函数定义后强制执行空行的规则

func test1() {
}
func test2() {
}

如果我在两个函数之间添加多个空格,则有相应的规则。

是否有任何规则可用于在两个函数之间启用空行,或者我需要编写自定义一个

解决方法

执行 swiftlint 规则将为您提供可用规则列表。为了找到适用的规则,我通常会在 yaml 文件中更改不同的规则,直到找到满足我要求的规则。

如果您的规则不存在,我建议使用正则表达式编写自定义规则,例如:

 custom_rules:
  pirates_beat_ninjas: # rule identifier
    included: ".*\\.swift" # regex that defines paths to include during linting. optional.
    excluded: ".*Test\\.swift" # regex that defines paths to exclude during linting. optional
    name: "Pirates Beat Ninjas" # rule name. optional.
    regex: "([nN]inja)" # matching pattern
    capture_group: 0 # number of regex capture group to highlight the rule violation at. optional.
    match_kinds: # SyntaxKinds to match. optional.
      - comment
      - identifier
    message: "Pirates are better than ninjas." # violation message. optional.
    severity: error # violation severity. optional.
  no_hiding_in_strings:
    regex: "([nN]inja)"
    match_kinds: string

这条规则使得你每次看到忍者这个词都会导致违规