SwiftLint是一个Realm Inc 建立和维护的,用于强制检查Swift代码风格和规定的一个工具,基本上以GitHub’s Swift 代码风格指南为基础。
这里记录个人的使用,详细见官方中文文档。
/注:Mac/
一、安装SwiftLint
使用Homebrew安装全局配置,打开终端输入以下命令:
brew install swiftlint
二、在项目中使用
SwiftLint安装完成后,需要在工程中设置相关脚本,才能自动检测代码规范。 配置步骤如下图:
脚本:
if which swiftlint >/dev/null; then
swiftlint
else
echo “warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint”
fi
配置完成后,项目编译时SwiftLint会进行规范检查,并给出黄色警告或者红色错误提示。
三、自定义配置
支持为项目制定自定义的规则,也支持针对特定文件制定规则。
1、为项目创建配置文件
- 终端中进入到项目目录
- 新建规则文件:
touch .swiftlint.yml
- 打开:
open .swiftlint.yml
- 编辑自定义的规则,例如:
excluded: # 执行 linting 时忽略的路径。 优先级比 `included` 更高。
- Pods # 忽略通过CocoaPods倒入的第三方库
#- Source/ExcludedFolder # 指定精确路径下的目录
#- Source/ExcludedFile.swift # 指定精确路径下的文件
disabled_rules: # 执行时排除掉的规则
- identifier_name # 命名规则必须按照驼峰原则,与后台传的Json字段命名冲突,建议排除掉
- trailing_whitespace # 每一个空行不能有空格,会与Xcode换行后自动对齐生成的空格冲突,建议排除掉
force_cast: warning # 类型判断
force_try: warning # try语句判断
cyclomatic_complexity: 20 #代码复杂度,默认为10
line_length: # 单行代码长度,默认error 120
warning: 120
error: 200
file_length: # 文件长度
warning: 500
error: 1200
function_body_length: # 函数体长度
warning: 100
error: 300
- 保存
2、针对某个文件、函数应用规则
可以通过在一个源文件中定义一个如下格式的注释来关闭某个规则:
// swiftlint:disable <rule>
在该文件结束之前或者在定义如下格式的匹配注释之前,这条规则都会被禁用:
// swiftlint:enable <rule>