VSCode config to disable annoyances – telemetry, notifications, welcome pages
gist.github.com
gist.github.com
In general for me personally I like to ensure all software updates are installed daily (not just my editor/IDE).
When I login in the mornings the first thing that runs is a simple script that checks for and applies all updates for my OS, Apps, homebrew packages, shell packages, several applications extensions / plugins etc... likewise my servers install updates daily. Obviously there are pros and cons of (in)frequently updating software.
For me - with this approach of small, frequent updates I've found that updating software becomes boring - which is a good thing. I honestly can't remember the last time anything broke (that I noticed). I've taken this approach for around 12 years.
Sure, run your update. just shut the fuck up about it.
Since then, I've learned that it's not a matter of IF an upgrade will break your system, it's a matter of WHEN. There will always be that one bug that slips under the radar and breaks something, and it's usually right when you can afford it the least. These days, I do approximately weekly upgrades of all my systems/gear, but I make sure to schedule it when I know I will have the time to fix whatever issues come up. (In an enterprise setting, the expanded version of this is called Change Management.)
I use macOS with nix-darwin, so updating my applications is never very concerning - I can always just rollback if an update is bad. But macOS updates, while generally they don't break anything, have broken enough that it's the scariest part of my year.
The year they shut down any folders in the `/` directory was my (and many coworkers) downfall. It took me a solid 3-4 hours to recoup everything in a working order, and there were failing straggler scripts that were discovered months later.
As such I generally avoid updates as often as possible. Also, to be fair, I have a history in IT and while personal computer updates are generally good, infrastructure updates are time-consuming, error-prone, and generally scary, so I do have a default aversion.
That's all well and good until an update happens that changes workflow or changes the look/feel too much. Those sorts of changes cause disruption that I want to schedule. Or until an update is made that changes the software in a way that makes it actively worse for your use case. Those are the sorts of updates I want to avoid.
That's why I don't allow software to automatically update. Most of the time I won't notice the update, but when I do, it's a big deal that would have been better if I could have done it on a more convenient day.
I wanted to shut down my gaming PC the other week, so I selected "Update and shut down". Then I switched my monitors to my other computer. 10 minutes later I was wondering why the PC was still humming along. Switched the monitors back to it and saw my Windows 11 installation sitting patiently in the login screen.
What about the “What’s new tab” that opens right when you want to have some work done?
Or the notifications you get at the bottom-right corner suggesting to install extensions when you just want to see inside a file.
I mean, many people don’t care that much, it’s just a little annoyance to me, as little to not spent 5 mins to find a solution.
Edited for clarity
You could have just configured VS Code instead of completely changing editors. In fact, you're commenting on a post with a really fine-grained list of how to! Do you ever configure ST?
Agreed, both editors require configs to turn this off. ST is updated so rarely at least it was less annoying.
Some people are working with toolsets that benefit from constant updates.
> INSTALLATION AND USE RIGHTS. You may only use the C# Extension for Visual Studio Code with Visual Studio Code, Visual Studio or Xamarin Studio software to help you develop and test your applications.
If you don't care about the license restrictions you can add the offical extension store to VSCodium and it might work.
I really need to learn Kotlin sooner rather than later.
If you are looking for evidence that .net core is maliciously pretending to be open source to move to a language reliant on a JVM, I don't believe this would qualify.
It always throws me out of flow state to have it constantly barfing and spewing info on screen as I type--like, I've been programming python for 20 years and I know exactly how the print function works, I don't need a huge spew of doc string text when I type it now. Autocomplete and such can be very handy but it's a real pain to turn it off as there are about 3 or 4 random little settings to fully disable it. Give me a do not disturb or no distraction mode that disables and enables it easily.
It is tremendously frustrating how every single extension developer seems to think that every bit of logging (and every single update changelog) is the most important thing to every developer that has their extension installed, and that they should disrupt flow and even open tabs and take over the window context just to tell me about some new minor version patch.
an aside to this, I've been playing with copilot recently and its inline additions are usually so distracting while I'm trying to write some really simple conditional. When it usually doesn't read my mind, its more of an annoyance and I only really want it when I explicitly want to invoke it, which I don't think is a feature outside of enabling and disabling it.
This. The whole notification mechanism is just awful and not actually very useful. I disable all of it, from any application. I don't want notifications, period.
First comment about modifying - `HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Common\TeachingCallouts`
I won't get excited by a VSCode update until they fix the webview crash that happens after every update (0) and support multiple windows in the same workspace (1). The latter has been the most requested feature for 6 years!
Even when the error involves balancing parentheses the ugly box gets in the way. VScode has a neat trick of color coding parens so that balancing them is a bit more efficient, but with a tight box around your text and a squiggly underline it's just an unreadable mess.
Honestly turning off the linter has been the most helpful. Now I avoid forgetting semicolons and not balancing parens simply because of how painful using the linter is, that I would rather avoid it altogether. But it didn't have to be this way. They could have just not made error highlighting so terrible. It's garbage and everyone knows it is, anyone who tells me errors don't look absurd on VSCode is someone I stop taking seriously. It would be as if your teacher used a thick sharpie to black out what she thought were your mistakes in your essay, rendering you unable to even figure out what mistake you made in the first place.
My own code, FWIW, is flawless. Natch.
I squash, amend, and delete history with aplomb as I develop. I simply do not need to be informed of adherence to code standards during that.
I was the original creator and the original post[1] was from a day ago. Glad to see it is helpful!
I switched to the beta of the Zed editor and it been really nice. It's just you, the editor and a language server. It's super fast and has really nice features built in.
I would suggest to try it out if you are annoyed by VSCode.
Now if Twitter, Reddit, and YouTube could stop reminding me of the app. I know there's an app. I don't use it because I'm not braindead.
Edit: Credit to the guy who created this config. It's too early to read apparently.
On web apps there is all kinds of tracking and it’s heavily used to make the apps better (not just for marketing or annoying you). In a code editor extension there is the same need for that type of information, and telemetry is the only way to get it.
Don't tell me what you're collecting and I'm suspicious.
Things I should know about:
- my usernames
- name of the files I'm working on
- what other extensions I use
- what kind of computer I'm using
Or summarized : everything that can be used to fingerprint me.
And whatever your promises, I won't trust you with this data, it's not personal but your company might be bought tomorrow by another company that won't have to respect your promises.
I have one project that's a server application (https://github.com/grishka/Smithereen), but since it uses lots of custom stuff on top of the Spark micro-framework, your plugin would probably not work on it. I imagine it does expect projects to be structured idiomatically for the framework they use, at least to some degree. Spark also doesn't know anything about databases, so that is all custom as well. Oh and I also hacked it a bit with reflection to allow streaming responses.
edit: Actually I see JUnit so test case recording should also work.
I'm normally someone who gets 7 years or so out of a computer but I definitely am looking forward to replacing this with an M-series Air. :(