【问题标题】:Custom rules implementation is not working using SwiftLint自定义规则实现无法使用 SwiftLint
【发布时间】:2020-09-30 18:53:27
【问题描述】:

我在我的系统中使用SwiftLint.pkg 安装了SwiftLint。现在我想自定义规则,所以我在我的根目录中添加了 .swiftlint.yml 文件。我已经添加了脚本。我已按照文档中提到的步骤进行操作,但不知何故它不起作用。

脚本:

if which swiftlint >/dev/null; then
swiftlint --config "$SRCROOT/.swiftlint.yml"
else
echo "warning: SwiftLint not installed, download from https://github.com/realm/SwiftLint"
fi

.switlint.yml 文件中的规则:

custom_rules: 
comma_space_rule: 
regex: ",[ ]{2,}" 
message: "Expected only one space after ',"

【问题讨论】:

  • 你把 yml 文件放在哪里了? ($SRCROOT 是 Xcode 项目的顶级目录。)
  • 不要犹豫在其他shell之前添加,比如pwd来检查它应用在哪里,检查文件是否存在等等。
  • 您可以尝试删除--config "$SRCROOT/.swiftlint.yml" 部分吗?您可以在与 .xcworkspace(或 .xcodeproj)相同的目录中找到 .swiftlint.yml 文件
  • 所以问题是您的配置文件中存在无效的规则或语法错误。您应该将该规则和错误消息作为相关信息添加到您的问题中。
  • 如果您要将其转换为不同的问题,请在问题中提及 cmets 并在您的问题中添加任何相关错误。我们不应该通读所有的 cmets 来理解这个问题。

标签: swift swiftlint


【解决方案1】:

你的规则很好! ?

我试过了,它工作正常。你只需要正确缩进:

custom_rules: 
        comma_space_rule:
                regex: ",[ ]{2,}"
                message: "Expected only one space after ',"

【讨论】:

    猜你喜欢
    • 2016-07-22
    • 2018-07-13
    • 2018-10-26
    • 2021-12-08
    • 2020-09-12
    • 2018-01-10
    • 2016-09-09
    • 2019-03-12
    • 2020-02-11
    相关资源
    最近更新 更多