debugger: Add 'open docs' button in the panel and mention onboarding in the docs (#32496)

Closes #ISSUE

Release Notes:

- N/A
This commit is contained in:
Piotr Osiewicz 2025-06-10 23:56:29 +02:00 committed by GitHub
parent 311e136e30
commit a4c5a2d4d3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 28 additions and 11 deletions

View file

@ -0,0 +1 @@
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-circle-help-icon lucide-circle-help"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"/><path d="M12 17h.01"/></svg>

After

Width:  |  Height:  |  Size: 348 B

View file

@ -605,6 +605,12 @@ impl DebugPanel {
} }
}) })
}; };
let documentation_button = || {
IconButton::new("debug-open-documentation", IconName::CircleHelp)
.icon_size(IconSize::Small)
.on_click(move |_, _, cx| cx.open_url("https://zed.dev/docs/debugger"))
.tooltip(Tooltip::text("Open Documentation"))
};
Some( Some(
div.border_b_1() div.border_b_1()
@ -840,7 +846,10 @@ impl DebugPanel {
), ),
) )
.justify_around() .justify_around()
.when(is_side, |this| this.child(new_session_button())), .when(is_side, |this| {
this.child(new_session_button())
.child(documentation_button())
}),
) )
.child( .child(
h_flex() h_flex()
@ -881,7 +890,10 @@ impl DebugPanel {
window, window,
cx, cx,
)) ))
.when(!is_side, |this| this.child(new_session_button())), .when(!is_side, |this| {
this.child(new_session_button())
.child(documentation_button())
}),
), ),
), ),
) )

View file

@ -60,6 +60,7 @@ pub enum IconName {
ChevronUpDown, ChevronUpDown,
Circle, Circle,
CircleOff, CircleOff,
CircleHelp,
Clipboard, Clipboard,
Close, Close,
Cloud, Cloud,

View file

@ -6,26 +6,29 @@ It allows Zed to support various debuggers without needing to implement language
This protocol enables features like setting breakpoints, stepping through code, inspecting variables, This protocol enables features like setting breakpoints, stepping through code, inspecting variables,
and more, in a consistent manner across different programming languages and runtime environments. and more, in a consistent manner across different programming languages and runtime environments.
> We currently offer onboarding support for users. We are eager to hear from you if you encounter any issues or have suggestions for improvement for our debugging experience.
> You can schedule a call via [Cal.com](https://cal.com/team/zed-research/debugger)
## Supported Debug Adapters ## Supported Debug Adapters
Zed supports a variety of debug adapters for different programming languages: Zed supports a variety of debug adapters for different programming languages out of the box:
- JavaScript (node): Enables debugging of Node.js applications, including setting breakpoints, stepping through code, and inspecting variables in JavaScript. - JavaScript ([vscode-js-debug](https://github.com/microsoft/vscode-js-debug.git)): Enables debugging of Node.js applications, including setting breakpoints, stepping through code, and inspecting variables in JavaScript.
- Python (debugpy): Provides debugging capabilities for Python applications, supporting features like remote debugging, multi-threaded debugging, and Django/Flask application debugging. - Python ([debugpy](https://github.com/microsoft/debugpy.git)): Provides debugging capabilities for Python applications, supporting features like remote debugging, multi-threaded debugging, and Django/Flask application debugging.
- LLDB: A powerful debugger for C, C++, Objective-C, and Swift, offering low-level debugging features and support for Apple platforms. - LLDB ([CodeLLDB](https://github.com/vadimcn/codelldb.git)): A powerful debugger for C, C++, Objective-C, and Swift, offering low-level debugging features and support for Apple platforms.
- GDB: The GNU Debugger, which supports debugging for multiple programming languages including C, C++, Go, and Rust, across various platforms. - GDB ([GDB](https://sourceware.org/gdb/)): The GNU Debugger, which supports debugging for multiple programming languages including C, C++, Go, and Rust, across various platforms.
- Go (dlv): Delve, a debugger for the Go programming language, offering both local and remote debugging capabilities with full support for Go's runtime and standard library. - Go ([Delve](https://github.com/go-delve/delve)): Delve, a debugger for the Go programming language, offering both local and remote debugging capabilities with full support for Go's runtime and standard library.
- PHP (xdebug): Provides debugging and profiling capabilities for PHP applications, including remote debugging and code coverage analysis. - PHP ([Xdebug](https://xdebug.org/)): Provides debugging and profiling capabilities for PHP applications, including remote debugging and code coverage analysis.
- Ruby ([rdbg](https://github.com/ruby/debug)): Provides debugging for Ruby.
These adapters enable Zed to provide a consistent debugging experience across multiple languages while leveraging the specific features and capabilities of each debugger. These adapters enable Zed to provide a consistent debugging experience across multiple languages while leveraging the specific features and capabilities of each debugger.
Additionally, Ruby support (via rdbg) is being actively worked on.
## Getting Started ## Getting Started
For basic debugging, you can set up a new configuration by opening the `New Session Modal` either via the `debugger: start` (default: f4) or by clicking the plus icon at the top right of the debug panel. For basic debugging, you can set up a new configuration by opening the `New Session Modal` either via the `debugger: start` (default: f4) or by clicking the plus icon at the top right of the debug panel.