How to format your Android project with ktlint
date
Jun 15, 2023
slug
how-to-format-your-android-project-with-ktlint
status
Published
tags
Programming
summary
如何使用 ktlint 快速排版你的程式碼
type
Post
現在寫程式的時候,開發體驗也是很重要的事情。前段時間我寫了滿長時間的 Flutter,在使用 Android Studio 開發的時候覺得他的 format 功能滿有邏輯的,但寫 Android 的時候就覺得 Android Studio 的 format 總是跟預想的不一樣不太好用。
使用 ktlint
如果你是用 Kotlin 寫 Android,那推薦一下滿多人使用的 ktlint 這個 linter(我後來才發現他是 Pinterest 的開源專案)。
可以參考這裡安裝 ktlint,不過我是 Mac 使用者我可以使用 Homebrew:
安裝好之後,可以直接在你的專案目錄執行
ktlint
來提示你的 coding style 問題。如果要針對 Android 專案做 format,可以加上
-a
或是 --android
的 tag(不過官方說可能會把 -a
deprecate 掉,使用時可能要再注意一下)。如果你想要他自動 format 幫你修正這些 lint,可以加上
-F
的 tag:使用 ktlint 的 Android Studio Plugin
如果有在使用 Android Studio,也可以使用這個非官方的 Ktlint plugin。
可以把 Android Mode (
—-android
) 跟 Run ktlint --format
on save 勾起來,就可以按 Command + S 儲存後自動排版了。使用 ktlint-gradle 在執行時自動排版
後來我發現還可以使用 ktlint-gradle 這個 Library,在 Run App 的時候自動排版好。這樣就不用每次到 CLI 執行
ktlint -a -F
了,不過專案內需要做一些小設定。首先,先在
app
資料夾的 build.gradle
或 build.gradle.kts
加上這個 Plugin- Groovy (
build.gradle
)
- Kotlin (
build.gradle.kts
)
按下 Sync Project 後,就可以在下面開始對
ktlint
做一些設定了- Groovy (
build.gradle
)
- Kotlin (
build.gradle.kts
)
最後在
app
的 build.gradle
或 build.gradle.kt
加上:這樣 Run App 的時候就會自動排版好啦!