使用 ktlint 在 Kotlin 中进行代码格式化
众所周知,谷歌特别推荐用于 android 应用程序开发的 kotlin 语言,当然,它使 android 应用程序开发人员的生活更轻松。但是,如果您是该领域的初学者,那么您可能不知道您需要以所需的格式编写代码。它对开发人员绝对有帮助,但如果你不熟悉如何使用 Kotlin 编写干净的代码,那么不用担心你不需要学习一些东西来实现这一点,相反,你只需要使用用于相同的ktlint目的。
ktlint: ktlint is an anti-bikeshedding Kotlin linter with a built-in format. In simple words, it checks our code styling and also helps us to format our code and make it better for understanding.
使用它的好处
- Ktlitn 可以节省您的时间
- 它可以节省您的精力(因为您不必手动检查代码样式)
- 它可以简化您的流程
我们可以用 ktlint 做什么?
在此之前,我们先说一些重要的东西,比如 ktlint 分解成两件事。
- linting 工具: lining 工具基于 kotlin 标准样式指南,它将验证并确保您的代码符合该样式指南。
- 格式化程序:如果 ktlint 检测到您的代码中存在问题,您可以运行格式化程序并让 ktlint 尝试自动为您修复这些问题。
我们如何实现它?
- 将 ktlint 添加到您的项目中,更具体地说,我们将 ktlint 与 ktlint Gradle 插件集成,这是一个独立的第三方插件,位于基本 ktlint 工具之上,通过提供开箱即用的 Gradle,使用 ktlint 变得非常容易用于运行 ktlint 命令的任务。
- 有几个选项,但最简单的方法是使用 ktlint-Gradle 插件,它为 ktlint 的工具提供开箱即用的 Gradle 任务
将 ktlint 添加到您的 Android 项目中
- 要添加 ktlint-gradle 插件,只需将 ktlint-gradle 插件添加到您的根级 build.gradle 文件
- 对于将插件应用到子项目只需将 ktlint-gradle 插件应用到您想要检查的任何 Gradle 模块
- 将添加的 Gradle 任务验证为 检查是否已为您的各种构建目标添加了 ktlintCheck 和 ktlintFormat 任务
添加 ktlint-gradle 插件
如果使用支持插件 DSL 的 Gradle 版本,您可以使用以下代码将 ktlint-gradle 添加到您的项目中:
Kotlin
// root-level build.gradle
plugins {
id "org.jlleitschuh.gradle.ktlint" version "7.1.0"
}
// root-level build.gradle
buildscript {
repositories {
maven {
url "https://plugins.gradle.org/m2/"
}
}
dependencies {
classpath "org.jlleitschuh.gradle:ktlint-gradle:7.1.0"
}
}
Kotlin
// root-level build.gradle
allprojects {
...
apply plugin: "org.jlleitschuh.gradle.ktlint"
}
将 ktlint-Gradle 插件应用于所有子项目
您需要将 ktlint-gradle 插件应用于项目中的各个模块。您可以使用根级 build.gradle 文件中的 allProjects{} 块来执行此操作。
科特林
// root-level build.gradle
allprojects {
...
apply plugin: "org.jlleitschuh.gradle.ktlint"
}
测试添加的 Gradle 任务
最后,您需要测试 ktlint Gradle 任务现在是否可供使用。你可以通过这些方式
- 从命令行运行 ./gradlew 任务并查找任何 ktlint 任务
- 尝试从命令行运行 ./gradlew ktlintCheck
- 使用 IntelliJ 或 Android Studio 中的 Gradle 工具窗口查看是否列出了任务
要实际检查代码的格式,请从命令行运行以下命令:
./gradlew ktlintCheck
This will run through your project and report back any errors which are found using the default ktlint-gradle plugin configuration.
要自动修复 ktlintCheck 报告的任何错误,您可以从命令行运行以下命令:
./gradlew ktlintFormat
This will attempt to auto-fix any errors and will report back any issues that could not automatically be fixed.
当所有内容都正确格式化后,您应该在运行 ktlintCheck 时看到类似下图的内容。 ktlint 是一个由 Pinterest 维护的开源项目,您可以找到更多信息。点击这里。