问题标签 [ktlint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
2010 浏览

gradle - Kotlin Gradle Spotless ktlint 配置

我目前使用以下方式将 ktlint 应用于我的项目:

我想对配置进行一些调整,以使 linter 符合我们在团队中想要的内容。例如,将最大行长度设置为 120。

为此,我发现我们可以这样做: ktlint("0.30.0").userData(mapOf("max_line_length" to "120")) 在 build.gradle.kts 文件中。然而,随着我们继续添加更多的调整,这变得非常难以管理和从一个项目复制到另一个项目,并且该spotlessApply任务无法格式化代码并且只是在构建过程中将其作为一个问题提出来。是否可以让它自动运行-这种情况下的格式?

ktlint 本身支持.editorconfig此类配置的文件。我如何一尘不染地应用它?

0 投票
1 回答
3344 浏览

android - 如何使用 Gradle 将 KtLint 样式添加到 Android Studio?

我想将样式添加ktlint到 Android Studio 中,这样当我自己应用格式时,它就会使用该ktlint样式。

根据文档,我安装了ktlintCLI

然后我导航到我的项目的根目录并执行

该样式现在出现在我的使用偏好中。

问题是通过 CLI 应用的样式使用了我认为的最新版本,ktlint因为我的手动格式化与格式化任务不同。我Gradle希望它使用Gradle插件中的样式,以便应用于项目的样式相同Gradle格式化时任务使用的一种。

最后,我希望它是一个 Gradle 任务,以便其他开发人员可以导入和应用与我创建钩子相同的样式。

下面是我的“ktlint”Gradle 文件

更新 1

我查看了其中一个可用的 Gradle 插件并看到了这个文件。对我来说,它看起来像是主库的包装器,因此必须可以不使用 3rd 方插件。https://github.com/JLLeitschuh/ktlint-gradle/blob/master/plugin/src/main/kotlin/org/jlleitschuh/gradle/ktlint/KtlintApplyToIdeaTask.kt

我使用的版本是 0.34.2 并将其与最新版本进行比较,看起来稍后添加了对这些命令的支持,如此处所示https://github.com/pinterest/ktlint/blob/master/ktlint/src/main /kotlin/com/pinterest/ktlint/Main.kt#L49

根据这些信息,我添加了这个 Gradle 任务,它让我进步了,但仍然失败。

它失败并出现此错误

扔在这里

https://github.com/pinterest/ktlint/blob/master/ktlint/src/main/kotlin/com/pinterest/ktlint/internal/ApplyToIDEACommandHelper.kt#L27

我的 gradle 文件位于项目的根目录中,所以我现在不确定下一步该做什么。

0 投票
1 回答
7046 浏览

kotlin - Ktlint 不允许通配符导入?(使用 IntelliJ 自动导入功能)

我正在使用 ktlint maven 插件(首次用户)运行 Kotlin 项目。但是每当我进行 Maven 构建时。我经常看到类似的失败

由于我使用 IntelliJ,因此我经常依赖自动导入,其中许多子包被分组到通配符 (*) 中。这是 ktline 用来强制执行良好导入做法的方法吗?

0 投票
1 回答
690 浏览

android - 通过执行单个任务命令为所有模块运行 Ktlint

我的 android 项目中有多个模块。我有一个包含 ktlint 代码的 Gradle 文件。我通过在项目 Gradle 文件中写入该 Gradle 文件将其应用到每个模块。

现在的问题是我可以在每个模块上运行 ktlint,方法是像这样在命令中给出它们的名称。

为缓存模块运行 ktlint。

但我需要一次运行所有模块 ktlint。

这是我需要执行 ktlint 操作的开源存储库拉取请求。

0 投票
1 回答
992 浏览

android - Ktlint 与 lint 的区别?

根据这篇文章,ktlint 是一个带有内置代码样式检查器的自动 linter。

当我决定使用 ktlint 时,lint 和 ktlint 有什么区别?

lint 针对 Android 进行了优化

ktlint 是否针对 Kotlin 进行了优化?

ktlint 与 Bamboo 等集成系统的性能如何? 它会自动应用吗?

0 投票
1 回答
1308 浏览

android-studio - Ktlint 因通配符导入而失败(无法自动更正)

当我运行gradlew ktlintCheck它失败了很多

通配符导入(不能自动更正)

错误。

0 投票
2 回答
1386 浏览

android - 如何在 Windows 中安装 Ktlint

我正在尝试做的事情:我正在尝试在本地 Windows 上安装 ktlint

我尝试了什么

在命令提示符下使用以下命令

还通过使用链接中的以下步骤尝试了上述命令

发生了什么:无法在 Windows 中安装。

windows下如何安装?

0 投票
0 回答
3945 浏览

kotlin - KtLint 检查不再在本地工作 - 它在我的 docker 映像构建中工作

无缘无故地我能够理解我的gradle ktlintCheck命令不再产生任何问题并且:ktlintFormat没有修复任何东西。一旦我推送我的更改并且我的 CI 管道开始构建我的 Docker Image 构建过程, ktlint 就会再次工作。

所以要清楚 - 我有问题并且ktlintCheck没有找到它们。

我所做的唯一真正的增量是将Kotlin 更新1.4.10为. 我认为这与此有关,但无法弄清楚是什么。ktlint9.4.0

本地

CI 管道

摘自 build.gradle.kts

Dockerfile

知道为什么它不起作用吗?

编辑:可能与这个问题有关:https ://github.com/JLLeitschuh/ktlint-gradle/issues/399

0 投票
1 回答
1508 浏览

kotlin - ktlint 不检查 kotlin 文件

我希望我的项目对所有 kotlin 文件执行 ktlintCheck,但它只检查 build.gradle.kts 文件。build.gradle.kts 文件如下

当我运行 gradlew ktlintCheck 时,终端输出如下:

0 投票
1 回答
269 浏览

android - 如何正确安装 ktlint

我正在尝试安装到 ktlint。我用他们网站上的以下代码行做到了

curl -sSLO https://github.com/pinterest/ktlint/releases/download/0.39.0/ktlint && chmod a+x ktlint && sudo mv ktlint /usr/local/bin/

但是当我尝试时,ktlint --version我得到一个错误,说 usr/local/bin/ktlint: 3: exec: java: not found 有人可以帮我解决这个问题吗 谢谢 :)