…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.
Kotlin has a major benefactor in Jetbrains, buy they are also a major gate keeper with no interest in adding support for anything but IntelliJ. Quite to the contrary, they are actively blocking extensions to their compiler API that would improve development of open language servers.
If you want to develop in Kotlin, you should really just stick with IntelliJ. Or make your peace with not having the greatest language support in your editor.
Honestly, because of the whole situation, I’ve started considering Kotlin as a proprietary product by now.
Have you reviewed this article at all?
https://in-kotlin.com/ide/vscode/setup-vscode-for-kotlin-development/
That article tells you how to set up syntax highlighting and run the command-line compiler by hand, not really comparable to IntelliJ… The article feels like a generic SEO post
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.
Yes, but at the end there should be a single all lowercase “i love gradle”
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.