如何禁用 ktlint max-line-length 标准规则

问题描述 投票:0回答:1

我在 AGP 8.1.0 上使用 ktlint 0.50.0 和 Spotless 6.20.0。作为 PreCommit Git 挂钩运行一尘不染。 由于存在太多旧代码,我正在尝试禁用一些规则。 给我带来麻烦的是“max_line_length”。

如何禁用它?

我创建了一个简单的“.editorconfig”文件(我想获取其余规则的所有默认值):

root = true

[*]

[*.java]


[{*.gradle.kts,*.kt,*.kts,*.main.kts}]


ktlint_standard_comment-wrapping = disabled    # this one is successfully disabled

所以,我尝试了所有可能的组合,也尝试了不同级别的属性:

max_line_length = off           # as property
max_line_length = 2147483647    # using Int.MAX_VALUE

ktlint_standard_max-line-length = disabled
ktlint_standard_max_line_length = disabled
ktlint_standard_max-line-length = off
ktlint_standard_max_line_length = off

我不想使用文件内 ktlint 注释,因为这需要更改文件......而且我不想去那里。

尝试提交时,我总是收到超出最大行长度错误...

关于如何禁用此特定规则有什么建议吗?

我错过了什么?

任何建议...

android-gradle-plugin githooks ktlint spotless
1个回答
0
投票

唯一对我有用的是通过 Spotless

editorConfigOverride
API“覆盖”这些参数。改变:

spotless {
    kotlin {
        ktlint(Versions.ktlint)
    }
}

至:

spotless {
    kotlin {
        ktlint(Versions.ktlint)
                .userData(["android" : "true"])
                .editorConfigOverride([
                        "ktlint_standard_comment-wrapping" : "disabled",
                        "max_line_length" : 2147483647,
                ])
    }
}

注意

2147483647
值,这是
Int.MAX_VALUE
。 我检查了 ktlint
MaxLineLengthEditorConfigProperty
CommentWrappingRule
代码,这应该禁用它......并且它起作用了。

我完全删除了

.editorconfig
文件,因为这些是唯一的“自定义”选项。

在此之前,我还尝试在每个级别上为

max_line_length
文件中的
.editorconfig
设置更高的值...但它不起作用,它始终默认为150。

© www.soinside.com 2019 - 2024. All rights reserved.