Vs Code Deactivates Intellicode in Favor of the Paid Copilot
Key topics
The debate rages on as VS Code ditches its free IntelliCode feature in favor of the paid Copilot, sparking concerns that this move might be the beginning of the end for free coding tools. Some commenters, like Alifatisk, worry that we're entering an "extinguish phase" for free services, while others, such as mjburgess and rob74, point out that VS Code still faces stiff competition from other IDEs, which could potentially "extinguish" it if they offer better free alternatives. As dijit notes, the real annoyance is not the "bring your own AI token" model, but rather the removal of a perfectly working default intellisense feature. The discussion highlights the ongoing tug-of-war between free and paid coding tools, with some, like captainbland, arguing that JetBrains products still offer more value out-of-the-box.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
3h
Peak period
128
0-12h
Avg / period
20
Based on 160 loaded comments
Key moments
- 01Story posted
Dec 16, 2025 at 4:12 AM EST
18 days ago
Step 01 - 02First comment
Dec 16, 2025 at 7:15 AM EST
3h after posting
Step 02 - 03Peak activity
128 comments in 0-12h
Hottest window of the conversation
Step 03 - 04Latest activity
Dec 23, 2025 at 5:54 PM EST
10 days 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.
The annoying thing is removing a perfectly working intellisense default.
If Jetbrains removes their on-device (non-AI) code indexer and suggestion systems then I will no longer be a paying customer for example. Despite being a All Products Pack user for the last... idk, 15 years?
patience is a virtue
https://marketplace.visualstudio.com/items?itemName=VisualSt...
> The classic IntelliSense with language server for the used language is still free – but without AI support.
This gets you a fully featured vscode-like baseline (navigation, language integration, integrated terminal, the whole thing).
I had tried many times to switch to vim/emacs and the initial barrier to get a workable system always kept me from pushing forward. With this I was able to make neovim my daily driver at work after just a couple weekends playing with it.
There might be awesome people and work behind it now, but I've already been burned enough times by rug pulls and shittyfication. I don't want to be planning another move 5 years from now.
What’s that initial barrier? Both Vim and emacs has great documentation that includes a tutorial, a guide, and a reference.
What people often defines as workable system is replicating their old editors instead of learning the current one. Like adding a file tree on the side
I get that using vim typically includes obsessive forms of efficiency, but some people just want to focus on coding in a way that's comfortable to them. Sometimes that means having a side panel.
I do not even need that. Modal editing is enough to keep me away from all the VI clones. I hate it with a passion.
I have a fully customized Emacs that I use for anything Lispy and it's great for that purpose but everything else is just "ok".
I try to use Zed but since it is a commercial offering it is just a matter of time until it gets entshitified too.
Vscode is/was really good but it seems to get worse and it's Microsoft.... I run out of editors it seems.
First. It adds friction. Every damn time I need to write, I forget to enter insert mode. You have no idea how many times I ended up with a strange buffer. Hopefully there is undo. But it gets boring fast. I need to write as soon I enter the editor. I don't need to move the cursor to read the text that visible on the current page.
Second, how the hell I'm supposed to make small movements when I'm in insert mode, with the arrow keys? Like move cursor to the left by 3 chars. Do I enter normal mode, press l 3 times. Or delete the whole word and rewrite it?
Third. I could not make copy/paste work reliably in remote a linux server from a Windows machine via SSH. Hell, I could not make it work with WSL2.
Fourth. Debuggers sucks. There is no comparison to JetBrains Debugger GUI. Not even VSCode come close to it.
First: Vim comes from vi, which is a visual mode for ex, which is a supercharged version of ed, which is (the standard editor) a line editor. With ed, you don't really write, you issue commands that does things to the file. Think of the file as a long roll of paper and the program as an assistant. So a command could be "replace your on line 14 with you're" or "delete line 34 to 45". Ex added more commands, Vi made it interactive, and Vim added even more features (syntax highlighting, scripting, location list,...). But still the same mode of interaction remains. The cursor is what you control. It's not just an indicator where the next character will appear or be deleted. It's the starting point of more powerful interactions.
Second. You're not supposed to move the cursor that much in insert mode. For 3 characters to the left, I just backspace and rewrite. For more, I go to normal mode and use F, f, T, or t which will land me to the character I want. Then I can use something like x (delete character) or r (replace character) without having to enter insert mode. There's a lot of movement beside hjkl, and I rarely uses h or l for things that further away than two characters.
Third. There's not a lot of key on the keyboard. $ is end of line in most regex dialect, ^ is beginning of line which would be actually the first character, but most people would assume it's the first non-whitespace character, so that's how they went. In C, curly braces mark blocks of code, so it's a small leap to use it for blocks of text, aka paragraphs.
Fourth. My mnemonics are f (find) and t (to). The latter does not include the character.
Firth. A lot of people remaps the caps lock to either Ctrl or ESC.
Sixth. They're different computers so there's no shared clipboard. Sharing information between the clipboard can be done using escape sequences, but I've never bother to. I just maximize the current buffer so I can use the terminal selection. And if I wanted more than a screen (dmesg), I'd pipe the command to a file and then download that file with sftp.
Seventh. Jetbrains only have debuggers for a handful of programming languages while `printf` is universal. And there's no law forbidding installing an IDE alongside your editor.
There's a ton of historical baggage there. Thankfully, a bit of it can be resolved by setting esc and/or ctrl in caps lock.
It's annoying. I'm fine with being in one mode. I'm fine with selecting 7 lines and typing "whatever". I hate "7ddiwhatever<esc>".
And yes, it may be the case that you are faster in VI(m) than I am in (choose the editor) but that doesn't matter. For me speed of typing is never critical. Thinking is.
Well, kinda. I define a workable system as a system I, personally, can work with straight away, with a minimum loss of productivity. It is not at all meant as a judgement on how good plain vim/emacs are.
This workability indeed might require temporally replicating old habits while I learn the new ones, which lazyvim does. Vscode-like file trees, global search, or integrated terminal, for example.
It's also about discoverability, like the helpers shown through which-key. And the guarantee that a set of default plugins play well with each other, so that I can leave toying with the config for whenever I have the time.
Some people might think this is a crutch for properly learning the tool, but this is not my experience. I'm much more likely to get comfortable with vim and learn further if I can be in it 8 hours a day from the start. At first I used the integrated terminal to run git commands, now I invoke lazygit, which I love. At first I used the file tree to navigate, now I have custom commands to bring a file and its test suite side to side on a keypress. This gradual curve is what I was missing earlier.
I'm not judging your for it, but to me that sounds like learning the violin by plucking the strings like a guitar. You're increasing the learning period by following old habits which may even be harmful.
I think it's better to just use the new editor sparingly, learning what you need, then switch fully once you're comfortable. A filetree is never necessary unless you're actually exploring and a file manager would be better for that. Vim has global search with `grep` and the terminal is available through `ctrl-z` and the `:terminal` command.
I've seen people touting Neovim setup that are just making things complex and fragile for no reason.
I'd compare it more to learning photography without going for manual aperture and developing analog film straight away. You'll have a better experience if you learn stuff like framing with an automated camera that frees you to shoot a hundred pictures daily and focus on a certain skill.
I am increasing the learning period, that much is true. But if I can make use of my daily 8 hours of work as practice, that makes up for the delay, because I can get much more practice.
Maybe a student or a hobbyist can afford to spend 3 minutes nailing the regex while they learn to search and replace, I just can't be fighting that kind of friction regularly at work.
Once you are comfortable with basic notepad-like usage, you can then learn more advanced features. But emacs and vim are different from VSCode because those advanced things are supposed to be tweaked to personal preferences, not be handed down from high. When you start with something like Lazyvim, you’re missing on everything that makes vim, vim. You just have a walmart version of VSCode.
How would vim compare?
Here's the chapter on debugging in the book I mentioned if you want to take a look: https://lazyvim-ambitious-devs.phillips.codes/course/chapter...
If you've only ever used this type of debugging, you should really try out a real IDE debugger once. The difference in productivity when you can use your IDE to navigate to, say, the usages of a function and then just press a keyboard shortcut to put a breakpoint on the line with that usage is immense.
Compare this to the native debug support: you have to leave the interactive debugger, move to your editor, find usages, note down the file name and line number, then go back to your interactive debugger and type a manual break command (break my_file.rb:2517 or something). All of that context switching and remembering is replaced by a single keyboard shortcut in Emacs, VS Code, or any other integrated debugger. And no, adding manual breakpoints in your source code is not simpler - what I'm describing works interactively while your code is already running, whereas a breakpoint statement requires you to restart the whole process.
<leader>+b/B: add/remove breakpoint
<leader>+n/N: step/over
... and so on.
To start it just run :termdebug. If you change the debugger to rr you can even replay.
It's a shame the language support is poor, but I'm sure they'll add DAP support eventually.
It's the opposite, I learned to program with java for android so a full IDE was my first experience. As I moved to node and then go and ruby I just gradually used it less and less as I generally 'debug' creating tests to check/reproduce behavior.
I do think I should improve my debugging, but mostly in terms of profiling. I very rarely feel the need to see a codepath run line by line.
I'm not saying my system is better or worse to be clear, I've just naturally gravitated to not using the debugger - I couldn't tell you why.
The examples you mention already exist.
- navigation: plenty of native navigation in neovim, does lazy add anything specific?
- language integration: lsp, requires config sure but git clone isn't much work.
- integrated terminal: just run `:term`
Learning to think in vim means unlearning a lot of old habits. Today I only use fzf.vim, nvim-lspconfig and a theme. Pretty much vanilla Neovim. I'm considering trying nvim-dap to get better debugger support but so far I'm fine with :termdebug for the languages it supports (c/go/rust just works).
When I find something I want vim to do I start with a keybinding, then a function, and maybe if it's complex add a plugin. Adding half of the available plugins just because creates an unnecessary attack vector you now have to keep an eye on.
For example, <leader> ft toggles a terminal in a bottom split. This is familiar enough that I knew I could rely on it whenever needed.
Could I have used :term and manually set splits each time? or learn tmux? or use ctrl+z and fg to move back and forth ? Sure, but that's extra cognitive load.
Maybe I want to focus first on becoming fluid with regex for search and replace, or improving the flow for running unit tests, or get used to using macros as a replacement for multicursor. There's a lot of gaps to cover, each small enough that it's "just do X" for a veteran, but enough when added up that I would much rather pay the cost gradually.
That's when you know you want to create a keybinding, here's a suggestion that opens a split below the current window with 10% height and starts a terminal: `nnoremap <leader>ft :belowright 10 split | terminal<CR>`
> get used to using macros as a replacement for multicursor
This exact example was how I realized the vim way is better than my assumptions. I used to install a multicursor plugin and bind to Ctrl+d because that's what I knew. When I learned macros and s/old/new it became irrelevant.
You seem to already know a lot of the possibilities that you can learn, I didn't and discoverability in vim isn't great. So I just forced myself to search for whatever I didn't know how to achieve and many times ended up learning something extremely powerful.
Today I have all sorts of useful little functions, <leader>m is make, or gcc if no Makefile exists. And now I've extended it to generate mermaid charts and open them in my imageviewer and so on.
That's the true power of vim to me, adding standard tools from the system in keybindings and just getting it to do things MY WAY, not how I was thought it should work. It follows the unix philosophy and batteries included is by definition not part of that mentality.
I just switched over to Omarchy for my personal OS and I know that it comes with a pre-configured neovim (using lazyvim) setup that looks like a fully-fledged IDE.
I personally have been using Helix as my editor at home and work. The fact that everything generally works on download is what got me using it.
Expect the amount of f*ckery to increase as the AI realities set in but the number has to go up either way.
It reminds me of the good old days of Visual Studio + .NET + SQL Server where they played this games too.
https://news.ycombinator.com/item?id=46268844
If you don't want WiFi you can still get a top rated washer. The LG WM3400CW, which is in a 3 way tie for high score, does not have WiFi (or Bluetooth, or any other radio).
Note: Consumer Reports says that it does have WiFi but they are mistaken. It does have LG's "SmartDiagnosis" which lets you view diagnostic data in their app which is probably what confused them. On models with WiFi the app gets the data via the network.
On the 3400 you press some buttons on the washer to tell it to send diagnostics, and then it sends them acoustically similar to the way analog modems sent data. You tell their app to use the mic to listen to that and decode the data.
The WM3470CW, #10 on the Consumer Reports list, also is radio free and uses sound for SmartDiagnosis. Consumer Reports correctly lists this one as not having WiFi.
Top loaders are easier to load and unload, cheaper, and slightly easier to maintain.
With front loaders you should wipe the gasket after use because water left in its folds can promote mold and odors. With both you should leave the door open when not in use so air can circulate in the drum. With a front loader the open door can get in the way and is easier to accidentally close.
Front loaders are easier to stack.
As a "typical" British household, we don't use a dryer, don't even own one in fact, we just hang our clothes to dry, which always struck me as ironic for such a humid, cold country, with smaller (than the US) homes and thus less space to hang stuff to dry.
Didnt plan on making it also a TV with internet connection, now I darn sure as hell won't.
Its really sad state of things that the best course of action now for new hardware is to simply use it as it is, never update or plug online since for any chance of any minor issue being fixed there is 100x the risk it will go to shit in substantial ways (I have Samsung q990d - they soundbar literally dying for good after an official update, but that one you had to at least push yourself from phone or via usb).
Not possible with everything, or at least not without substantial hacking for many.
I have a slightly older WebOS LG TV and as an OLED TV it's incredible, LG would always be my first choice for picture.
Right now I'm in the market for another TV at around 65inches and was looking at the 2025 model LG OLED, I likely won't connect it to the internet and will probably just hook up an Apple TV following some discussion in another comment section about how much I hate my Fire TV for being ad-ridden.
Really I wish LG or someone would just make a dumb TV with 4+ HDMI, ARC, perhaps DP and a remote and let us hook up what we want; but it'll never happen.
If you remember Palm/HP webOS, it had Preware homebrew that didn't require exploits to run, it was supported by default and was amazing. LG patched the one vuln that would have let me at least root the TV.
The Android TV devices I bought from reputable retailers are at least beefy enough to handle input without lag, and I can run whatever APK I want on them.
My Android TV on the other room is equally just good enough to run Android, also not going to win any benchmarks.
Agree that the overlay menus on WebOS take their time to come up, but I am not going into them all the time for them to get into my nerves.
Uhhh no? I’m good thanks
The next major Windows 11 update coming in 2026 will have full agentic AI with full control over your (your?) PC. And it will hard require a pretty recent processor with Neural Processor Unit to make it work.
I fear for the future.
Am I right to understand that as people don't upgrade their hardware, they're safe from that, right? Sounds like a plus to me.
Likewise the Windows 11 (which is just a rebranded Windows 10, just look at the full build number which should start with 10.x) kernel could boot systems from ~2017 onwards. Maybe with some kernel features disabled which most (if not all) Windows 10 users would not miss anyway, but it could still boot without any issues. Those running a Rufus-patched Windows 11 are living proof of this.
This never was a technical issue, or one which could cost them money, but a cold blooded business decision which generated thousands upon thousands of kilos of e-waste.
And for what?
They got a storm of criticism after that announcement, but Microsoft seemingly has not given a single fuck about that and has not backtracked on this decision.
(Just like they technically could have allowed Windows 11 to run on older PCs with some disabled features out of the box, but didn't)
(I'm on an older server version, so I do not know)
He touts AI, services, and agentic copilot.
Some Windows manager got crucified on X recently for an enthusiastic tweet about turning Windows into an agentic OS. People called for this persons firing. But, this was straight out of Nadella’s playbook.
I don't think it's wise for them to want stuff like Recall (data exfiltration) or current state of the art agents doing calculations or analysis for them -- at least without a qualified human closely reviewing it's output and conclusions.
I do see businesses wanting simpler, more reliable software with fluid and consistent interfaces, but MSFT isn't focusing on that.
AI is, currently, more of a culture than a product for businesses. At least, the ones that don't literally make the models. I'm sure a lot of business owners really do want all the AI stuff, and then their employees will just work around it, like they do with all sales or signaling driven decisions.
Even though I don't use it, and have disabled as much Copilot functionality as Microsoft will let me.
I can't wait for this AI bubble to burst.
Unfortunately both of them are back to their old selfs.
However lets not forget that those big corporations, are the same ones that keep the lights on across many FOSS projects that get talked daily on HN.
Than the .NET team acts surprised that despite going open source and cross platform, the non Microsoft shops still aren't rushing up to adopt it.
They have to thank upper management for shxxxx on their great accomplishments among the community.
No-one wants this. If they make it a paid-for version, it affects no-one.
You didn't read the article, did you?
"... deactivated the popular IntelliCode extension, which had over 60 million downloads..."
I'm a Microsoft hater, but let's stick to facts here, over 60 million downloads is not "no-one".
No real need for a plugin, there.
IntelliCode has 60M downloads and is the 11th most downloaded extension for all of VS Code. Also consider that there's 6 official Python-related extensions above it that could all be rolled into one, and Copilot just above it which (to my knowledge) is installed by default in newer versions of VS Code.
Just because it doesn't affect you personally doesn't mean it affects no one. You aren't in fact the centre of the universe.
> No-one wants this.
So, fun fact about earth: there are lots of people on it, and some of those people aren't you, and some of those people who aren't you actually have desires that are different from yours.
I think it makes the planet a pretty fun and interesting place, but it also does mean generalizing from "I don't want this" (totally fine! Awesome! Makes sense!) to "no one wants this" is usually not very productive.
You can represent really, really complex data retrieval and consolidation semantics in SQL. ORMs are really more of an organizational tool in my mind.
I just throw all the SQL functions into a repository class around one "thing". Not even object, it can be related functionality or operations.
SQL in code can be awful, if spread out across your codebase. So I think just don't do that.
We have a monolith that gets maybe ~1000 commits a day. We don't use an ORM, just SQL and query builders. It works out if you have good modularization.
They have not released 1.107 yet, doing a quick scan I am not seeing anything on the VSCodium github.
I thought originally it may have been an OSS extension, but it actually seems to have been a proprietary project licensed under the Microsoft Software License, similar to Copilot and such.
I also noticed that copilot nowadays is forcing you to upgrade to their with following text:
"You've reached your monthly code completion limit. Upgrade your plan to Copilot Pro (30-day Free Trial) or wait until 2025-12-19 for your limit to reset to continue coding with GitHub Copilot"
Was using it actually like smarter auto-completion. But paying for that, hell no.
without going into the actual qualities of the editor, they simply lack extension support, for now.
In the embedded space, many manufacturers have switched - or are switching - to a suite of VSCode plugins and gradually discontinued the previous tools. Which is great on one hand: they don't have to keep supporting heavily modified IDEs from 10 or 20 years ago and they can better integrate with the rest of the ecosystem of plugins, scripts automation and such. LSP has been a good thing.
The problem is that you are now at the mercy of microsoft not fucking up with the environment at every other release. To put it simply, we are screwed. And i tried for so long not to use it because i knew this day would come, but it's just so much better.
And no, i will not just use a text editor and a makefile. I want an IDE. IDEs are good, when they seamlessly integrate with tools.
Did you try other IDEs? For example from Jetbrains? I'm not using IDEs but actually don't know others besides VSCode/Cursor and Jetbrains
I've use eclipse many times in the past, and hated every second of it. Stupid defaults, very stupid defaults.
I also don't like visual studio, the way it forces me to work with "solutions", like i can't have two different projects open at the same time.
Netbeans instead, that always felt so natural to me. And MPLABX is of course the one i use most of the time (like 60%, then 10% VSCode and 20% Qt)
I also really like Qt Creator, for generic C++ development too. And i would probably feel at home with KDevelop
https://zed.dev
For the terminal, micro is nice if you're used to GUI editors.
A few niggles with the switch, like it seems to assume Git but I'm using Fossil. I also haven't found a decent cheat-sheet for keyboard controls. I got duplicate block and move block working, and really enjoy the column editing, but still using cut for line delete.
I think KWrite is the same engine underneath? at least it feels much akin to Kate. I use it mainly for assembly files, since I was able to hack in an armv8 syntax file and needed a different theme than Kate.
Anyway Zed is a good option.
[1] https://zed.dev/
For GUI, Zed is also really nice, has a great Vim mode, and auto-installs anything you might need. It loses a couple of points to VS Code on account of not being arbitrarily extensible, although that can also be seen as a plus, as it prevents extensions from randomly slowing everything down.
https://www.lazyvim.org/installation
Then run `LazyExtras` and you get a prompt that shows things like:
Hit x against a couple and you're off to the races.[lang.docker and lang.toml are examples of things you're selecting, the list after is what is being installed and configured for that thing]
For things like integrating a debugger, or to run your tests directly inline from the editor might require more customisation though.
If you want something powerful yet easy to pick up, you might want to look at e.g. Zed (GUI IDE), Sublime Text (GUI editor), or Micro (TUI editor). If you don’t mind a learning curve, Vim/Neovim and Emacs are excellent choices. But there’s a lot of other options out there, like Gedit, Kate, BBEdit, Notepad++, etc. depending on your platform of choice.
It looks like it’s MIT licensed even https://github.com/MicrosoftDocs/intellicode
If people enjoyed these suggestions they might be able to jus fork the extension I assume? Or is the local model that it used proprietary?
Protect yourself by removing dependence on Big Tech ecosystems
They bait you with "free" tools to herd you into walled gardens where you are the product (and customer at the same time, LUL)
I finally got good RTL support with iTerm, language server stuff works great, and best of all, navigating and selecting things SYNTACTICALLY with nvim-treesitter-textobjects is life-changing.
16 more comments available on Hacker News