gpt4 book ai didi

Swiftlint 自动更正不修改文件

转载 作者:搜寻专家 更新时间:2023-11-01 07:05:39 69 4
gpt4 key购买 nike

在运行swiftlint 0.24.0版本时,报错。运行 autocorrect 表示文件已更正。然而,swiftlint 的后续运行证明没有进行任何修改。

查看对两个文件 Player.swiftPrize.swift 进行 lint 和更正的尝试。

MacBook-Pro-5: Developer$ swiftlint 
Loading configuration from '.swiftlint.yml'
Linting Swift files in current working directory
Linting 'Prize.swift' (1/2)
Linting 'Player.swift' (2/2)
Player.swift:26:19: warning: Operator Function Whitespace Violation: Operators should be surrounded by a single whitespace when defining them. (operator_whitespace)
Player.swift:27: warning: Line Length Violation: Line should be 120 characters or less: currently 131 characters (line_length)
Player.swift:39: warning: Line Length Violation: Line should be 120 characters or less: currently 147 characters (line_length)
Prize.swift:44:34: warning: Colon Violation: Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Prize.swift:44: error: Line Length Violation: Line should be 120 characters or less: currently 210 characters (line_length)
Done linting! Found 5 violations, 1 serious in 2 files.
MacBook-Pro-5: Developer$ swiftlint autocorrect
Loading configuration from '.swiftlint.yml'
Correcting Swift files in current working directory
Correcting 'Prize.swift' (1/2)
Correcting 'Player.swift' (2/2)
Done correcting 2 files!
MacBook-Pro-5: Developer$ swiftlint
Loading configuration from '.swiftlint.yml'
Linting Swift files in current working directory
Linting 'Prize.swift' (1/2)
Linting 'Player.swift' (2/2)
Prize.swift:44:34: warning: Colon Violation: Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Prize.swift:44: error: Line Length Violation: Line should be 120 characters or less: currently 210 characters (line_length)
Player.swift:26:19: warning: Operator Function Whitespace Violation: Operators should be surrounded by a single whitespace when defining them. (operator_whitespace)
Player.swift:27: warning: Line Length Violation: Line should be 120 characters or less: currently 131 characters (line_length)
Player.swift:39: warning: Line Length Violation: Line should be 120 characters or less: currently 147 characters (line_length)
Done linting! Found 5 violations, 1 serious in 2 files.
MacBook-Pro-5: Developer$

这是另一次运行,但这次使用的文件 Prize.swift 仅包含一个可纠正的违规行为。同样,autocorrect 不会修改:

MacBook-Pro-5:P Developer$ swiftlint 
Linting Swift files in current working directory
Linting 'Prize.swift' (1/2)
Linting 'Player.swift' (2/2)
PPrize.swift:44:34: warning: Colon Violation: Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Done linting! Found 1 violation, 0 serious in 2 files.
MacBook-Pro-5:P Developer$ swiftlint autocorrect
Correcting Swift files in current working directory
Correcting 'Prize.swift' (1/2)
Correcting 'Player.swift' (2/2)
Done correcting 2 files!
MacBook-Pro-5:P Developer$ swiftlint
Linting Swift files in current working directory
Linting 'Prize.swift' (1/2)
Linting 'Player.swift' (2/2)
PPrize.swift:44:34: warning: Colon Violation: Colons should be next to the identifier when specifying a type and next to the key in dictionary literals. (colon)
Done linting! Found 1 violation, 0 serious in 2 files.
MacBook-Pro-5:P Developer$

请注意,是否存在 .swiftlint.yml 文件对此影响为零。

缩写 - 即只显示相关规则 - swiftlint rules 的输出如下所示。请注意,在这三个违规行为中,冒号 绝对是可以纠正的。

MacBook-Pro-5: Developer$ swiftlint rules
+------------------------------------------+--------+-------------+------------------------+-------------+---------------------------------------------------------------------------------------------------------------------------+
| identifier | opt-in | correctable | enabled in your config | kind | configuration |
+------------------------------------------+--------+-------------+------------------------+-------------+---------------------------------------------------------------------------------------------------------------------------+
| colon | no | yes | yes | style | warning, flexible_right_spacing: false, apply_to_dictionaries: true |
| line_length | no | no | yes | metrics | warning: 120, error: 200, ignores urls: false, ignores function declarations: false, ignores comments: false |
| operator_whitespace | no | no | yes | style | warning |
+------------------------------------------+--------+-------------+------------------------+-------------+---------------------------------------------------------------------------------------------------------------------------+

关于 swiftlint autocorrect 如何成功运行有什么想法吗?我可能缺少一些明显的配置或参数吗?我咨询过https://github.com/realm/SwiftLint无济于事。

最佳答案

已更新
swiftlint autocorrect --format
swiftlint --fix --format
swiftlint lint --fix --format

对所有人都有效。来源:https://github.com/realm/SwiftLint/issues/3571


如果 swiftlint 版本低于 0.42.0然后你可以使用 swiftlint autocorrect --format

自动更正它

但如果它是 0.43.0 或更高版本,那么您需要使用 swiftlint --fix

它将自动更正空格、尾随空格、初始格式、if else 中的括号。等等,这不会影响你的逻辑或代码。

swiftlint autocorrect --format//for version < 0.42.0
swiftlint --fix//最新版本 >= 0.43.0

关于Swiftlint 自动更正不修改文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48189186/

69 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com