I’ve been IntelliJ IDEA user for many years and I’m not going to talk about its features and its code-centric approach I like so much. IDEA 2019.2 came after weeks of waiting, watching videos like this one from Trisha Gee or reading blogs like this one from Zlata Kalyuzhnaya. I installed it and after a couple of days noticed no serious problem, so I’m sticking with it. (Yes, it sometimes happens, that new IDEA breaks the way our project work, mostly just corner-cases, maybe because of ever improving Gradle support, etc. Often I just wait for minor fix release and it’s good for me again.)
Borderless design
It’s been a couple of years IDEA started to push UI/UX improvements much more – often to loud disagreement of many users. It’s hard to say how many people liked the changes, how many were silently happy, but the criticism was loud and I could see why. Are developers really so UI/UX sensitive? Ergonomy for sure, but do we want less colours and less borders? Personally I doubt it.
New versions of IDEA often fix what went wrong with previous releases – and I think 2019.2 is the case. Many things are more consistent than before and it’s probably nicer now than years ago, but usability-wise IDEA often misses on the way. I, too, don’t like the effort I have to put into deciphering new icons that are all gray and often changing release to release (at least some of them).
This all often overshadows some nice changes during last releases like unified lookup dialog that really is better than previous (you can reconsider what you’re looking without losing what you’ve typed already) or tons of minor improvements that are delivered with each release or action popup that allows you to switch some settings without going into settings dialog. Many of these changes are so small but continuously delivered that you don’t even realize they are there – or since when.
So this one pushed on that borderless front, again getting some negative reactions, but other than that it wasn’t such a big shock like some previous releases.
And yes, I know those UX guys & gals are trying hard, but constant innovation often brings more problems than it solves. Today’s solutions are problems of tomorrow anyway. I’m not sure how they measure productivity gains from pure aesthetic changes but I sure know when I’m looking for something familiar and it’s not there anymore for reasons rather arbitrary.
Bash support
This version delivers internal plugin with Bash support that may obsolete Bash Support plugin. But we’re not there yet, although Bash Support plugin page states that it will probably not be developed in the future. IDEA’s plugin is reportedly more robust and lightweight compared to Bash Support plugin, but running the script uses Terminal, opens one terminal too many and after interrupting the script you’re still in the command line. Running script with Bash Support (because yes, you could run shell scripts with it already) uses something more similar to Run panel and the experience is smoother in general.
But JetBrains did some nice effort and I expect it will get better. Downloadable ShellCheck addition is a good one, although I was happy enough with its online version (but yeah, you’re copy/pasting your precious scripts somewhere…).
Performance
JetBrains claims faster IDEA starts and it really feels faster but I’m not going to measure it. I was negatively surprised that turning Bash Support plugin on or off caused lengthy reindexing of the project – I don’t understand why. Of course I don’t plan to switch the plugin on and off, but it took me a couple of accidental circles before I settled on still using the external plugin. You can’t mix those.
Services panel replaced Run Dashboard
I don’t know why the name changed but I like the idea of the dashboard a lot, so it’s good it has a strong attention now. I didn’t like that DB connections/sessions showed up there too, I’d rather have them somewhere else. Perhaps it’s a “service”, but I liked “running stuff” focus of previous Run Dashboard more then.
Run Dashboard gave me something I longed for – to be able to see my running configuration and run it with a single click. While it’s still not a single click, at least I can choose the configuration with a single click and then run or debug it. I don’t think it obsoletes the Run configuration dropdown, but we will see what IDEA UX designers decide for us.
Tons of other features
IDEA 2019.2 brings many more features. Gradle support is constantly getting better – this time we’ve got dependency diagrams. I still don’t like IDEA diagrams, their controls are difficult to discover – at least some problems with mouse middle button were resolved, so it seems. I also don’t like the presentation of the dependencies, I can’t see the group or the version – or don’t know how to display them (discoverability again). For my needs Gradle’s plain text output of dependencies task is far superior.
Gradle support gets less in the way in overall and offers better insight and completion. I also like the new split view very much – now I have the tree info with times and console output at the same time. Thanks!
Support for various languages has improved across the board (Groovy, Java 13 of course…) and many many more features were added.
This release feels solid, fast, with minimal UX annoyances and for my projects it was without any problems. Highly recommended.