
Real-time IDE plugin visualizing Jetpack Compose recompositions, highlighting recomposed and skipped functions, listing composable calls with counts, and inspecting parameter stability to optimize UI performance.
Riflesso is a plugin for IntelliJ IDEA that provides real-time visualization of Jetpack Compose recompositions for any Kotlin Multiplatform project. It helps developers understand and optimize the performance of their UI by highlighting which functions are recomposing and why.
- Real-time Highlighting: Visualizes recomposition and skip events directly in your editor.
- Composable Call List: Displays a sorted list of all called composables, showing their recomposition and skip counts.
- Parameter Stability Inspection: Brings the powerful parameter state inspection feature from Android Studio to any KMP project, allowing you to see if parameters are
Stable,Unstable,Same, orDifferent.- Kotlin Multiplatform Support: Works seamlessly with Desktop and Android KMP targets.
In the root's build.gradle.kts:
plugins {
id("ru.ivk1800.riflesso") version "<version>" apply false
}In your module's build.gradle.kts:
plugins {
id("org.jetbrains.kotlin.plugin.compose")
id("ru.ivk1800.riflesso") // <- Important! You need to add it after the compose plugin.
}In your module's build.gradle.kts:
plugins {
implementation("ru.ivk1800.riflesso:client:<version>")
}plugins {
implementation("ru.ivk1800.riflesso:client-noop:<version>")
}ru.ivk1800.riflesso.Riflesso.initialize()Install the plugin for IntelliJ IDEA and click "start".
In your module's build.gradle.kts you can disable plugin:
riflesso {
isEnabled = false
}Choose the appropriate version for your version of kotlin:
https://mvnrepository.com/artifact/ru.ivk1800.riflesso
highlights:
composable function with parameters:
| Platform | Status |
|---|---|
| Android | βοΈ |
| Desktop | βοΈ |
| iOS | β |
| Web | β |
gradlew publishToMavenLocal -PincludeComposeApp=false
gradlew composeApp:jvmRun -DmainClass=MainKt
gradlew publishToMavenCentral -PisDev=false --rerun-tasks
Riflesso is a plugin for IntelliJ IDEA that provides real-time visualization of Jetpack Compose recompositions for any Kotlin Multiplatform project. It helps developers understand and optimize the performance of their UI by highlighting which functions are recomposing and why.
- Real-time Highlighting: Visualizes recomposition and skip events directly in your editor.
- Composable Call List: Displays a sorted list of all called composables, showing their recomposition and skip counts.
- Parameter Stability Inspection: Brings the powerful parameter state inspection feature from Android Studio to any KMP project, allowing you to see if parameters are
Stable,Unstable,Same, orDifferent.- Kotlin Multiplatform Support: Works seamlessly with Desktop and Android KMP targets.
In the root's build.gradle.kts:
plugins {
id("ru.ivk1800.riflesso") version "<version>" apply false
}In your module's build.gradle.kts:
plugins {
id("org.jetbrains.kotlin.plugin.compose")
id("ru.ivk1800.riflesso") // <- Important! You need to add it after the compose plugin.
}In your module's build.gradle.kts:
plugins {
implementation("ru.ivk1800.riflesso:client:<version>")
}plugins {
implementation("ru.ivk1800.riflesso:client-noop:<version>")
}ru.ivk1800.riflesso.Riflesso.initialize()Install the plugin for IntelliJ IDEA and click "start".
In your module's build.gradle.kts you can disable plugin:
riflesso {
isEnabled = false
}Choose the appropriate version for your version of kotlin:
https://mvnrepository.com/artifact/ru.ivk1800.riflesso
highlights:
composable function with parameters:
| Platform | Status |
|---|---|
| Android | βοΈ |
| Desktop | βοΈ |
| iOS | β |
| Web | β |
gradlew publishToMavenLocal -PincludeComposeApp=false
gradlew composeApp:jvmRun -DmainClass=MainKt
gradlew publishToMavenCentral -PisDev=false --rerun-tasks