An impressive range of features have landed in IntelliJ 2018.1: https://www.jetbrains.com/idea/specials/idea/whatsnew.html
A ton of additional lints, but also some interesting completion features: using isInstace to infer types, and also leveraging JSON schema!
Related Posts
In praise of Tcl, and reflecting on syntax features for a good command shell: https://yosefk.com/blog/i-cant-believe-im-praising-tcl.html
Sometimes programming tools are so good that you miss them when using other languages. I see these mentioned the most frequently:
* IntelliJ (for Java)
* Slime+Emacs (for Common Lisp)
* Pharo (for Smalltalk)
I'm struck that they all have bespoke UIs.
I think you could build an interesting IDE with a tiny embedded LLM in addition to the usual tooling.
Features like 'extract method' would be much nicer if an LLM could provide a name. Choosing a good name is virtually impossible from just a typed AST.