Ask HN: Is VSCode becoming too complex after each update?

25 points by behnamoh ↗ HN
I exclusively use VSC. Its greatest appeal to me a few years ago was its simplicity. If there were shortcomings, usually I'd find a workaround (e.g., an extension) and things were mostly fine. But I feel like with each update, I'm introduced to a whole bunch of features that overall make VSC more complex. I want to get the job done, but nowadays I must constantly keep track of recent changes in VSC.

Do you feel the same? What's the solution/alternative to this complexity?

36 comments

[ 2.1 ms ] story [ 114 ms ] thread
Why must you keep track of changes? No one is forcing you to figure out how to use things.

It’s nice for power users. I know many people who essentially use vsc as notepad++, and that’s okay. I also know people that drool over change logs and excitedly talk about new features over lunch.

Both are okay, and it’s a spectrum. Use what you think is helpful.

Either he prevents VSC from upgrading itself somehow (I wouldn't know how) in which case I would worry a little about security vulnerabilities or he is forced to deal with changes in his experience of the app -- or at least that is what happened to me when I was a VSC user.

Maybe you are the kind of user who tends not to notice a change in your experience unless the change prevents you from doing what you want to do. I would like to become more like that, at least for a trial period, so I can compare that way of existing in the world to my current way of existing, but it is not clear to me how to change myself in that way (with the result that I stop noticing details that are irrelevant to the immediate task).

Clarification.

The way I prefer to relate to software is to be constantly running a prediction of what is going to happen on the screen in response to my inputs. If anything unpredictable or surprising happens while I'm using software that is usually predictable (and I'm not on a tight deadline) I usually stop what I'm doing and try to understand the source of the unpredictability enough that it won't surprise me the next time.

Although I do not have that kind of relationship with most of the web sites I visit, I do have that kind of relationship with Emacs (and have for 30 years).

Early last year vscode was my only text editor for a few months, and I don't recall getting significantly annoyed at vscode's unnecessarily invoking my "what just happened?" response, but I haven't used vscode in over a year and the OP makes me very-slightly less likely to use it in the future.

You must use VSC wildly different than me, as I can't think of a single update in the 2-3 years I've been on VSC that has substantially changed my user experience
When the release notes are shown after each update, I obviously get curious about the numerous changes that have been made.
Just...turn off release notes:

Settings JSON - update.showReleaseNote = false

Settings GUI - Uncheck "Update: Show Release Notes"

I would except to get up and running doesn't require you to keep up with the feature releases or even and extensions really. You can install, create a file with the right extension and have syntax highlighting and formatting functionality out of the box. That's a pretty simple process!
I almost never read the what's new tab. Ctrl+f4 that thing. Why do you "must constantly keep track" of these changes? No one has asked me about VSC features during an interview yet. And if they do, well, they're gonna see just how high my eyebrows can reach.

VSC is a fine piece of software but I have a number of youngish coworkers who preach and practice all kinds of flows with it. To me, it is a bit off-putting because they're very insistent of pulling other people into the... let's call it an eco system.

Embrace the complexity and switch to a JetBrains IDE.
It's still easy to use. I can easily find add-ons via the market and get them running doing mostly everything I need in a couple clicks. I disabled the news pop-up because it's annoying. Remote wsl / codespace integration just works.

I need to sort out getting my setting sync working so I don't have to keep searching every 6 months how to turn off paren matching when I use a new OS or cloud vscode ide.

I really need to turn off parenthesis matching.
I dont know if it's being too complex, but with the latest update some actions like renaming or opening a file at times are bit slow on my mac. I'm not against new features but really, i'd wish the basic operations would never get worse over time.
From a user perspective I feel like it's barely changed over the years (at least in terms of concepts and number of buttons, etc). I don't feel like I'm having to re-learn or keep up with anything at all. I can't speak to the underlying codebase complexity, but to be honest it's not really my problem
Totally agree, and I use VSCodium, not normal VSCode.
Isn’t that part of the command palette? No new buttons, you just learn to type more characters. It’s actually what I don’t like about VSCode…
FYI, there is an extension that lets you put any commands you want in a new menu on the far right, as well as adding a few icons above that. I forget what it's called, but it was something obvious like "shortcut menu bar".
I don’t pay attention to updates mostly. Occasionally I’ll read the release notes, but I come from the era of writing code in a text editor and VSC makes that less painful for me. I’d say unless you’re tracking a feature being developed, don’t worry about it and get back to coding.
I feel the same. Many times I just wish VSC would go in maintenance mode forever. It used to be such a magical piece of software when I first discovered it in 2019 and made the switch for Sublime. Slowly but surely the scope creep increased and now it’s well on its way to become a bloated monster. Every time I get a notification about a new release I hope they didn’t introduce too many things this time.
Mmm, still seems snappy to me. What makes you say it feels bloated?
There are a gazillion settings and commands for everything now: you take any simple component, like "Search in files", and there are probably 200 settings to customize it, it didn't use to be that way. I do not like it and that was the main reason why I switched to VSC in the first place, instead of using a JetBrains product. I fully know and understand I could just ignore those and go on with my life, but I still do not like it.

I am a huge fan of minimalist products with a minimal set of configuration settings that I can fully master, and the "number of settings" is negatively correlated with me liking a given piece of software (the worst offender here being, I'd say, MS Outlook vs GMail). The difference between JetBrains and VSC is reducing at every release, and it is not a good thing for me.

I fully understand and appreciate it is a biased opinion, I am not looking to be convinced otherwise. It is the same reason why I shop at Trader Joe's and Costco, with their limited and curated availability of options, as opposed to Walmart or Safeway.

Still seems snappy on an SSD to me. They can add whatever they want as long as it stays almost-FOSS and performant.
I reverted back to sublime (and jetbrains for projects beyonda certain size).

My complaint with VS Code is the amount of notifications and distractions.

Already, there's plenty to deal with. Work software should be geared towards productivity, not engagement with their marketplace.

I have not noticed any added complexity during the last years or even changes that force me to relearn certain things. I even feel like VS Code becomes better and better.
I disagree. I haven't touched a VS Code config in over three years of updates. I don't have the need to do anything but write my code.
I immediately close out of the changelog page after an update. I have no idea what's been added to VSC in the past 5 years.
Can you give some examples? What do you use it for and what's so new recently? I haven't noticed anything new, and I've never felt like I need to keep up with changes, it's been basically the same for years now.
All I want is multi-window workspaces where I can split out any tab or panel into a new window.

I understand why it was hard to implement five years ago when people started complaining. But five years of not working on the top requested feature for the tool is just embarrassing. I'd even pay for it, if you let me.

Why not just write an extension that does this yourself if you’ve wanted it for 5 years? Not trying to be snarky, but running `code -n TAB_NAME` after dragging a tab with some modifier held doesn’t seem like it’d be all too tricky. I semi-recently switched from vscode to vim when I started thinking of making extensions though so forgive me if this is outside the capabilities of vscode extensions.
You can't open multiple windows in the same workspace (creating a new window opens a new instance of code with no workspace open, for example). You also can't do much useful with new windows, like drag your terminal/problem matcher/output panels to a second window and focus on them with key commands.
Ah gotcha that makes sense and would definitely be nice
If you don't want release notes, you can turn them off.

Settings JSON - update.showReleaseNote = false

Settings GUI - Uncheck "Update: Show Release Notes"

if sublime text had a builtin debugger, a built in terminal and better code completion UX, then it would take over this web browser

but sublime text devs are as lazy as vscode devs unfortunatly

i am still waiting for a decent editor to come up, and yet people focus on the useless stuff that i don't need when i write code..

project introspection(completion,refactor,goto), debugging, version control

3 areas where they need to focus, the rest is 2000% pointless and a waste of development ressources