Readit News logoReadit News
laserbeam · 2 months ago
I'm very happy to see work on the debugger. This is the main feature preventing me from switching full time to zed.

Unfortunately, "here" is not accurate. Not having a watch window, a stack trace view, and no mention of data breakpoints in the announcement still keeps the "beta" tag. I know those features will arrive eventually, but what is described is definitely not sufficient for 97% of my debugging sessions.

I would also have liked to see more in the announcement of multiple simultaneous debug sessions, and on how multithreaded debugging is planned. There are really cool things that can be done with multithreaded debugging further down the line that I'd be interesting in hearing about (like how RemedyBG has a DAW-like UI for freezing certain threads, or hitting one button to "solo" a thread and freeze all others).

anthony-eid · 2 months ago
Hey Laserbeam, I'm one of the devs that made the debugger and the one that wrote the article.

We do have a basic stack trace view that basically all debuggers support. What's coming out in the near future is a stack trace view in our multi buffer system. In fact, you can use the "show stack trace" action while in an active debug session to expand the call stack in a multi buffer, where each excerpt is a frame. It's just not up to the quality that I and several others expect from Zed, so I didn't advertise it.

There's also a PR for a watching variables/expression that is going to be merged in a couple of days. The functionality is done, but we didn't want to add a feature so close to launch that wasn't fully tested.

Support for data breakpoints will come in the near future. I can't say when because we're planning on focusing on automatic configuration for a while, but it is a priority.

We do support simultaneously debugging multiple sessions at the same time and multithreaded debugging too. There's still more to do with it, but the support is definitely there!

laserbeam · 2 months ago
I am VERY confident you guys have everything I mentioned either half working or coming shortly, so I'm not worried. I just saw a "the debugger is here!" announcement, then read the announcement, and saw what's still under todo... My reaction is "well, it's not here, it'll be here in a few weeks". And that's ok ^.^

Am impressed by the under-the-hood discussion though. Keep up the great work!

happy-dude · 2 months ago
The blog post mentions[1] that advanced views are in development. This initial release and announcement focuses on the underlying foundation they're building upon.

> New views: While we support all the fundamental views, we're planning on adding more advanced views such as a watch list, memory view, disassembly view, and a stack trace view

[1] https://zed.dev/blog/debugger#whats-next

odie5533 · 2 months ago
100% of my debug sessions are with plain breakpoints and stepping. So it's here for me!
keyle · 2 months ago
I agree but at the rate the Zed team is working at, we're not far off!
laserbeam · 2 months ago
Oh yeah, of course :). My argument is they're just premature in declaring readiness.
aequitas · 2 months ago
I have to try out the debugger yet. However I share your sentiment but for the Git feature. The basics are there but it is just not complete yet to fully replace my current git workflow. Hope they keep focus on that as well.
koito17 · 2 months ago
Nothing has been able to replace Magit for me, yet. Having a Zed UI for Git like Magit is my dream feature request.

With that said, Zed has effectively replaced all of Emacs for me, besides Magit. Additionally, typing in other editors feels noticeably higher latency than Zed :)

I've been daily driving Zed for almost a year now -- works best on TypeScript, Rust, and Go projects, in my opinion.

There's just so much functionality Zed has to build out to compete with modern editors (agentic coding, collaboration, debugging, edit prediction, task runners, version control). With that said, for pair-programming sessions with friends, Zed has been perfect since Linux gained screenshare support. However, there's a noticeable "pause in development" for collaboration in order to implement major features like Agentic Coding, and smaller-but-essential features like direnv integration, IME support (typing Japanese in the terminal used to be a clunky, error-prone task), dealing with the endless permutations of Python tooling so that Python files aren't a sea of red lines, etc.

nixpulvis · 2 months ago
Is there a tracking issue for watching variables and data breakpoints? I'd like to see that as well.
anthony-eid · 2 months ago
Here's the PR for variable/expression watching: https://github.com/zed-industries/zed/pull/32743

I don't think there's an issue for data breakpoints, but you can make one for us

Deleted Comment

candrewlee · 2 months ago
Zed is fantastic. I've been making the leap from neovim to zed lately, and it's been an great experience. Everything feels snappy, and I love how well they've integrated Vim bindings. Their agent mode is nice as well. It's clearly an underdog to VSCode, so the extension ecosystem isn't quite there yet... but for a lot of the things I've used it for, it's sufficient. The debugger has been the big missing feature for me and I'm really glad they've built it out now - awesome work.
echelon · 2 months ago
How is Zed with auto-completing Rust code?

I love how fast Windsurf and Cursor are with the "tab-tab-tab" code auto-completion, where nearly everything suggested is spot-on and the suggestions keep on rolling, almost automating the entire task of refactoring for you. This form of autocomplete works really well with TypeScript and other scripting languages.

IntelliJ / RustRover never got anywhere close to that level of behavior you can get in Cursor and Windsurf, neither in conjunction with JetBrains own models or with Co-pilot. I chalked it up as an IDE / model / language mismatch thing. That Rust just wasn't amenable to this.

A few questions:

1) Are we to that magical tab-tab-tab and everything autocompletes fluently with Rust yet? (And does this work in Zed?)

2) How does Zed compare to Cursor and Windsurf? How does it compare to RustRover, and in particular, JetBrains' command of the Rust AST?

WD-42 · 2 months ago
Zed is written in Rust by a bunch of Rust lovers so it's really got first class support for it.
csomar · 2 months ago
> How is Zed with auto-completing Rust code?

I think they all use LSP, so whether you use neovim or Zed there shouldn't be a difference? (not 100% sure, but that's my basic understanding of LSP).

lionkor · 2 months ago
It's fantastic for Rust, it's my main IDE which I've written e.g. voltlane.net in. Fantastic software, and the LLM integration is everything you need IMO (in a good way).
timeinput · 2 months ago
I'm curious about how vimmy the vim bindings are?

Every time I've encountered a vim emulator I've found it is just close enough that my fingers are doing the wrong things so often it's frustrating. Almost to the point where I would prefer a non-vimmy editor since at least then my fingers always do the wrong thing.

esamatti · 2 months ago
To me it has been the best "vim" that is not a real Vim. Way way better than the vscode plugin. I have used Vim and later Neovim since 2008 or so. Zed is the first non-vim I am truly happy with.
mort96 · 2 months ago
I was interested in Zed, but lost all interest when they started integrating "AI". I'm tired of "AI" everywhere.

I'll just stick with Neovim until something better comes around. Which probably won't happen until after the "AI" bubble bursts.

laserbeam · 2 months ago
Zed was the first editor that tempted me into using AI features. It felt solid in general and AI feels mostly like autocomplete in other editors (in terms of how much it's in your face). There's definitely a place for AI models and agents in code editors, and Zed makes me feel like it's not built around them, which is great! Zed feel like "Come to us, we are making a good fast editor that also has AI." while competition feel like "Come to us, we want AI that has an editor".
mort96 · 2 months ago
I'm genuinely happy it works for you. I just don't want AI in my text editor, even if you're happy with it.
oneeyedpigeon · 2 months ago
I went to check out neovim and noticed it's currently sponsored by two AI products! Of course, that's one level removed from actually integrating AI in your product but, still—it's getting harder and harder to avoid altogether.
mort96 · 2 months ago
Oh wow, I hadn't noticed that.

I guess it's always possible to return to Vim if Neovim starts showing signs of being steered by its sponsors.

norir · 2 months ago
Thankfully for me, I guess, neovim broke my config about a year ago by changing the default color scheme in a way that I could not fix easily with confug. So I forked and built my own and will likely never update it.
rckt · 2 months ago
I just disabled everything AI related. It's a nice editor. But I still have to jump into VSCode to resolve merge conflicts.
Nezteb · 2 months ago
Recently the Zed team added some tools to help with merge conflicts: https://github.com/zed-industries/zed/issues/4964#issuecomme...
foldr · 2 months ago
The AI features in Zed are very easy to turn off / ignore. I agree that the AI features are probably taking development time away from other features that might be more useful.
norman784 · 2 months ago
I didn't tried Zed in a while, are really intrusive the AI features? Can't it be just disabled with some configuration?
deliriumchn · 2 months ago
they are not intrusive but their entire focus changed on that instead of other features. Entire Git view feels abandoned in half done state yet they spent entire month working on AI chats, AI agents, their own AI edit (that's priced 20 per month yet they boast how light and performant it is -- why isn't it free local model then and why its priced worse than copilot?)

They're moving from "making awesome code editor" into yet another "buy our ai" product

nsonha · 2 months ago
I think you're referring to autocomplete? It's much better than, say, 2 years ago when it was indeed annoying as hell. Having said I always turn it off and use agentic coding, which is not intrusive, only activate if you ask for it. This applies to all coding tools these days, autocomplete is no longer their focus.
mort96 · 2 months ago
I don't know, I just uninstalled Zed when I read those features got added
aequitas · 2 months ago
I find it very easy to avoid the AI feature in every day Zed usage. Sometimes they do come in handy though. But nog often.
mort96 · 2 months ago
I don't want an editor where I have to avoid the AI features, I want an editor without AI features

Just like I want a terminal without AI features, which is why I'm no longer using iTerm2

ramon156 · 2 months ago
You can disable AI.

Furthermore, Zed Agents are currently my favorite way of using LLM's during programming

reddalo · 2 months ago
Me too. I don't want AI, and if it's there, I want to be able to completely remove it. Zed is forcing it, so I'm staying on VSCodium.
nurumaik · 2 months ago
What's forcing AI in Zed though?

agent.enabled = false and it's gone, no?

seabass · 2 months ago
It's trivial to disable it. I wouldn't let that hold you back from using an amazing editor!
mort96 · 2 months ago
I just tried it out again. It seems like you can disable the chat bot integration by adding this to the config:

    "agent": {
        "enabled": false
    }
However from the documentation[1] I can't see a way to disable the "AI" predictions button (which asks you to sign in to their online "AI" service with your GitHub account). Am I missing something?

[1] https://zed.dev/docs/configuring-zed#edit-predictions

NooneAtAll3 · 2 months ago
how does editor neovim connect to debugger in the post?

Dead Comment

ramon156 · 2 months ago
Zed feels like what Lapce, Helix and Neovim couldn't achieve in the time they spent.

I started using Helix back around 2021-2022 and just couldn't get over the bugs and lack of integration. It was good, but PHP support (I was working at an older company) was bad.

Neovim felt closest to a nice editor but there were some popular community-driven plugins that were very stubborn, and alternatives were just very slow. I was also just overwhelmed by the choices I needed to make for something stable.

Lapce just felt like a VSCode clone that didn't do anything special. Looked cool, but I did not feel like it was ready for a daily driver (And it still doesn't).

Zed became a favorite in a short amount of time, and I'm extremely grateful for it every day. The debugger is a nice addition.

rbits · 2 months ago
This might be off-topic, but I really want to use Helix. I've been using Vim keybindings for a few years now but it's so unintuitive, there's still so many things I can't do efficiently in Vim. Helix just makes so much more sense for my brain. But I don't use Vim/Neovim by itself, I always use an integration with an editor like VSCode or Obsidian (Obsidian's Vim emulation isn't great, but it's good enough). Helix just isn't there yet with VSCode or Obsidian.

I wish more "Vim successors" would focus more on integrating with existing IDEs, rather than becoming one themselves. I don't want to have to set up an entirely new workflow when I change how I edit text.

That's also why I haven't tried using Neovim as a standalone IDE. It looks like I'd really like it, but I don't want to be locked in to using Vim.

haiku2077 · 2 months ago
FWIW Zed has the best Vim mode I've used outside of Vim. I do miss a few of my Vim plugins but the core is all there.
user3939382 · 2 months ago
> PHP support (I was working at an older company)

Not sure why PHP needs a qualifier like this.

pjmlp · 2 months ago
People keep forgetting the UNIX tools they love sooo much predate PHP, follow the same worse is better mentally, and trace back to 1969, but for some strange time travel reason, they are considered modern.

Deleted Comment

Dead Comment

hu3 · 2 months ago
> ...like a VSCode clone that didn't do anything special.

Interesting way to qualify the most popular editor of human history.

quietbritishjim · 2 months ago
They said that Lapce didn't do anything special (over VSCode). Not that VSCode is nothing special, as you seem to have interpreted it.
AbuAssar · 2 months ago
I’m thrilled to see Zed evolve into a featured, lightweight IDE.

IMHO Debug Adapter Protocol (DAP) and Language Server Protocol (LSP) are the best things happened to programming tooling in the last decade.

(I wrote this comment in another thread about the same link but didn't hit the frontpage)

eddythompson80 · 2 months ago
Ever since Linux support came out (2 years ago?), I go to check if they, finally, support “non-retina” “LoDPi” (a.k.a: a regular screen) yet, and sadly no :/
sapiogram · 2 months ago
It's so incredibly frustrating. Text rendering is the primary feature of a code editor, but no one on the Zed team seems to use a non-retina screen.

Github issue for context: https://github.com/zed-industries/zed/issues/7992

jen20 · 2 months ago
> but no one on the Zed team seems to use a non-retina screen

This is not that surprising to me. Surely no-one wants to spend their day looking at the pixels?

marton78 · 2 months ago
It's an ugly workaround, but if you install BetterDisplay (it's a free tool) and set your LoDPI screen to HiDPI, text rendering looks good.
girvo · 2 months ago
Oh I'll have to try that. Zed looks woeful on my 1440p monitor when I was trying it at work, which is a shame because I quite like it otherwise.
jaoane · 2 months ago
They don’t support windows, they don’t support regular screens on Linux… are they a Mac shop basically?
LoganDark · 2 months ago
Yes. Originally they were Mac-only, then they went open-source and the community added support for Linux and Windows, but AFAICT they've never invested in anything but Mac
senko · 2 months ago
Using it with regular screen in Linux, works just fine.
sien · 2 months ago
The unofficial builds for Windows are good.

https://github.com/deevus/zed-windows-builds

Installing the 'stable' build with scoop works a treat.

lsllc · 2 months ago
Via Scoop:

  scoop bucket add extras
  scoop install extras/zed
It works really well on Windows, haven't had any problems, nor with any extensions.

avarun · 2 months ago
Most startups are
senko · 2 months ago
Using it daily on my 1920x1200 laptop screen in Linux and works just fine.
gkbrk · 2 months ago
Zed developers themselves acknowledge the blurry font issue [1], so either you just don't notice blurry fonts or 1920x1200 on a small laptop screen is HiDPI-enough to kinda hide the blurriness.

My desktop monitor is 1920x1080. On my computer and display; Vim, Emacs and VSCode are all able to render their fonts crisply while Zed is a blurry mess.

[1]: https://github.com/zed-industries/zed/issues/7992

sapiogram · 2 months ago
Are you using dark mode? To me, text looks absolutely awful in light mode, but okay in dark mode. Still noticeably worse than any other editors, though.
rvz · 2 months ago
I think competent software engineers should actually read the "Under the hood" section, before they lose the core understanding on how debuggers work and are integrated into editors.

Upon reading the Rust code implementing the Debug Adapter Protocol (DAP) in Zed, some very junior SWEs will quickly point out that they would prefer only "self-documenting code" and would go as far as to removing all comments or even believe that "If it has comments, its probably bad code".

For sophisticated software that implements a defined protocol that is architected to be scalable in any piece of complex software, I prefer these comments that explains why a particular interface is designed the way it is and how it fits into the software (Zed) in this case if it were to be widely re-used like a plugin system.

This blog post is excellent in explaining this debugger integration in the editor and it makes me want to consider using Zed; it just needs an improved extension ecosystem.

[0] https://zed.dev/blog/debugger#under-the-hood

neurostimulant · 2 months ago
If be surprised if Zed aren't dogfooding their own AI agents to help writing some of the Zed code. The AI often put a lot of comments on the generated code, and sometimes needs a lot of comments to produce the right code.
haiku2077 · 2 months ago
They literally do this in their AI Agent demo - they add a feature to Zed using Zed's agent.

Deleted Comment

writebetterc · 2 months ago
It's surprisingly slow. Switching files in the tab list has a noticeable delay. Typing is higher latency than both Emacs (lsp-mode activated) and my web browser. Also uses approximately 60MiB more than my Emacs. It starts fast though!

I wouldn't complain about this stuff if it wasn't for their tagline being 'it's fast' and they're losing to Emacs Lisp (not a language amenable to being very fast) with a highly optimized C core.

I looked at their plugins, they're compiled into WASM and run in some VM. Maybe that's part of it?

nurumaik · 2 months ago
How did you manage to make zed slower than emacs? From my experience, latency in zed sometimes even feels negative. Everything is instant: editing, lsp commands, file switching

In contrast, all my attempts at emacs ended up in dropping it due to latency issues (mostly because I work on remote machines)

writebetterc · 2 months ago
I think you answered how you managed to induce latency in Emacs :).
GrayShade · 2 months ago
> I looked at their plugins, they're compiled into WASM and run in some VM. Maybe that's part of it?

No. The ones I've looked just set up stuff, like launching a language server. They shouldn't be involved in typing.

I think it's related to the GPU usage. It's easy to introduce delays when you do GPU compositing, and the OS will already be doing its own.

As for emacs, IIRC they did some ugly things to update the UI directly instead of going through the normal event loop, which was causing compatibility issues later on.

frou_dh · 2 months ago
Talking of Emacs, there is a very well designed DAP-based debugger available as the 'dape' package.

https://elpa.gnu.org/packages/dape.html

The way it's designed (incl. having no dependencies) suggests that they will be angling for it to be included with stock Emacs at some point.

sapiogram · 2 months ago
It's probably something in the rendering pipeline. What operating system?
writebetterc · 2 months ago
Fedora 41, KDE Plasma 6.3.5, kernel 6.14.5, Wayland, Mesa Intel Iris Xe Graphics.