I love Kotlin

Uplink@programming.dev to Programming@programming.dev – 42 points –

...but I hate that you can practically only use it with IntelliJ. Trying to use it with just Gradle and vscode is such a pain and maybe even impossible to get anything more than basic syntax highlighting. That is all.

12

I just hate using Gradle with it. Or at all.

10 minutes after migrating from Maven to Gradle...

"Wow, I can do the same I did with Maven with such a small configuration and a few lines of code".

2 months later....

"Wtf is broken!!? Wtf is going on?"

2 hours later...

"Wtf is broken!!? Wtf is going on?"

Gradle only exists for legal reasons, so maven doesn't have a monopoly.

Gradle is fantastic, but there is this mantra you have to chant while tinkering with it:

I hate Gradle, I hate Gradle, I hate Gradle, I hate Gradle, I hate Gradle

But once you get it to do whatever you want it's way more powerful than Maven, since it's actual code. Also you will never get me to voluntarily define my project structure in XML.

Disclaimer: I work for JetBrains.

Genuinely curious, why do you prefer using VS Code over IntelliJ? What do you get there that you don't get in IntelliJ, or in other words, and what would IntelliJ need to do for you to choose to use it?

Also, have you tried Fleet yet? If you're a VS Code fan, it might appeal to you.

Not OP, but a pretty common reason is having a super-modular and hackable IDE that can be used to develop pretty much anything. Everything is JSON-configurable, all editors are webviews, so adding stuff like HTML rendering in Jupyter notebooks is almost trivial from a technical perspective. Fleet might be a step in the right direction, but still feels like a layer on top of IntelliJ, which is a beast in of itself, plus it is closed-source.

Also the approach of decoupling editors from the language support via LSP might be one of the biggest innovations in this space in recent years, IMO. Having a widely adopted and open protocol for language support effectively made Neovim, Emacs etc. a viable choice. It has spawned several high-quality LSP implementations, often directly supported by the compiler vendors, e.g. clangd or rust-analyzer.

Arguably Microsoft has been monetizing a bunch of services on top of VSCode too and they haven't always stuck to their own principles (see Pylance, a closed-source language server that only runs in official VSC builds), but the LSP itself was still a pretty big net positive.

VS Code isn't an IDE, it's a text editor you can cram with extensions to make it behave like an IDE.