I love Kotlin but compiler speed is not one of its strengths. And with the round trip via Gradle, it just is guaranteed to take multiple seconds to process even a 1 character change in a unit test when you run one.
Eclipse used to be awesome for this with Java:
- error state of your project would update in real time while you were typing. Introduce a problem, the project goes red immidiately. Fix the problem, the red goes away immediately.
- Edit, run, type, edit run type, etc. without noticable delay. Intellij never had this.
The reason for this was a deeply integrated incremental compiler. It could even tolerate compilation errors and still allow you to run parts of your code. There are not many IDEs out there for any language that can do that. IBM did that 20 years ago with Eclipse and it's a feature I miss a lot.
Once you get used to it, instant incremental compile >> everything else ...
And yes, the eclipse way of live embedded compilation to a classloader nested in the IDE process was awesome in more than one way. Probably an inheritance from its Smalltalk roots?
JetBrains refuses to support it and points users to buy Clion instead.
I do this on purpose, because it's much easier than having all in a single window. IntelliJ always gives you the option to have them in a single window.