SwiftLint

强制查看 Swift 代码风格和规定的东西,以 Ray Wenderlich’s Swift 代码风格指南为根底。

官方文档,中文版。

装置

Swift支撑大局装置和项目装置,大局装置详见官方文档,下面只贴用到的方法。

1、CocoaPods装置

pod 'SwiftLint'

2、增加脚本

"${PODS_ROOT}/SwiftLint/swiftlint"

iOS代码规范工具 SwiftLint SwiftFormat

3、装备 .swiftlint.yml 文件

创建一个命名为 .swiftlint.yml 的装备文件,放在 根目录 即可,执行会递归子文件夹

现有的装备文件里大部分有注解和阐明,默许装备详见官方链接,规矩明细在这里。

4、在代码内操控规矩开关

当前文件忽略指定规矩,在文件顶部加入注释

// swiftlint:disable xxxx
xxxx 替换规矩名,exmple:
// swiftlint:disable file_length

经过注释开关指定规矩

// swiftlint:disable function_body_length
func testFunction() {
    // swiftlint:enable function_body_length
}

经过增加参数指定代码行,开关指定规矩

  • :previous,前一行
  • :this ,当前行
  • :next ,后一行
// swiftlint:disable:next cyclomatic_complexity
func testFunc() {
    …… ……
}

运用

执行查看

./Pods/SwiftLint/swiftlint lint

主动修正

./Pods/SwiftLint/swiftlint --fix

SwiftFormat

SwfitFormat 是便利格式化 Swift 代码的东西。

官方文档

可支撑格式化规矩

装置

官方给出了多种装置和运用的方法,最终决定运用大局装置的方法,考虑如下:

  • SwiftFormat 其实具有 Lint 功用,但是规矩掩盖度和闻名度上不如 SwiftLint;

所以规矩选择运用SwiftLint 约束。

  • 但是 SwiftLint的主动修正不能掩盖所有问题修正(例如单行长度的约束)

Format 正好能够便利的解决这部分问题,所以选择左右开弓

  • Format作为 Lint 的弥补和修正东西,所以轻量装备运用一下就行。

大局装置

brew install swiftformat

装置 Xcode 插件

brew install --cask swiftformat-for-xcode
open "/Applications/SwiftFormat For Xcode.app"

翻开 SwiftFormat For Xcode.app 后,

会主动装置到 Xcode,重启Xcode收效。

iOS代码规范工具 SwiftLint SwiftFormat

重启后在 Editor 菜单下能看到 SwiftFormat,装置成功。

iOS代码规范工具 SwiftLint SwiftFormat

装备主动格式化

最简略的运用便是经过上图的菜单点击即可,官方文档里还有各种不同的触发方法。

而作为开发者更期望在日常开发中,能够不知不觉地完成格式化。

运用Automator 能够完成这个操作,这是一款体系软件。

中文名是主动操作,搜一下就出来了。

iOS代码规范工具 SwiftLint SwiftFormat

iOS代码规范工具 SwiftLint SwiftFormat

iOS代码规范工具 SwiftLint SwiftFormat

工作流程选没有输入,坐落选择Xcode

iOS代码规范工具 SwiftLint SwiftFormat

复制脚本替换

on run {input, parameters}
        tell application "System Events"
                tell process "Xcode"
                        set frontmost to true
                        if menu item "Format File" of menu of menu item "SwiftFormat" of menu "Editor" of menu bar 1 exists then
                                click menu item "Format File" of menu of menu item "SwiftFormat" of menu "Editor" of menu bar 1
                        end if
                        click menu item "Save" of menu "File" of menu bar 1
                end tell
        end tell
        return input
end run

点击build之后代码会高亮,接下来保存下来

iOS代码规范工具 SwiftLint SwiftFormat

回到XcodeServices 菜单下看到刚刚保存填写的姓名SwiftFormat

iOS代码规范工具 SwiftLint SwiftFormat

体系偏好设置 -> 安全性与隐私 -> 辅助功用 ,增加Xcode操控权限

iOS代码规范工具 SwiftLint SwiftFormat

体系设置里边给Xcode增加一个和保存相同的便利键,这样就能够在每次保存的时分主动触发。

iOS代码规范工具 SwiftLint SwiftFormat

iOS代码规范工具 SwiftLint SwiftFormat

导出 / 导入规矩文件

command + S 就能够导出装备文件

导入的时分假如出现找不到可装备的规矩,就在装备文件里边查找关键字,然后删掉

iOS代码规范工具 SwiftLint SwiftFormat