Настройка ktlint

Настройка ktlint #

ktlint — инструмент автоматической проверки исходного кода на соответствие правил его оформления. Обеспечивает единообразное написание исходного кода внутри одной команды.

Добавление поддержки в систему сборки Gradle #

Запуск задач проверки кода должен осуществляться вместе с задачами по запуску приложения. В рамках курса используется система сборки Gradle.

Предлагается использовать дополнение Ktlint Gradle следующим образом.

Необходимо добавить плагин в конфигурацию build.gradle.kts:

plugins{
    id("org.jlleitschuh.gradle.ktlint") version "13.0.0"
}

Внутри конфигурации необходимо указать версию инструмента. Для этого в файле gradle.properties укажите версию инструмента:

ktlintVersion=1.7.1

И в build.gradle.kts необходимо указать используемую версию инструмента:

val ktlintVersion: String by project
ktlint {
    version.set(ktlintVersion)
}

Настройка инструмента ktlint #

Ktlint поддерживает несколько стандартов оформления. Настройка производится путём формирования файла .editorconfig, который должен располагаться рядом с файлами конфигурации системы сборки Gradle build.gradle.kts.

В рамках курса необходимо использовать следующую конфигурацию для данного файла:

root = true

[*]
insert_final_newline = true

[{*.kt,*.kts}]
ij_kotlin_code_style_defaults = KOTLIN_OFFICIAL

#  Disable wildcard imports entirely
ij_kotlin_name_count_to_use_star_import = 2147483647
ij_kotlin_name_count_to_use_star_import_for_members = 2147483647
ij_kotlin_packages_to_use_import_on_demand = unset

Настройка форматирования в IDEA #

После успешной конфигурации необходимо выполнить в соответствии с официальным руководством. Данная настройка позволит значительно уменьшить количество исправлений в исходном коде, чтобы оно соответствовало требованиям статического анализатора ktlint.

Также можно установить официальный плагин для IDEA.

Запуск проверки исходного кода с помощью ktlint #

К сожалению для эффективной работы данного инструмента необходимо придерживаться следующих требований:

  • Исходные коды проекта должны находится в каталоге, в пути к которому нет русских символов.

Следующей особенностью дополнения к Gradle является то, что проверка исходных кодов может не пройти из-за кеширования результатов запуска. Поэтому перед выполнением задачи ktlintCheck необходимо выполнить задачу clean:

./gradlew clean ktlintCheck

© A. M. Васильев, 2025, CC BY-SA 4.0, andrey@crafted.su