【问题标题】:How to fix "Trailing Whitespace Violation" warnings caused by swiftlint in Xcode?如何修复 Xcode 中由 swiftlint 引起的“尾随空格违规”警告?
【发布时间】:2019-11-24 18:10:00
【问题描述】:

我们如何一次性修复我的 iOS 项目中由 swiftlint 引起的“尾随空格违规”警告?我不想手动更正它们中的每一个。此外,我不想禁用这些警告,因此您可以跳过该建议。

我一直在尝试查找和替换选项,但我没有得到正确的关键字来解决这个问题。

图片:

【问题讨论】:

  • Xcode 中有一个设置可以自动删除尾随空格。
  • 您可能需要考虑从 SwiftLint 之类的报告扫描程序切换到可以纠正问题的东西,而不仅仅是报告问题。我建议看看 SwiftFormat。
  • @rmaddy,你能告诉我在 Xcode 中启用此设置的路径吗?
  • Xcode -> 首选项 -> 文本编辑 -> 编辑 -> 自动修剪尾随空格。并且包括只有空格的行。
  • @rmaddy 但它不会更正已经编写的代码行,但对未来的前景有益。不是吗?

标签: ios swift xcode swiftlint


【解决方案1】:

swiftlint 有一个自动更正选项,可以为您解决一些问题,所以当我收到尾随空格警告时,我会在项目的命令行中运行 swiftlint

$ swiftlint autocorrect

更新

从 0.43 版开始,autocorrect 已被弃用并替换为 --fix,所以现在该命令是

$ swiftlint --fix

autocorrect暂时仍然可用,更多信息请参阅change log

【讨论】:

    【解决方案2】:

    选中 While editing 部分中的 2 个复选框

    【讨论】:

      【解决方案3】:

      修复现有(从仅空白行中删除尾随空白),在按照 rmaddy 建议打开首选项 include-whitespace-only-lines 后,可以选择全部,复制整个文件,然后粘贴,用相同的文本替换所有文本。 Xcode 将对粘贴的代码应用首选项。

      【讨论】:

        【解决方案4】:

        如果你只想禁用trailing_whitespace 那么,

        1. 启动 Terminal 应用并移至您的项目文件夹。
        2. 执行命令$ ls -a查看所有隐藏文件。你会看到有 .swiftlint.yml 文件
        3. 在编辑器中打开文件。 $ vi .swiftlint.yml(如果你在你的 mac 中安装了 Sublime Text,那么就使用这个;$ subl .swiftlint.yml

        最后,在disabled_rules 中添加trailing_whitespace

        disabled_rules: # rule identifiers to exclude from running
          # - colon
          - comma
          # - control_statement
          - variable_name
          - force_cast
          - large_tuple
          - notification_center_detachment
          - nesting
          - function_parameter_count
          - trailing_whitespace # <---------
        opt_in_rules: # some rules are only opt-in
          - empty_count
        
        ...
        

        不过,我建议使用自动更正,而不是在设置中添加trailing_whitespace

        【讨论】:

          猜你喜欢
          • 2021-02-09
          • 2020-12-04
          • 2010-11-26
          • 2019-07-21
          • 2020-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-06-18
          相关资源
          最近更新 更多