一款 Java 静态代码分析工具,用于检查代码是否符合编码规范,可通过 XML 配置。
realm/SwiftLint
用于检查 Swift 代码风格与编码规范的 linter,内置 200 多条规则,可按项目配置。
- Star
- 19,779
- Fork
- 2,338
- 未关闭 Issue
- 535
- 最近提交
- 前天
这是什么?
SwiftLint 依据一组代码风格与编码规范规则检查 Swift 源码,并在终端或 Xcode 编辑器中以警告或错误的形式标出违规之处。大部分规则基于 SwiftSyntax 实现,少数规则借助 Clang 和 SourceKit 获取类型信息。
规则可通过 .swiftlint.yml 配置文件开启或关闭,行长、类型体长度等阈值也能在其中调整。对于支持自动修复的违规项,可使用 --fix 参数直接改写文件。独立的 analyze 命令运行基于完整类型检查 AST 的规则,速度较慢,需要手动启用。用户还可以在配置文件中用正则表达式定义自定义规则。
安装方式包括 Homebrew、CocoaPods、Mint、Bazel 和 Swift Package Manager,也可通过 Docker、fastlane 或 Git pre-commit 钩子集成到 CI 流程中。
核心功能
- 01内置 200 多条 Swift 代码风格与规范规则
- 02支持在 Xcode 编辑器中直接显示违规提示
- 03通过 --fix 自动修正可修复的违规项
- 04提供基于完整类型信息的 analyze 命令
- 05支持正则自定义规则以及父子配置文件合并
适用场景
- 在团队的 iOS 或 macOS 项目中统一 Swift 代码风格
- 通过 Docker、fastlane 或 pre-commit 钩子在 CI 中运行代码检查
- 借助自动修正和基线文件逐步清理历史代码
快速上手
- 1
使用 Homebrew 安装 SwiftLint
brew install swiftlint - 2
在项目目录中运行 SwiftLint
swiftlint
使用前须知
- 部分规则依赖 Clang 和 SourceKit 获取类型信息,SwiftLint 设计上只分析可编译的代码。
- 在无法编译的代码上使用 --fix 可能产生令人困惑的结果。
收录于专题
标签
常见问题
- SwiftLint 是什么?
- 用于检查 Swift 代码风格与编码规范的 linter,内置 200 多条规则,可按项目配置。 SwiftLint 依据一组代码风格与编码规范规则检查 Swift 源码,并在终端或 Xcode 编辑器中以警告或错误的形式标出违规之处。大部分规则基于 SwiftSyntax 实现,少数规则借助 Clang 和 SourceKit 获取类型信息。
- SwiftLint 可以免费使用吗?用的什么许可证?
- SwiftLint 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- SwiftLint 还在维护吗?
- 活跃维护中。SwiftLint 最近一次提交是在 2026年11月5日。
- SwiftLint 适合用来做什么?
- 在团队的 iOS 或 macOS 项目中统一 Swift 代码风格 通过 Docker、fastlane 或 pre-commit 钩子在 CI 中运行代码检查 借助自动修正和基线文件逐步清理历史代码
- SwiftLint 怎么安装和运行?
- 使用 Homebrew 安装 SwiftLint: brew install swiftlint 在项目目录中运行 SwiftLint: swiftlint
- 在哪里获取 SwiftLint?
- 源代码和安装说明在 GitHub 上:https://github.com/realm/SwiftLint
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
9632+6 本周4331JavaLGPL-2.1更新于 17小时前
面向 Kotlin 项目的静态代码分析工具,用于发现代码异味和风格问题,支持规则集配置与 Gradle 插件集成。
7106885KotlinApache-2.0更新于 18小时前
一款 Python 静态代码分析工具,无需运行代码即可检查错误、执行编码规范并发现代码异味。
57451424PythonGPL-2.0维护活跃更新于 4天前
一款严格且观点鲜明的 flake8 插件,用于统一 Python 代码风格并标记复杂写法。
2944+3 本周439PythonMIT维护活跃更新于 昨天
一款 Python 静态检查工具,通过解析源码查找错误,不做代码风格检查。
1465+1 本周205PythonMIT维护活跃更新于 10天前
自托管的代码质量与安全平台,扫描项目中的缺陷、漏洞和可维护性问题,并可在 CI 流程中设置质量门禁。
1.1万+28 本周2244JavaLGPL-3.0更新于 前天