It is possible that from time to time a new AI related feature slips in that does not respect that setting, but we try our best to push fixes as soon as possible.
Thanks! Ben (VS Code Team)
For many companies and products it's apparently hard to do these days when LLM integration is the hot new thing pushed by management and investors. Developers, users, and citizens deserve the respect and right to opt-out from AI features as it permeates other areas of work, life, computing, commerce and governance.
I recently (less than 2 months ago) did an in-depth analysis in the area of license compliance that suggests that Microsoft and many other companies that are shipping Electron apps aren't in compliance with the LGPL. (By all signs, it looks like the Electron project might not even be aware that Electron is subject to the LGPL, though they are. Even Slack, which isn't violating the license appears to be in compliance only incidentally—because they're shipping other LGPL components that they know are LGPL.)
I was set to leave the company I was at a couple weeks later (end of November), and I did, so there haven't been any developments with my investigation/findings since I departed. I haven't prepared or published a formal write-up, and I've only brought it up in a semi-public setting once. It's a pretty big deal, though. Could you raise this with Microsoft legal (not Electron/GitHub) and suggest they look into this?
(Of course, I know that's never going to happen.)
The frustration for me is that it turned my editor into a 2000s-era popup extravaganza (not necessarily anti-AI). Every line of my editor was constantly throwing a new popup or text to the side of my cursor. I know that VS Code's design philosophy has moved toward trying to make the editor have as many pop-ups as possible, but there are still a lot of us that don't think that's a good way to focus on the work. It is beyond frustrating when every week or so your editor decides you're wrong about that.
Except for few language related extensions, I don't have any other extensions on Zed. Which means I worry less about which of those extensions will be sold off to a malware developer.
I had more issues with official extensions on VSCode (looking at you flutter) than not having any extension on Zed and having to rely on the terminal (which feels much closer to the system than it did on VSCode).
So that we can have the actual good stuff (copilot, chat) and leave out the mountain of features that were clearly created to force induced demand for the sake of metrics inflation?
You mean marketing forces you to "accidentally" slip it in? Just in case it sticks this time?
I believe Microsoft builds VS Code releases by building VS Codium, and then adding in their own branded features, including all the AI pushes. If you like VS Code except for the Microsoft bits, consider VS Codium alongside other modern choices.
Isnt vscodium a specific product built strictly from open-source VS Code source code? It's not affiliated with Microsoft, they simply build from the same base then tweak it in different ways.
This is somewhat unlike my understanding of Chromium/Chrome which is similar to what you described.
I think VSCodium is a good option if you need extensions not available in Zed.
I'm probably barely scratching the surface of what I can do with it, but as a code editor it works well and it's the first time I've ever actually found code completion that seems to work well with the way I think. There aren't any formatters for a couple of the languages I use on a daily basis but that's a Me Problem - the overlap between IDE users of any sort and assembly programmers is probably quite small.
Are there any MS-branded features I should care about positively or negatively?
edit: zed is working much better for me now and does not have the issue vscodioum was having (not recognizing changes/checking some code till I triggered rebuild)
The biggest missing piece in Zed for my workflow right now is side-by-side diffs. There’s an open discussion about it, though it hasn’t seen much activity recently: https://github.com/zed-industries/zed/discussions/26770
Stronger support for GDB/LLDB and broader C/C++ tooling would also be a big win.
It’s pretty wild how bloated most software has become. Huge thanks to the people behind Zed and Sublime for actively pushing in the opposite direction!
> It’s pretty wild how bloated most software has become.
It's a bit ironic to see those two in the same message but I'd argue that right there is an example of why software becomes bloated. There is always someone who says "but it would be great to have X" that in spirit might be tangentially relevant, but it's a whole ordeal of its own.
Diffing text, for example, requires a very different set of tools and techniques than what just a plain text editor would already have. That's why there are standalone products like Meld and the very good Beyond Compare; and they tend to be much better than a jack of all trades editor (at least I was never able to like more the diff UI in e.g. VSCode than the UI of Meld or the customization features of BC).
Same for other tangential stuff like VCS integration; VSCode has something in there, but any special purpose app is miles ahead in ease of use and features.
In the end, the creators of an editor need to spend so much time adding what amounts to suplemental and peripheral features, instead of focusing on the best possible core product. Expectations are so high that the sky is the limit. Everyone wants their own pet sub-feature ("when will it integrate a Pomodoro timer?").
https://github.com/zed-industries/zed/discussions/26770#disc...
I don't even need that to be built into the editor – I would pay for a fast, standalone git UI that is as good as the IntelliJ one. I use Sublime Merge right now and it's kind of ok but definitely not on the same level
Can you elaborate on when you use which editor? I'd have imagined that there's value in learning and using one editor in-depth, instead of switching around based on use-case, so I'd love to learn more about your approach.
https://github.com/zed-industries/zed/discussions/26770#disc...
I use Emacs exclusively on my new laptop. I have about 40 years experience with Emacs and except for a treemacs automations, I am using my regular setup.
VSCode is a great project but I just didn’t feel “happy” while I was using it. I feel happy using Emacs and I only use very minimal LLM integrations with Emacs, preferring to separately running gemini-cli occasionally, or using a variety of LLMs (especially strong local models) with one-shot prompting.
At this point, I would recommend to every coder worth his salt to just jump to vim/neovim or emacs, these editors will be around for the next 1000 years and you wont need to fight against some BS features and you wont need to switch ever egain. The 1-2 month learning curve is worth it!
- 40 years experience with Emacs
- the ability to predict that 20 years from when we started we would fall in love with Emacs
- the fortitude of will to overcome the mountainous project that it is to turn Emacs, The text editor "toolkit", into the perfect text editor for you.
But I so happy with my config now. Simplified and modern.
I'm building an alternative, and I haven't opened emacs for a month now
By which I mean both startup time (yes, I know real Emacs people never leave the editor. I'm Not That Guy) but its single-threadedness leading to painful blocking pauses when using eglot + rust-analyzer, etc.
VS Code is still the better tool (imho) but I can't stand it.
Just joking, I really mis the org-mode.
Not to say anything against Zed though. But sublime with one session of claude can help you build your very own customized ide.
That said, ST (and its predecessor, forgot the name) set the standard for "lightweight" (lighter than IDEs) editors - Atom, VS Code, now Zed, can all trace their common patterns back to ST.
But now it works fine! Remote work is noticeably snappier than via mounting the remote server as a drive, and remote git seems to work nicely. A very nice Christmas present - thanks, Zed!
Good job Zed!
Other pain points:
- Format on save by default: https://github.com/zed-industries/zed/discussions/29395
- VSCode Debugger UX seams to be much better
My-Zed branch with both the features: https://github.com/MostlyKIGuess/zed/tree/my-zed
X years later and VS Code is the one with the biggest ecosystem and therefore also has the largest and most complex addons.
Zed is starting from scratch again, relying on developers to create extensions. However, I'll argue that because Zed is Rust based instead of web tech based like Code, it'll be harder to get as big an ecosystem as Code has. Same with IDEs, some of the biggest plugins have corporate backers who pay people to develop and maintain them.
I've grown attached to the git diff view, so I use it for reviewing PRs mostly (especially larger ones as github UI has been struggling with them as of late).
The rest of my code is written in Vim or by Claude.
It uses the Jupytext format [1], for Python at least. Which frankly, is much more friendly to VCS than notebooks.
I agree on the 'format on save' as undesirable default, but disabling that was as easy as flicking a switch.
[0]: https://zed.dev/docs/repl [1]: https://jupytext.readthedocs.io/en/latest/
I'd also like to add there are many small features I miss in Zed that I don't go over in the post, e.g. autodetect and respect file's indentation (https://github.com/zed-industries/zed/issues/4681). But I see Zed is actively shipping the missing features, so I believe they'll improve significantly over the next year.
But it’s very nice to easily able to extend or modify to fit your workflow. I’m just curious what people are getting out of zed that seems like vim has available.
There's something extremely satisfying about having a dependable free software editor, available on all systems, and not having to change every time a new fad comes in, or a VC decides it's time to make money.
For some reason I'm happy in vim. I feel I understand most of what's happening. Not sure what It is.
I still use vscode for debugging (breakpoints etc.) as it's just the easiest. Maybe there is a workflow with lldb that I could use to debug within vim...
The existing AI plugins for neovim aren't great.
I haven't used a low-DPI monitor for like... not sure, but more than a decade, I'm pretty sure, so for me the weird blocker I have with Zed is the "OMG YOU HAVE NO GPU!!!! THIS WILL NOT END WELL!" warning (I run a lot of Incus containers via RDP, and they mostly have no GPU available).
But what kind of monitors are you low-DPI people using? Some kind of classic Sony Trinitron CRTs, or what? I'm actually curious. Or is it not the display itself, but some kind of OS thing?
It is not, IMO, a replacement for Jetbrains IDEs (PyCharm, Rustrover, for example). I do substitute it on my tablet sometimes, where those IDEs can be too sluggish. Unless I'm missing something with plugins I should be installing, it is not on the same level for introspection, refactoring, import adding and moving, real-time error checking, and generally understanding the code base holistically.
So, I've settled into this: Jetbrains if on a sufficiently powerful PC. (It can still bring a 9950x to its knees though...) Zed for lower-power ones.
Sublime for editing one-off files, as both JB and Zed are project-oriented.
For VS Code users, there's actually a special feature where a subset of VS Code settings can be migrated to Zed settings. Cannot vouch for its stability, but the functionality is there.
Sorely missing a REPL for Lisp languages, but for statically-typed languages like Rust and TypeScript, Zed works pretty well. I appreciate that Zed works smoothly with Nix and Direnv, even through remote projects. I do wish the collaboration features would receive a bit more attention, though. It feels like that functionality has slowly been bitrotting, and it's always unfortunate when my friends on Linux cannot share their screen. Then there's other little regressions, like the audio bit depth being incorrect on MacBooks connected to external monitors -- they did fix this with the experimental Rodio backend, but I am not sure if that is stabilized yet.
However, AI-related features are fairly stable and it's amazing how far it has come in less than a year. That and things like the debugger UI.
have you tried lazygit? that's my go-to. Can even run in in a panel inside Zed.
I realize the irony here that Zed is fast because it's not web based, but I stand by my claim that being able to optionally display web UIs would be a really cool feature to have. It would open the door to a lot of extensions.
That is one of the few things keeping me going on VSCode.
For example, I frequently write Ansible playbooks. And with VSCode you can just fire up the Ansible-provided Dev Container with all the dependencies. Which means you don't have to clutter up your local system with them.
It isn't 1:1 since there probably won't be ansible provided configs, but I find writing nix devshells per project to be low effort and high reward. It'll only be a couple lines if all you need is a specific version of ansible
Annoyingly the only hard blocker I have right now is lack of a call-graph navigation widget. In VSCode you can bring up an expandable tree of callers for a function. Somehow I am completely dependent on this tiny little feature for reading complex code!
The annoying thing is: "can't you just use an extension for this?" No, Zed extensions are much more constrained, Zed is not a web browser. And I like it this way! But... My widget...
I also have some performance issues with searching large remote repos, but I'm pretty confident that will get fixed.
Or do you want a more graphical tree view?
Here's a copy: https://web.archive.org/web/20260105144155/https://tenthousa...
The website repo is public, so it's also available on github: https://github.com/r4victor/tenthousandmeters/blob/master/we...
I switched to VSCode now and whilst that piece of it seems to be much more reliable, I think overall I prefer the "feel" of Zed.
I've bookmarked the article to see if that helps me figure out how to make the settings stick.
Might be helpful:
"prettier": {
"allowed": true
},Frustrated, I switched to Zed and have not had that issue since.
I was pleasantly surprised to basically configure-and-use the AI part: GitHub Copilot login and use, MCP servers, custom MCP servers. VSCode made this part really annoying: Copilot would blow up every now and then, MCP server auto-starting is not there yet and you need an extension (which works for 8 things out of 10), I haven't even tried adding a custom server because I was already annoyed. In Zed I just copy-pasted the suggested custom server start-up command into the small JSON array it presents to add a custom server, and it just started the MCP server in a custom thread, no fuss. Autostart works reliably every time the editor is re-opened.
Zed has a lot of issues in flight; maybe these are useful to you? Here are the issues that have been filed under the label "area:parity/emacs". Some also have the label "state:needs repro" (needs reproduction). I wonder if any of them scratch your itch? Weighing in might help get your pain points resolved a bit faster?
https://github.com/zed-industries/zed/issues?q=is%3Aissue%20...
I'm building Fresh [0] [1] as an alternative to VSCode that runs in your terminal, with the main goal being ease-of-use out of the box (not a vi-clone modal editor), for example supports mouse, menu, command palette, etc out of the box. LSP as well. I'm focused on making it easy to use with minimum or zero configuration.
[0] https://github.com/sinelaw/fresh [1] https://sinelaw.github.io/fresh/
I was genuinely surprised that I can use Zed to remote into my server and it works great with Ruby tooling like Solargraph LSP and Rubocop. Everything in the UI is refreshingly minimalist and quite snappy. Good stuff.
VSCode has really become such a nightmare to use recently I am strongly looking for a way out. Recently I had some odd corruption take place where I had to blow away essenitally my entire VSCode install on my Mac. Going from zero to hero and bootstrapping back to good state should have been trivial with a single conf file that could be used to rehydrate state (like a lockfile for bundler or node) but - particularly with the remote ssh stuff - it becomes a mess. This extension is installed locally but not remotely, this is remote but not local, ... like dude figure it out and just make it all consistent.
I should expect this from Microsoft, though. I did this to myself.
Revisiting Zed... I am glad to see they have SSH support! Going to give it the old college try today. It's absolutely insane to me that they do not have a first-class Debian/Ubuntu apt repo, though. This has been an issue for quite some time.
Combined it becomes a very powerful setup!
So right now I'm sticking to Emacs.
I spent a fair bit of time this weekend tracking down bugs in a project caused by format on save in Zed occasionally deleting the first line of Python classes.
I turned off format on save and life is good now but data loss bugs like that are pretty annoying in a text editor.
Unfortunately I'm still trying to figure out my AI workflow. Right now it's a mix of Cursor, Claude Code, and JetBrains Rider. I mainly use Cursor for the heavy AI lifting and then switch to Rider and Claude Code for tweaking and debugging. If Cursor didn't completely suck at .NET debug, I might just be able to use it alone.
If you've got the ruff plugin installed it should use it by default. Should be able to use it in zed as well.
VSCode is still more polished and I’m going to keep it installed, but I’ve been using Zed for a month now and loving it.
But I love the thought put into Zed and it looks great (this is important to me).
I don't use their AI features but it does come in handy when I need an quick alternate answer or perspective. I use Claude Code in a separate terminal.
The problem I had with zed when I tried it is that I'm on linux with kde and zed had a hamburger menu on linux, whereas on Mac it has a proper application menu. It also didn't have keyboard shortcuts for menus that I expected, e.g. Alt-f to open file menu. This is a Windows specific convention that many applications bring to linux too. I still prefer Sublime Text for its user interface.
But to the authors note, one might find a single behavior in zed really annoying. Mine is how zed appends a new line at the end of files on save. Used to be able to disable this in settings but an update broke that long ago. Maybe some can tell me its fixed but seems like I’ll need to journey down git hub issue fix but did not find one while back.
Everything is monocolored, everything feels like it's an add-on, and settings are in weird different places rendered as json or a web page feel.
Last time I used a "real" IDE was 2008, so I may be the problem here.
The author also mentions missing the sidebar with files but it's one of the icons at the bottom left.
There are some core features that work so much better out of the box than with the best plugins in others.
Local History (or even for a selection) with search, stacked clipboard, recent locations, how good search is in general (text, symbols, actions etc), how in-modal buffers work, debugging experience, version control merging experience, etc etc
Old now fixed complaints:
- making plugins used to be awful
- used to have no lsp support
(Was pleasantly surprised when I built ron-lsp [1] plugin)
Long standing complaints:
- it's heavy and slow
- has weird failure modes
All that being said, still my main IDE, with neovim (well configured) used frequently.
---
[1]: https://github.com/jasonjmcghee/ron-lsp/tree/main/jetbrains-...
I have been using Emacs since 1989. I have seen so many editors come and go, and Emacs was never the best, but it was always good. And it has stuck to its (very broad) knitting.
There are AI tools I can incorporate into Emacs, and one day I might. But I have so much choice, it gets distressing
Articles like this remind me why I keep loyal....
that's not unusual for python. in fact, that is why I avoid python.
It's also a reason I still use Firefox based browsers instead of chromium based browsers.
Does Zed address this in any meaningful way?
It doesn't easily allow for parallel work like Claude Code in a Terminal but for a single session it is just as good plus it makes it really easy to switch between models. I also find it super useful when I'm working on our large monorepo, the minimal and fast ui makes it super easy to pull in the right context of folders, files, snippets etc to help the Agent.
A back and forth "conversation" with Gemini with extreme amounts of copying/pasting/executing in Geany (a relatively simple editor) is now faster than whatever I was trying to do before, hopping between emacs and vim and IDES, etc.
Or do you mean line-editors? They have gotten impressively good. See rustyline (based on linenoise) and reedline (not a typo; developed by the Nushell team) for example. Way better than one might expect!
[1]: https://github.com/kkawakam/rustyline
My biggest worry with Zed since I started using it (again, early adopter) was that it would eventually need to be monetized, and likely enshittified. I'm not at all a fan of subscription software, but probably would've happily handed over $20-$50 for a one time purchase (or, maybe $20 for a 1 time purchase of a major version, with another $20 at least 3+ years out or something).
In the last year, Zed has become a sort of AI reseller. You can buy their 'pro' plan, get so many openai/anthropic/gemini tokens, and set a max budget.
For me, this is probably as good of a business model gets in terms of staving off enshittiffication. Zed can happily take a cut, I can preview a bunch of different services, and if you don't care about ai at all, well the core editor is still free. My only worry about this model is that I think I'd have a hard time getting my employer to pay for a Zed pro plan over copilot, so I think they may have trouble monetizing enterprise users with this plan.
In any case, seeing an obvious/relatively innocuous method of sustainable dev has been a tremendous relief to me (and I'm sure the Zed devs as well).
Its biggest remaining flaws IMO remain its small extension ecosystem which hopefully is simply a matter of momentum. I'm sure they could do something like provide richer examples of how to port an extension from vscode, so it's not an intractable problem.
I also continue to have concerns re: the security of their chat/cooperative editing system as it's currently difficult (impossible?) to self host, but perhaps that will also be improved.
I wish Microsoft would make software that just respects that I do not want to use copilot rather than enshittifying VSCode.
how in the world is this possible in THE web dev editor?
If that ever gets fixed then I'd look at replacing Sublime (which is still my go-to for quick editing) and then see if it can handle more advanced coding (which one the rotating list of various vscode forks handle today)