Site icon AppTractor

Используем Ktlint в вашем Android-проекте

Кровоточат ли ваши глаза, когда вы в чужом (или своем) коде натыкаетесь на лишние чересстрочные интервалы или, например, неиспользуемые импорты?

Ktlint поможет вам предотвратить такие явления, предоставляя стандартные правила стилизации и форматирования, которые вы можете легко применить к своему проекту.

Добавляем Ktlint в свой проект

В build.gradle вашего проекта добавьте следующее и нажмите кнопку «sync now»:

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

allprojects{
    apply plugin: "org.jlleitschuh.gradle.ktlint"
}

И убедитесь, что в файле settings.gradle есть функция mavenCentral():

pluginManagement {
    repositories {
        ...
        mavenCentral()
    }
}
dependencyResolutionManagement {
    repositories {
        ...
        mavenCentral()
    }
}

Если вы используете устаревший метод apply, обратите внимание на этот фрагмент кода

Вот и все, теперь этот плагин добавляет множество задач Gradle, которые мы будем использовать.

Примечание: Вы можете добавить Ktlint в свой проект различными способами, такими как brew, gradle и другими. В данном случае мы используем плагин ktlint-gradle для добавления и настройки Ktlint.

Запускаем Ktlint

Вы можете запустить Ktlint из командной строки, используя следующие команды в корневом каталоге вашего проекта.

1. Проверьте наличие проблем с форматированием кода

./gradlew ktlintCheck

Это покажет, есть ли проблемы со стилем/форматированием.

2. Отформатируйте код с помощью Ktlint

./gradlew ktlintFormat

Это отформатирует все Kotlin-файлы и исправит все проблемы со стилем. Вы можете запускать линтер перед каждым коммитом или повесить его на хук предкоммита.

3. Добавьте текущие проблемы форматирования в файл

Для уже существующих больших проектов можно добавить текущие проблемы в базовый файл, выполнив эту задачу:

./gradlew ktlintGenerateBaseline;

Переопределите правила Ktlint

Ktlint предоставляет набор свойств по умолчанию для настройки. Вы можете переопределить правила, изменив файл .editorconfig в каталоге проекта (создайте его, если он еще не существует):

root = true

[*.{kt,kts}]
ij_kotlin_allow_trailing_comma_on_call_site = true
ij_kotlin_allow_trailing_comma = true

Ознакомьтесь с другими правилами в официальном руководстве Ktlint.

Добавьте задачи форматирования в pre-commit хук

Вместо того чтобы вручную запускать задачу ./gradlew ktlintFormat перед каждым коммитом, мы можем легко добавить ее в хук перед ним, выполнив эту задачу Ktlint.:

./gradlew addKtlintCheckGitPreCommitHook

Чтобы убедиться в том, что файл pre-commit исполняется, откройте терминал, перейдите в project/.git/hooks и выполните команду chmod +x pre-commit.

Наконец, убедитесь, что в Android Studio включена функция запуска git хуков перед коммитами, открыв панель (CMD + K или Ctrl + K), а затем:

Использование плагина Ktlint

Для того чтобы Android Studio также помогала вам с автоформатированием (CMD + SHIFT + L) и подсветкой ошибок форматирования, вы можете добавить (неофициальный) плагин Ktlint.

Примечание: По умолчанию этот плагин выделяет любую проблему форматирования как ошибку, чтобы изменить это на предупреждение или ничего, вы можете зайти в Preferences -> Tools -> Ktlint и выбрать то, что вы хотите:

Заключение

Используя Ktlint, вы обеспечите хорошее и стабильное качество кода и хороший опыт разработчика.

Источник

Exit mobile version