Ktlint 忽略 .editorconfig

问题描述

我想试用 Kotlin 和 ktlint,我很高兴看到它通过 editorconfig 文件支持制表符缩进(自 this PR 起)。可悲的是,它似乎对我不起作用。我之前没有用过 editorconfig,可能是我犯了一些简单的错误

文件夹中的我的 func buildNewRoutesQueue(overrideGroup1 bool,overrideGroup2 bool,overrideGroup3 bool,overrideGroup4 bool,baseRoutes []*route.Route) []*route.Route { var result []*route.Route if overrideGroup1 { result = append(routes.GetGroup1Routes(),baseRoutes...) } else { result = append(baseRoutes,routes.GetGroup1Routes()...) } if overrideGroup1 { result = append(routes.GetGroup2Routes(),result...) } else { result = append(result,routes.GetGroup2Routes()...) } if overrideGroup3 { result = append(routes.GetGroup3Routes(),routes.GetGroup3Routes()...) } if overrideGroup4 { result = append(routes.GetGroup4Routes(),routes.GetGroup4Routes()...) } return result }

.editorconfig

我的gradle文件

indent_style = tab

然而,由于意外的制表符,运行 gradle ktlintCheck 仍然会抛出异常。我不明白为什么。我用 --debug 运行它,但它没有给我任何有用的信息。

Here is my project: github.com

解决方法

EditorConfig 规范 states:

除根密钥外,所有对都必须位于一个部分下才能生效。

所以你的 .editorconfig 文件应该是:

root = true

[*.{kt,kts}]
indent_style = tab

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...