Over 2,000 developers asked, and we delivered.
Debugging in Zed is now a reality—and it's a big leap toward Zed 1.0.
We set out to build a debugger with three primary focuses:
Fast: Spend less time context switching and more time debugging
Familiar: In line with Zed's design language and supports everything expected from a typical debugger flow
Configurable: You're able to customize the UI, keybindings, debug configurations and more
Out of the box, Zed supports debugging popular languages including Rust, C/C++, JavaScript, Go, and Python. With our extension system, Zed can support any debug adapter that implements the Debug Adapter Protocol (DAP).
To simplify the setup process, we've introduced locators, a system that translates build configurations into debug configurations. Meaning that you can write a build task once in tasks.json and reference it from debug.json — or, even better, rely on Zed's automatic configuration.
Zed automatically runs locators on built-in or language server-generated runnables, so in many cases you won't even need to write a debug configuration to get up and running.
We currently support locators for Cargo, Python, JavaScript, and Go, with more coming in the future. For more information on configuring a debug session, see our documentation.
... continue reading