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.
VS Code is a great text editor for me. I write Markdown documents, manipulate bulk strings, and diff files with it. Aside from small scratch projects, its consistency and reliability as an IDE is varied for me. It’s far from “just works”, at least for the types of things I do (C, C++, C#, Rust) and isn’t really on my list of editors I’d recommend for those workloads.
You can make it work, but it’s going to require extensive time spent figuring out what extensions to use (and their quirks), ensure that you have a working setup to the language server, and learn how each environment wants you to setup its tasks and launch configurations, if applicable. Unlike larger IDEs like VS or Rider, it doesn’t have a consistent “new project” process either, so you’re on your own for that.
I wonder what troubles you had with rust in vscode. In my experience. I just install the rust-analyzer extension and it works every time.
Plus some (optional) extension to display the available dependency versions in the Cargo.toml.
Maybe debugging can be a bit tricky, but other than that it’s just installing 1 (or 2) extensions.
It’s exactly that: the trickiness around debugging is the main thing that feels like it’s got some barriers compared to a turnkey solution in an IDE. I heard VS Code and Godot was available until I realized that the LSP and debugger for Godot 4.x was unusable for months until the recent refactor.
Don’t get me wrong though, I am totally using VS Code for my Rust projects. It just isn’t a turnkey solution that I’d recommend to someone if they just want to hit “New project” and do the whole write-compile-debug loop without needing to understand anything. (I had also used it a while back prior to rust-analyzer being the main go-to extension, I think…)
I use VS code, mainly for the jupyter notebook integration.
lazyvim is enough for me.
Sublime Text with plugins. It’s 100% because it’s what I’m used to.
Idk where you got the “just works” idea from, but maybe you’re looking for something more like the jetbrains IDEs?
I still use the terminal all the time with VSC.
On top of being super bloated, Intellij’s Rider is far from “just working” in my experience. Not only is it super slow to boot, but it also changes asmdefs in my Unity project unprompted, in a way that prevents my project from working (creates cyclic dependencies). The debugger also sometimes doesn’t trigger breakpoints 😵💫
I absolutely despise it, viscerally.
Yeah, I guess the idea of VSCode isn’t to be a “ready to use” IDE, but to be configurable — which it is.
The main thing that makes it popular nowadays is the ecosystem of plugins around it. Ex: when Copilot was released, I believe the VSCode plugin was the best one.
Also many frameworks docs have instructions on how to use it with VSCode and which plugins to install, such as some web frameworks and Flutter.
I don’t think VSCode’s mantra is that it “just works”. It’s definitely a “platform” IDE like Eclipse was.
I agree, thought Atom was kind of a fun text editor but silly for being an entire Chrome browser, then it mutated into this intentionally held back IDE where not even developing PowerShell or C# can be done without mucking about first.
There is barely any functionality without add-ins but not because they want to keep the base program light. And it siphons all the data it can get, of course.
It’s pretty clear to me that they don’t want it to be better than Visual Studio proper, so you don’t get a sane menu structure or out of the box functionality. Microsoft made an editor that is somehow more opaque and unintuitive than vi, not because of necessity or for practicality reasons but because it has to be different from the flagship product.
I’d much rather work with Spyder, Netbeans or Eclipse. Or some Jetbrains product.
so you don’t get a sane menu structure
Not saying they shouldn’t have a sane structure, but in 6 years of using VS Code I never cared about menus because everything can and should be accessed through the command palette (F1 / Ctrl+Shift+P).
To me complaining about menus in VS Code sounds like complaining of modes and motions in vi / vim. Maybe the editor is not for you.
vi is the way it is for very good reasons, I don’t really see that with VS Code. Even gVim has menus. You can have both accessibility and flexibility/speed.
I would still try to adapt to it, but the PowerShell experience I had a couple months ago put me off it (and VSCodium) for good. Install IDE, install plug-in, hangs forever until you figure out that the useless error message means you need to install some additional .msi from Microsoft. Blergh.
use linux
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.
I do. I used to juggle between Code::Blocks, PyDev, NetBeans and others, depending on projects. I find VS Code kind of fulfills the promise of Eclipse of being an all-purpose IDE, without the bloat Eclipse became synonymous with. It really clicked for me when I started using devcontainers. I am now a big fan of the whole development containers concept and use it in VS Code daily…
Code::Blocks
This still exists? I played around with it’s portable app eons ago.
development containers
How does that compare to Vagrant?
Code::Blocks is still chugging along, albeit at a glacial pace.
The rise of Docker has made containers very popular in the last 10 years or so. Nowadays you can run a single WSL2 VM on Windows with a Linux distro, and run any number of containers inside it. Vagrant is useful if you need full-fledged VMs for your environments.
everyone and their mother uses VS Code
This is usually a good reason to avoid something. Especially if that something comes from Microsoft.
So things stop being usable as soon as they become mainstream?
Monocultures are bad. Popularity very rarely tracks quality. And once something is overwhelmingly popular, it usually goes to shit, because the momentum is enough to keep it successful.
See: Windows. Outlook. Reddit. CrowdStrike.
But vscode hasn’t gone to shit…
Lots of things have also gotten popular without going to shit either.
Give it time. This is Microsoft we’re talking about. Look at GitHub or Skype.
I use jetbrains’ PyCharm. Work paid for it. It does the things I want it to do (works with docker, git integration, local history, syntax highlighting for every language I use, refactor:rename and move, safe delete, find usages,.find declaration, view library code, database integration, other stuff I’m forgetting)
Well it may absolutely suck, but they’ll tell you
- it’s everywhere
- once you learn a few tricks it’s great
- you’ll get used to a non-intuitive macro and command setup
- adapt your entire workflow around it and you’re fine
- it’s … fast?
- it has such power
The last two are lies. And I was talking about vi here, in the hopes you’ll get it. And like when I first used vi, the best thing was learning there were alternatives.
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.
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.
Do not use Microsofts Telemetry Studio Code but Code-OSS or VSCodium.
See: https://github.com/VSCodium/vscodium/issues/267
Regarding your question Code is not powerful enough of what we do at work. There we use IntelliJ IDEA. Our frontend guys use Code as it’s enough for them and they usually are not that quality oriented, be it their tools or their product. Sadly mediocre is enough.
Honestly I don’t care about telemetry. I’m not trying to start an argument about it, I’m just explaining to readers that there are still reasons to use VSCodium over Visual Studio Code. Visual Studio Code (the build available) masquerades as open source while having a non-FOSS license. https://code.visualstudio.com/license Also, Microsoft does not allow other programs (like VSCodium or Code - OSS) to access the Microsoft Visual Studio Marketplace. Being plugin based, that essentially means all useful functionality in Code-like editors is gated behind a proprietary website you aren’t allowed to access except with a proprietary editor (Visual Studio Code). https://open-vsx.org/about
could you give a couple examples of how vscode degrades quality?