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 的時候就會自動排版好啦!
