Microsoft Please Get Your Tab to Autocomplete Shit Together
Key topics
The frustrations with Microsoft's autocomplete feature in VS Code have sparked a lively debate, with some blaming the IDE's C# support, while others point to the potential impact of AI-generated code and the integration of Microsoft Copilot. Nostalgia for Visual Studio's past glories was palpable, with some commenters reminiscing about its peak in 2013-2017, while others see .NET and C# evolving positively. As the discussion unfolded, criticisms of Microsoft's handling of tools and features mounted, with some jokingly predicting "intellisense ads" in code completions, while others highlighted deeper issues, like Windows Search's lingering performance problems. The thread's relevance lies in its candid assessment of the trade-offs between innovation and usability in developer tools.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
30m
Peak period
116
0-12h
Avg / period
21.4
Based on 150 loaded comments
Key moments
- 01Story posted
Dec 24, 2025 at 6:33 PM EST
9 days ago
Step 01 - 02First comment
Dec 24, 2025 at 7:03 PM EST
30m after posting
Step 02 - 03Peak activity
116 comments in 0-12h
Hottest window of the conversation
Step 03 - 04Latest activity
Dec 29, 2025 at 1:42 PM EST
4d ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
VS code would also eat up the curly brace at the end of a class declaration when auto-generating a method skeleton.
I gave up and installed Rider. So far so good.
It's stuff like this though that keeps me from using vscode for code editing (I use it for markdown and JSON file editing only). I guess I don't know what I'm missing but it's never been a smooth experience for me. If I'm on Windows I tend to stick with visual studio.
Maybe I should consider rider...
Which is overwhelmingly the VS Code experience for any language. Everything feels shaky. I've had to report a bunch of irritating issues like the post for TypeScript - never fixed or resolved. I have never needed to report issues like this for C# in Visual Studio, and when I have tried C# in VS Code the experience makes me wonder if it's a bad joke.
It's been botched since they added ads to the Start Menu.
Pretty soon VSCode will show you intellisense ads in the list of code completions.
Also, there is a RegX way of disabling "bing" for-real in the search but they released and update that caused doing so to break search entirely if that was set (totally a coincidence I'm sure).
WHY? Why? Why. I’m seriously asking. Who thought that was a good idea? Who?! FIRE THEM.
NO USER ever in the history of Windows users ever said: “I want to search the contents of my computer, but windows search is too fast; can you please make windows search extremely slow, make it omit things that I know exist, and also make it search the internet? Also, I want you to index my laptop while it is sleeping in my bag, making my bag very hot, and using up all my battery trying to cool down so that I have no battery left when I open up the laptop.”
No one has ever asked for that, but we have it, we’ve had it for a long damn time.
Odd capitalization detected: might indicate that commenter is older with opinions stronger and more frequent than normal.
Please give me the name, rank, and serial number of the PM who thought this was a good idea. I will use all my meager fortune to make sure that nobody will want to hire them for PM work ever again.
30 years ago, Win95 introduced the Recycle Bin. Maybe, just maybe, you should have made it discoverable via the Start menu by now?
The fix is called Linux.
Which allows me to disable web search in start, disable widgets, etc.
https://github.com/musman96/win11debloat
Exec1:"We have a semi decent os with a refreshingly updated UI that should stay relevant for a decade. How can we make it better?"
Exec2: "why not replace the perfectly good start menu we have with a hideous, oddly proportioned rectangle with animated ads for our products."
I haven't used Win11 enough to discover how they have managed to further degrade the experience, but at least it looks a bit nicer.
Such a shame that so few applications on Win10 made use of them.
Easy navigation is something Mac sucks at for no good reason. I don't know why Windows is trying to degrade their advantage.
Now it's clean, doesn't show any web results when I start typing there: https://i.ibb.co/KpNptJTq/start-menu2.png
It also starts instantly every time (that requires removing Edge and web results from there). I use it as an app launcher only. The only missing touch is a fuzzy search but I can live without it.
I've spent too much time on it. There are tools that do it for you if you trust them (like Windhawk).
>>I haven't used Win11 enough to discover how they have managed to further degrade the experience, but at least it looks nicer.
It's an anti-pattern over anti-pattern over anti-pattern. There is a trap waiting for you at every corner. At this point it's hard to imagine them not losing the whole consumer PC market to Apple and maybe some gaming friendly Linux distros. It will take a decade or so but once the snowball starts it will not turn back. I don't think it's only about power users only. They forced S0 sleep but didn't are about making sure it doesn't crash the system because of some misbehaving driver or failed Windows update. Normal users don't like seeing everything gone and the computer restarting when they open the lid. That doesn't happen on Macs. It won't happen on Valve sponsored Linux distro either.
>>Was the original menu so bad?
The original has ads, flashy banners and opens with lag half the time. Yes, it's that bad.
Sounds like botched since they botched it
Windows Vista/7, search was instant and correct (modulo hard drive speed and RAM). Then Windows 10 came along, I click a local result, it opens Explorer, and there's no results.
By the way, things still work correctly and instantly with OpenShell, so something still works underneath whatever shit veneer has coated the shell
Let me fix the title: Microsoft, please get your shit together
I tried to help a relative set up a new Windows PC recently and had to give up. Everything was incomprehensible and/or broken, and for the first time I am ready to just send them to Apple.
Did you know there's no more Office, they literally call it Microsoft Copilot 365 now? Like, I've been through shades of this before (".NET", anyone?) but it's a thoroughly unhinged clusterfuck on an entirely different level now
Still has excellent integrated debugging and is more familiar than nvim, but it has really started to get in its own way the past couple minor versions
*Not "lazy I'm" (though perhaps I am for letting that slide)
Has there been a change lately and in the project, or is it just internet bias?
It is worrying that for many months now, pretty much all the content of changelogs has been about AI.
On the roll out side, this is what we observed:
- It was enabled in Insiders for several months, generally only very positive reactions - It was surprising to me that we shipped this to 25% of our stable users and basically no one complained for 2 weeks before we rolled out to 100% - After hitting 100% of users we did see some backlash like this comment - Of course telemetry doesn't show the whole story, but we try to determine both whether the completion was modified and whether the command was successful after using it and both numbers stayed relatively stable since shipping in Insiders at what we consider pretty good numbers (both accept without editing and command success rate is ~80%).
I, and probably most uses, just hoped this going away as soon as possible again.
For that WSL one specifically we'll get it fixed in https://github.com/microsoft/vscode/issues/285037
I think you're doing a disservice to newcomers by creating a new method of autocompletion. And I say that as somebody who has mentored a lot of newcomers in high school, University, and now professionally. Very often, including just yesterday, I'll hear something like "I don't really know how to use [very standard thing], we had [esoteric helper] instead." Yesterday it was for makefiles. Their school just abstracted it away to make it easier for them, so they don't know how to make a simple makefile to compile a few source files together. Or literally any other build system, including cmake. So, Lord have mercy on my soul if I have a new hire tell me "I don't know how to use the regular terminals. All I can use is VSCode's terminal." I think sometimes things should be hard, but I don't think terminal autocomplete is very hard. Just hit tab a few times and it'll do its thing or -h.
Where it might come in handy, and I haven't tested this, is programs that haven't registered their completions. For example, I'm often cross compiling, and it would be nice if it knew that ...-objcopy had the same completion as the host objcopy. But I am not going to take the hit of the bad pathing just for that.
I'll conclude with a lesson in biases: your insiders are biased. You need to recognize that only egregious errors might be statistically significant. Not only are they more power users, they're new feature hunters, and more than that, they want new VSCode features. Also, that's very creepy y'all are looking at my command success rate even though I'm not an insider. And if you look at the issue ticket, you'll see that a lot of the issues wouldn't cause failure. `Git add` on the wrong file isn't a negative return code, and they might just muscle memory press enter before seeing they need to edit. A possibly better metric is how many times did the user run the same command up to the completion point. But please don't collect that data, that's creepy. I'm going to have to look through my settings to try and turn that all off.
Thanks for the insights. Something I've learned here is that the vast majority of users don't change their defaults or seek out features they may find very useful. Discoverability vs simplicity/bloat is a hard problem and that's essentially the issue here.
I made a note on the issue that with the planned changes to make it easier to configure, we should consider not overriding tab by default anymore. That would mean that only down arrow is bound by default which would then put focus into the widget.
> I'm going to have to look through my settings to try and turn that all off.
Full details at https://code.visualstudio.com/docs/configure/telemetry, but setting `"telemetry.telemetryLevel": "off"` will disable usage/crash/error telemetry for the VS Code core. Just keep in mind extensions may or may not respect that.
Here's that specific event if you're interested: https://github.com/microsoft/vscode/blob/b0e9dce905d12646801...
Or a feature to lock users into their tools?
Certainly this may not even be intended gesture, but it will result in unknowable metric of users being insulted by the half-baked forced nature of these product changes.
Also, speaking as an educator, I think there might be a misunderstanding about what makes things intimidating for new users. Systems that make specific decisions without being able to easily control them makes things more intimidating, not less. And if I'm reading your post correctly, it sounds like you are trying to introduce a feature on newcomers, but your internal testing was done on insiders and stable users -- a different population.
Frankly, at this point I may strongly discourage all of my students from using VSCode.
The feedback you receive is from a selection of people who’re trying new features, not people with existing patterns that is broken one of a sudden with an update while they’re trying to get stuff done.
Sure there are always the new users, who may benefit from some hand-holding. But why don't you ask first if people want their hand held? Normal terminal users are looking for a way to control their computer in a more direct fashion, which makes them faster. They seek a more predictable interface, by moving closer to the true language of the computer itself, by learning a bit about how it works inside and subsequently adapting oneself to it.
You have chosen to alienate a large group of highly knowledgeable users for a user group that may be mostly a myth.
What would make more sense is to provide a switch for "noob mode", while leaving the core experience alone. I for one already hate the difference between my normal terminal when it comes to ctrl-c/ctrl-v and pasting with select/middle-click. This current change feels like a slap in my face.
Intellisense + Intellicode + Roslynator (extension) combined were really the height of productivity in Visual Studio. Now they've driven a steam-roller over all of that, forced CoPilot down our throats.
I LIKE CoPilot's "chat" interface, and agents are fine too (although Claud in VS Code is tons better), but auto-complete is negative value and shouldn't be used.
Otoh I disabled all the intellisense stuff so I don't have the issues described in TFA: tab is always copilot autocomplete for whatever it shows in grey.
What would be nice is if you could ask for a suggestion with one key, so it's there when I want it, and not when I don't. That would put me in control. Instead I feel subjected to these completely random whims of the AI.
Why can't all the suggestions come through the same UI element? That's beyond my understanding.
You'd get suggestions from, - multiple language servers - matches from the same buffer/project or sibling pane (tab,window, whatever you call it) - matches from the dictionary
Shout-out to FileLocator Pro as an aside.
There seems to be a pattern where higher market cap correlates with worse ~~tech~~ fundamentals.
Also there is the VC money problem with Zed, at some point, that money will want returns on every dollar spent.
2. That's fine, they'll just build some cloud feature
Printf debugging is a usability and productivity disaster compared to an actual debugger.
A developer should use both.
why use so primitive methods that only work under certain circumstances
So if you have a problem with VC money you should stop using VSCode as well.
Of course they will just invent more accounting terms, like they do with azure, to hide how much money they are losing on it.
https://windowsreport.com/steve-ballmer-calls-bullshit-micro...
For one, it's the right arrow key for complete for most things (but tab for others).
But by FAR the worst thing is that often times you'll type a command and try to tab/arrow complete an argument, and the module/dll or whatever is not loaded into memory, and so theres some blocking operation and loads the module which takes 10+ seconds. This happens to me almost every day.
I do love powershell otherwise though, after 20+ years in bash, there is actually some things to like about it.
It is amazing until you run into one of these insane behaviors that somehow nobody ever fixed.
(Some are actually fixed finally in 7.x - like issues with filenames with grave characters in them)
Microsoft should find it embarrassing how long it takes powershell to load a module. Pushing <tab> to autocomplete a cmdlet name should never take more than maybe 100 milliseconds.
For every problem I have on my macOS, some poor Windows user have experienced 50 non-Googleable errors. I do like Powershell though.
This is the most noticable with startup times. My favorite software (Firefox) has this solved; it opens up in reasonable amounts of time, even if it takes a moment after to show the first website. My second favorite software (Inkscape), meanwhile, takes so long just to show the main UI that the developers didn't think anything of adding a splash screen: an overt acknowledgement that you're keeping the user waiting.
I, too, wish that everything were more lean and snappy, but clearly this is still an unsolved problem.
I thought nushell would be able to make sense of that and display it semi-nicely.
Nushell pukes on it, errors out, and doesn’t even show the output of the command. As far as sins go for a shell, not showing the output of the program it just ran is very high among them.
nushell had its chance with me.
Set-PSReadLineKeyHandler -Chord "Tab" -Function AcceptSuggestion
(I hate(d) Azure, and then I was forced to try AWS.)
Bigger question is how they still exist while trying as hard as they can to kill themselves. Or why they're even trying to do that in the first place
Lol
And we need something like that for macOS and iOS too now.
Don’t bother clicking the links in the post, domains are squatted.
But I'm not sure what I hate more: the one I hate the most is when it completes for you and then you get two instances of the word, no space separation or where it corrects the word you just swiped AND the word before it... and then when you press backspace it deletes both words...
Btw, I have autocorrect disabled...
iOS typing is a fucking nightmare
I have an autocompletion for "aa" and it's triggered before I press space, meaning it's impossible to type Aaron in these fields.
I can only imagine the pain of using "composed" input methods like CJK, etc where every glyph requires multiple keypresses: https://en.wikipedia.org/wiki/Input_method
As well as what you describe, it starts to hate me uncertain words. I have a colleague called An. iOS hates this and changes it. It does it when you are a line away from the word too. It’s painful.
I have to type ‘TE’ regularly too, an abbreviation for echo time.
If you’re on iOS, try it. I have resorted to typing TEE and then hitting delete to remove a E and then carrying on.
it's very fast. Boots within 1s for me even for large projects.
Has a zillion extensions. Some of which you won't see in any other editor, or at least with the same quality. Like the powerful playwright integration for example.
LLMs can one-shot most small VSCode extensions when I need some niche functionality.
GitHub/Copilot integration is soo good I develop small features by speaking to my computer and even my phone because I can fire agents with voice instructions.
Jetbrains used to be my goto editors and before that neovim.
But it's so easy to customise and extend VSCode that I can't see myself going back.
I just totally don't get it.
> IntelliCode is NOT IntelliSense
https://news.ycombinator.com/item?id=46290607
And pretty fast these fast these days.
We all had a lot of laughs with tab auto complete and wondered in anticipation what ridiculous stuff it threw up next.
breakpoint( and then some nonsense arguments.
Apparently a good chunk of the code that these LLMs are trained on is python, yet setting a debugging breakpoint still causes difficulties.