I use vscode for my personal projects (c++ and a fully open source stack, compiling for both Linux and Windows).
I’m using the proprietary version of vscode (via the aur) for the plugin repository, but I’ve always envied the open source version…
Are there any tools that have made you excited?
Bonus points if they have some support for compiling with MSVC (or if you can convince me to ditch it for something else).
Unix is my IDE, vim is my editor.
Based.
The universe is my IDE, my hands are my editor.
Right now, the jetbrains IDEs are my favourite because they are proper IDEs, not some editor with a bunch of scripts in a trenchcoat pretending to be an editor. But the company is starting to lose touch with its customers: developers who want an IDE for productivity, not a VS Code lookalike. It’s like the company is finally being taken over by managers who don’t know lick about development and it’s starting to show (at least to me).
Now, I’m on the market for a new editor and even willing to pay, even though I’d prefer paying for an open source IDE. Right now, Zed is looking interesting. The only thing that bothers me is how loud people were about it. Hype destroys my faith in stuff as it’s often just good marketing. Another thing that bugged me is that when they started, they were “Mac first, Linux maybe”. But now that the hype has died down, there’s much less “omg, zed is the new editor and it will be better anything else” type posts, and it supposedly works on Linux, I can give it a try.
I agree with everything you said about jetbrains. Their vs code like push and AI push has degraded their quality.
Same feeling about Jetbrains. I always upgraded to the latest Pycharm version until now. I actually downgraded from 2025 to 2024, because I don’t like the new UI.
Same. I’m thinking of cancelling my subscription and just sticking with what works. I’m not sure I had a really useful update in a while.
Emacs!
With LSPs it works for just about anything and Magit is simply too good.
Removed by mod
Emacs with LSP and magit rules!
I switched to Emacs over two years ago because I was getting too comfortable in VS Code. If VS Code didn’t have the “dodgy” stuff, I would recommend it to everyone without reservation.
Emacs has been a pleasant surprise. The latest versions have introduced Eglot (LSP), EditorConfig and a few other odds and ends that make it very close to being usable with very little configuration. My latest suggestion for getting started is JUST two lines of config, and I think you can scale easily.
I just wish Emacs had started from the outset with more common keybindings- it makes it hard to recommend because you need to make a significant investment. I think it’s worthwhile, but still…
However, due to how it’s evolving lately, I suspect it might become even easier to get started with time. If they rolled in to base Emacs automatic LSP installation, that would be huge, for instance.
for some people it’s nice to start from nothing and build up config, I’d recommend doom for anyone else. it’s nice to be given a file with all the settings you can change instead of having to do it all yourself.
Removed by mod
Neovim
I tried using VSCode because of the copilot integration, but frankly copilot is underwhelming for me. I gave “vibe coding” a shot on a personal project and the results were slower than just doing it myself.
I’m back to neovim. I’m very productive in customizing it and can never go back.
There’s avante.nvim for LLM integration, it supports most if not all LLM vendors at the moment.
I tried it, however, and got to the same conclusion as you. Not worth it.
I found the rough areas did different by model
e.g. Claude could not correct issues it introduced, it would sort of spiral through half refactors for an hour if unchecked.
Gemini Pro asked for way too much permission. “Should I do this?” Yes, go, do it! “Okay, should I now add my edits” Yes. “Okay I added edits, now we can run
make test”, okay run make Gemini requests to run make ugh it’s worse than a bad intern.Gemini would also frequently hallucinate APIs because I used a non-standard api for my hash table (allocate/dereference instead of get/set/update, which I find is more natural for managing ownership). And Gemini would rewrite my code style and order of operations for no reason (eg move a counter increment before updating another field).
At no point could I just point the model at a small problem unsupervised. Even “update the test suite for 100% coverage of this module, make sure the tests are as small in scope as possible” had highly mixed results.
And all models I tried would update my cmakelists and break it, and I hate dealing with cmake.
I’ve been told the new Gemini is good at SQL and programming, but I’m underwhelmed on both. Gemini frequently doesn’t even know all the BigQuery functions, which being integrated into BigQuery Studio it should.
They’re decent at code review, but a language server is still better at catching bugs.
The Unix shell remains an excellent IDE.
A huge array of text- and data-manipulation tools, with more available through the standard package manager in my operating system.
Add in a powerful text editor like Vim or Emacs, and nothing can beat this IDE.
Jetbrains IDE’s are top tier (but resource hungry). A text editor with some plugins is fine for smaller projects, like zed, sublime text or neovim
I don’t know what the best IDE is, but I know what the best text editor is.
vimPycharm is great for Python. The style enforcement is fantastic.
I really credit my present strength with Python, in at least a small part, to PyCharm. Really a great IDE for Python projects. It irritates me, if anything, how much more flexible VSCode can be for non-Python stuff. I end up using VSCode.
Emacs. Everything else feels lobotomised
I use vscodium and it is available on AUR (vscodium / vscodium-bin). Supposedly there are some plugins not available for it, but i don’t use a ton of plugins and the ones I used in vscode were available in vscodium when i switched.
@starshipwinepineapple @rklm I mainly use Theia IDE, similar and compatible to vscode extensions, but not tied to microsoft
My three IDE’s of choice in order of preference:
-
EMacs: ultimative workhorse which can do many more - especially with org-mode (however, time intensive to configure which is why I used also ChatGPT to get it done)
-
VSCodium: easy to manage almost anything due to its huge number of extensions
-
Vim: don’t know, sometimes I feel the need to work with Vim and it’s many shortcuts
All are free and open source.
-
I’ve been on the JetBrains bandwagon for a long time and no desire to switch.
And they’ve recently made Clion free for non commercial use.
Thought I was going to show my inexperience because so many posts here are Unix/vim. I’d love to be that kind of wizard… but I think Adobe has spoiled me for UI and JetBrains definitely has that vibe (maybe for the worse just as much as the better)
I found most people don’t realize the many tiny features it adds over for example vscode (even with all the best plugins enabled yadayada) which in sum make it a much smoother developer experience.
Instead they open it for the first time, type some lines and say it is on par with vscode.
Lazy Vim is super underrated imo
Vim when I can, and when I can’t, Neovim with plugins (LazyVim). Both are fast. I have had troubles with Neovim and configuration, and it does some things that really annoy me (like autoclosing parentheses - it just messes up everything). Honestly, the only feature that I really need is Go To Definition.
But vim - I absolutely love it. I started using it nearly 20 years ago and it still does everything one could want if you’re willing to learn the keymaps and commands. Macros,
ci), block indentation and so on. It’s even great for editing XML. If the codebases I’m working on these days weren’t so large and complicated, I would still be using it with very little configuration in my.vimrc.I don’t use lazyvim, but I found the “auto pairs” plugin you can try to disable
I just disabled this today and life is so much better. Thanks! Everything works so much better now.
That is not a vanilla NeoVim feature. This is done by some plugin of LazyVim like Josh suggested.




