Why I Actually Settled on JetBrains IDEs (After All That Editor Hopping)

Search for a command to run...

No comments yet. Be the first to comment.
I had been doing some basic interpreter work in Go and wanted to redo it in another language to solidify my understanding. Naturally, I chose Odin, it’s another great language, with a Go-like, easy-to-approach syntax and no unnecessary complexity. I ...

Why Emacs Keybindings? I've always preferred Emacs-style editing, especially the way it handles cursor movement and text manipulation. Even though I have switched to using VSCode for most of my development work, I often found myself missing the intui...

In my previous post about building C/C++ projects with CMake, I shared a simple CMakeLists.txt setup for compiling a basic project. Today, I’ll dive into a specific need that many developers encounter: linking libraries directly from project folders ...

Some time ago, I wrote a post about using Vim to look cool and why that’s not a good idea. Now, funny enough, here I am—having switched to VSCode after years of hopping between Vim and Emacs. This isn’t one of those "Vim sucks, I'm going back to VSCo...

Remember my post about switching to VSCode? Well, plot twist: the very next day after publishing it, I switched to WebStorm. And guess what? I've been on JetBrains IDEs ever since.
I know, I know. Another "why I switched editors" post. But hear me out—this time it actually stuck, and I think I've finally figured out why.
After years of hopping between Vim, Emacs, and VSCode, I've settled into a workflow that's honestly just... practical. I use GoLand for Go and frontend development, and CLion for exploring raylib and other C/C++ (or Odin with Odin plugin) projects.
The thing is, I had some WebStorm experience before—maybe a month or two here and there between my various editor adventures. But this time, something clicked differently.
Don't get me wrong, VSCode has incredible out-of-the-box support for most technologies. But its UX just never sat right with me. Take project-wide text search, for example. VSCode crams those results into a tiny sidebar that's genuinely painful to navigate. Compare that to Vim's quickfix list or Emacs' xref results—even these supposedly "rudimentary" editors (spoiler: they're not) handle search results way more elegantly.
Build configuration is another pain point. Maybe I'm missing something, but I've never been able to wrap my head around VSCode's build configuration with those JSON files. In Vim, you set makeprg and you're done. In Emacs, you configure a compile command or use async shell commands. Simple. Intuitive.
That workflow never clicked for me. Zed gets this right—you can run arbitrary commands and bind keys to re-run them. JetBrains takes a similar approach but excels especially when it comes to running tests, debugging, and build configurations—it's all just straightforward and works without fighting the tool.
Here's the thing about JetBrains IDEs: they actually live up to that "it just works" promise, but in a more real way than VSCode ever did for me.
Setting up builds, running tests, debugging—it's all straightforward. No hunting through documentation to figure out which JSON schema you need. No wondering why your launch configuration isn't working. You just... do the thing you want to do.
Sure, JetBrains IDEs aren't as keyboard-driven as Vim or Emacs out of the box. But here's where it gets interesting: I found some JetBrains plugins that make the editing experience much closer to Emacs. This gave me the best of both worlds—JetBrains' excellent tooling with more familiar keybindings and editing patterns.
These days, my setup is simple:
GoLand for Go + frontend work
CLion for exploring raylib, etc
Here's something interesting about JetBrains' licensing: you don't actually need WebStorm if you have GoLand. Any upper-tier IDE like GoLand, IntelliJ IDEA Ultimate, or CLion includes all the WebStorm functionality built right in. So even though I do web development at work, GoLand handles JavaScript, TypeScript, React, and all the web technologies just as well as WebStorm would. It's essentially WebStorm plus Go support, not a separate thing entirely.
Also worth noting—JetBrains offers free non-commercial licenses for many of their IDEs like CLion, Rider, and WebStorm, which makes experimenting with different tools much more accessible.
This feels more mature than trying to make one editor do everything, while also being more practical than juggling multiple specialized tools when you don't need to.
I still use Cursor occasionally for AI capabilities, but when I'm actually writing code? JetBrains runs the show.
My editor journey—Vim → Emacs → VSCode → JetBrains—wasn't really about finding the "best" editor. It was about finding what works for me, right now, with the kind of work I'm doing and the setup I have.
Will I switch again in the future? Maybe. But for now, I'm not fighting my tools anymore. I'm just getting work done.
And honestly? That feels pretty good.
What's your take on the great editor debate? Have you found your "final" editor, or are you still on the journey? Let me know in the comments below.