Кровоточат ли ваши глаза, когда вы в чужом (или своем) коде натыкаетесь на лишние чересстрочные интервалы или, например, неиспользуемые импорты?
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, вы обеспечите хорошее и стабильное качество кода и хороший опыт разработчика.