I have not used an IDE since I ditched Turbo Pascal in middle school, but now I am at a place where everyone and their mother uses VS Code and so I’m giving it a shot.
The thing is, I’m finding the “just works” mantra is not true at all. Nothing is working out of the box. And then for each separate extension I have to figure out how to fix it. Or I just give up and circumvent it by using the terminal.
What’s even the point then?
IDK maybe its a matter of getting used to something new, but I was doing fine with just vim and tmux.
if you want even more frictionless experience and save a few megs of ram check out wezterm, it does a pretty good job of integrating multiplexing into terminal. also it’s very extensible as it’s configurable with lua.
on a side note, I had some stability issues with vscode-neovim where it’d crash it in worst cases.
I’m currently using VSCodium too, why did you switch? What’s the appeal? Would you recommend them?
Not the OP, but I switched to helix, because I always wanted to learn something vim-like, and helix is just perfect for that. It’s simple, working great without any configuration, and has nice keybindings.
I would like to know, too.
Not the OP, but I switched to helix, because I always wanted to learn something vim-like, and helix is just perfect for that. It’s simple, working great without any configuration, and has nice keybindings.
Maybe he’s just a hipster
Well I guess I can give my opinion as a former VSCode and Vim user that migrated to Helix. @shadowedcross@sh.itjust.works was curious too.
Way back when, I used Sublime Text and got proficient with those keyboard shortcuts. Then VSCode eclipsed (pun unintended) Sublime, so I switched and I was thankfully able to keep using Sublime key bindings. I was also productive with VSCode, except it wasn’t popular at the company I was working at, where most people used Vim. I ended up learning a bit of Vim for pair programming, but I still clinged to VSCode, even though it lacked proper support for connecting to a VM via SSH (which was a very common workflow).
At some point I realized that it was important to have a totally keyboard-centric workflow to level up my productivity and ergonomics, and being able to use a mouse in VSCode was hindering my progress. So I tried NeoVim, and it was kind of a nightmare. I know many people enjoy tinkering with Lua to get NeoVim working as they want, but I found it more of a barrier to productivity than anything else.
So then I learned about Helix, and it seemed like a love letter to devs that just want a modal in-terminal editor that works out of the box and has modern features like LSP support, DAP, etc. Also it’s written in Rust by good maintainers. I haven’t looked back, because the Helix + Tmux combo is incredibly versatile.
I don’t think VSCode’s mantra is that it “just works”. It’s definitely a “platform” IDE like Eclipse was.
It’s good for new, unrelated stuff. For example if you’re just starting to work with python, or just want to test some project, its much easier to setup than nvim or emacs. I also like intellij idea. I think in terms of just works, it is much better. But it is more resource intensive
Been using vim+tmux for the last 8 years and still going strong. Wouldn’t ever give it up. Vscode’s pretty lackluster in comparison.
What’s the tech stack you work with with that setup?
Last 3 years has been working on large backend web services in Haskell and Postgres, with some shell scripting thrown in here and there.
Before that, it was a mix of Python, Typescript (React), Rust, and C++.
I mostly use VS Code for notes and configuration files. Sometimes Python scripts. I agree with you, it requires a lot of setup. It has replaced Vim for me either way.
Most of my programming is done in IntelliJ, which works mostly out of the box. I’ve also used Visual Studio (not to be confused with VS Code).
I can’t imagine working without a proper IDE for any serious programming anymore. Working without IDE is like self imposed handicap.
I use VSCodium instead of Visual Studio Code. Visual Studio Code is a closed source distribution of “Code - OSS”. The names get a little confusing but Code - OSS is like Chromium, Visual Studio Code is like Google Chrome, and Codium is like ungoogled chromium. I use this because Visual Studio Code masquerades as being Open Source while hiding most of the functionality behind extensions in the marketplace while not letting other tools access the marketplace.
Hell no, Emacs and nvim UX is far superior. I won’t ever go back to clicking.
I do Rust and Go and VSCode has been fine for both so far. I put off trying it for ages out of a hatred/distrust of MS products, but I’m quite happy with it.
I only use vscodium for things that are not that well supported by neovim, in my case it’s only Scala basically, but I guess I’m just to lazy to properly configure metals. I use Sway as my desktop and I don’t want to go into configuring DPI just for vscodium or switch to gnome to not ruin my vision even further when using it. This is what I like about terminal-based editors - the whole Ui scales with a single key combination. Speaking of which I also consider the combinations provided by many Neovim “distributions” (and my workflow ;p) way more ergonomic than emacs-y finger gymnastics of vscode and the likes, since I just hit the space twice and type a command alias without moving my fingers from where they should be on the keyboard instead of memorizing gazillion combinations working little by little towards giving me a carpal tunnel.
No way. I’m happy about the stuff it brought (LSP, remote debugging protocol, maybe other stuff), but VSCode itself is just not good enough and always takes a bunch of configuration to get working. It’s better than neovim, that’s for sure.
If there were an opensource IDE with a GUI (not TUI) that didn’t use web rendering to draw its interface, worked on Linux, weren’t bought by yet another tech-overlord, and were comparable to a Jetbrains IDE, there’s a good chance it’d get my money. Until then, it’s Jetbrains for me. I hope they never go public.
I use Vim, more specifically Neovim with the LazyVim setup. It turns it into a full fledged IDE basically, with LSPs, hotkeys and everything setup. I started a few years ago with original Vim without plugins. I have 2 problems with my current setup: a) I don’t understand the complete setup and don’t know Lua enough, and b) LazyVim actually updates ton and sometimes things break.
And last time it broke something with my Rust setup, I could not find a solution quickly, but was working on a Rust project. So I installed VSCode the first time, but the Open Source version just called Code in the Linux repositories. But because it is Open Source, it does not come with the VSCode addon repository from Microsoft. I didn’t want do that, so I went back to solving the issue with my Neovim setup. Shortly after I found the solution and worked on my (little) project.
All in all, if you just want an out of the box experience without too much tinkering or problem solving, I wouldn’t recommend the Vim route. There is lot of stuff you have to setup, or at least change settings and understand how to do this. I assume the VSCode version from Microsoft has a better out of the box experience, from the just works perspective.
Depends on the language. C/C++/C# I never manage to make it work. Rust works incredibly well. Python needs some small fixing on the paths but works good too. Java needs a lot of fixing, sometimes I make it work, others not.
C# and java are both much easier to set up in an IDE (VS and eclipse (ew)) respectively. C/C++ are just hard to set up, I don’t think it’s much harder than CLion.
So except java and C#, every language is as easy to set up as any other editor/IDE.
I only use vim to edit config files through ssh, so I don’t know how it works for actual development. However, I doubt it is easier than vs code.
I use vscode everyday with gdb and gcc (and gdbserver.) it works well, but does require some set up.
For C++ I found the clangd plugin to be the secret. Just install that and get your build to output a compile_commands.json in your build folder. That is easy to do with cmake but most other setups can do it too. The plugin will find that after a clean build. Then it will magically index your whole project.
There are some things about it which are a bit annoying and not easy to initially work out, but overall I’ve found it to do pretty much everything I want, and a few things I didn’t know I wanted until I found out it did them.
No, it was far too “fiddly” and I have no problem with the performance of full ides from jetbrains.
Check out Pulsar
It’s basically the continuation of Atom. It’s got rough edges though regarding plugins but it’s good enough to allow me to avoid VSCode.