
### DISCLAIMER > As of 6th March 2025, debugger is still in development. We plan to merge it behind a staff-only feature flag for staff use only, followed by non-public release and then finally a public one (akin to how Git panel release was handled). This is done to ensure the best experience when it gets released. ### END OF DISCLAIMER **The current state of the debugger implementation:** https://github.com/user-attachments/assets/c4deff07-80dd-4dc6-ad2e-0c252a478fe9 https://github.com/user-attachments/assets/e1ed2345-b750-4bb6-9c97-50961b76904f ---- All the todo's are in the following channel, so it's easier to work on this together: https://zed.dev/channel/zed-debugger-11370 If you are on Linux, you can use the following command to join the channel: ```cli zed https://zed.dev/channel/zed-debugger-11370 ``` ## Current Features - Collab - Breakpoints - Sync when you (re)join a project - Sync when you add/remove a breakpoint - Sync active debug line - Stack frames - Click on stack frame - View variables that belong to the stack frame - Visit the source file - Restart stack frame (if adapter supports this) - Variables - Loaded sources - Modules - Controls - Continue - Step back - Stepping granularity (configurable) - Step into - Stepping granularity (configurable) - Step over - Stepping granularity (configurable) - Step out - Stepping granularity (configurable) - Debug console - Breakpoints - Log breakpoints - line breakpoints - Persistent between zed sessions (configurable) - Multi buffer support - Toggle disable/enable all breakpoints - Stack frames - Click on stack frame - View variables that belong to the stack frame - Visit the source file - Show collapsed stack frames - Restart stack frame (if adapter supports this) - Loaded sources - View all used loaded sources if supported by adapter. - Modules - View all used modules (if adapter supports this) - Variables - Copy value - Copy name - Copy memory reference - Set value (if adapter supports this) - keyboard navigation - Debug Console - See logs - View output that was sent from debug adapter - Output grouping - Evaluate code - Updates the variable list - Auto completion - If not supported by adapter, we will show auto-completion for existing variables - Debug Terminal - Run custom commands and change env values right inside your Zed terminal - Attach to process (if adapter supports this) - Process picker - Controls - Continue - Step back - Stepping granularity (configurable) - Step into - Stepping granularity (configurable) - Step over - Stepping granularity (configurable) - Step out - Stepping granularity (configurable) - Disconnect - Restart - Stop - Warning when a debug session exited without hitting any breakpoint - Debug view to see Adapter/RPC log messages - Testing - Fake debug adapter - Fake requests & events --- Release Notes: - N/A --------- Co-authored-by: Piotr Osiewicz <24362066+osiewicz@users.noreply.github.com> Co-authored-by: Anthony Eid <hello@anthonyeid.me> Co-authored-by: Anthony <anthony@zed.dev> Co-authored-by: Piotr Osiewicz <peterosiewicz@gmail.com> Co-authored-by: Piotr <piotr@zed.dev>
107 lines
3.8 KiB
JSON
107 lines
3.8 KiB
JSON
[
|
|
{
|
|
"bindings": {
|
|
"cmd-{": "pane::ActivatePreviousItem",
|
|
"cmd-}": "pane::ActivateNextItem",
|
|
"ctrl-f2": "debugger::Stop",
|
|
"f6": "debugger::Pause",
|
|
"f7": "debugger::StepInto",
|
|
"f8": "debugger::StepOver",
|
|
"shift-f8": "debugger::StepOut",
|
|
"f9": "debugger::Continue",
|
|
"alt-shift-f9": "debugger::Start"
|
|
}
|
|
},
|
|
{
|
|
"context": "Editor",
|
|
"bindings": {
|
|
"ctrl->": ["zed::IncreaseBufferFontSize", { "persist": true }],
|
|
"ctrl-<": ["zed::DecreaseBufferFontSize", { "persist": true }],
|
|
"ctrl-shift-j": "editor::JoinLines",
|
|
"cmd-d": "editor::DuplicateSelection",
|
|
"cmd-backspace": "editor::DeleteLine",
|
|
"cmd-pagedown": "editor::MovePageDown",
|
|
"cmd-pageup": "editor::MovePageUp",
|
|
"ctrl-alt-shift-b": "editor::SelectToPreviousWordStart",
|
|
"cmd-alt-enter": "editor::NewlineAbove",
|
|
"shift-enter": "editor::NewlineBelow",
|
|
"cmd--": "editor::Fold",
|
|
"cmd-+": "editor::UnfoldLines",
|
|
"alt-shift-g": "editor::SplitSelectionIntoLines",
|
|
"ctrl-g": ["editor::SelectNext", { "replace_newest": false }],
|
|
"ctrl-cmd-g": ["editor::SelectPrevious", { "replace_newest": false }],
|
|
"cmd-/": ["editor::ToggleComments", { "advance_downwards": true }],
|
|
"alt-up": "editor::SelectLargerSyntaxNode",
|
|
"alt-down": "editor::SelectSmallerSyntaxNode",
|
|
"shift-alt-up": "editor::MoveLineUp",
|
|
"shift-alt-down": "editor::MoveLineDown",
|
|
"cmd-alt-l": "editor::Format",
|
|
"ctrl-alt-o": "editor::OrganizeImports",
|
|
"shift-f6": "editor::Rename",
|
|
"cmd-[": "pane::GoBack",
|
|
"cmd-]": "pane::GoForward",
|
|
"alt-f7": "editor::FindAllReferences",
|
|
"cmd-alt-f7": "editor::FindAllReferences",
|
|
"cmd-b": "editor::GoToDefinition", // Conflicts with workspace::ToggleLeftDock
|
|
"cmd-alt-b": "editor::GoToDefinitionSplit",
|
|
"cmd-shift-b": "editor::GoToTypeDefinition",
|
|
"cmd-alt-shift-b": "editor::GoToTypeDefinitionSplit",
|
|
"f2": "editor::GoToDiagnostic",
|
|
"shift-f2": "editor::GoToPreviousDiagnostic",
|
|
"ctrl-alt-shift-down": "editor::GoToHunk",
|
|
"ctrl-alt-shift-up": "editor::GoToPreviousHunk",
|
|
"cmd-home": "editor::MoveToBeginning",
|
|
"cmd-end": "editor::MoveToEnd",
|
|
"cmd-shift-home": "editor::SelectToBeginning",
|
|
"cmd-shift-end": "editor::SelectToEnd",
|
|
"ctrl-f8": "editor::ToggleBreakpoint",
|
|
"ctrl-shift-f8": "editor::EditLogBreakpoint"
|
|
}
|
|
},
|
|
{
|
|
"context": "Editor && mode == full",
|
|
"bindings": {
|
|
"cmd-f12": "outline::Toggle",
|
|
"cmd-7": "outline::Toggle",
|
|
"cmd-shift-o": "file_finder::Toggle",
|
|
"cmd-l": "go_to_line::Toggle",
|
|
"alt-enter": "editor::ToggleCodeActions"
|
|
}
|
|
},
|
|
{
|
|
"context": "BufferSearchBar > Editor",
|
|
"bindings": {
|
|
"shift-enter": "search::SelectPreviousMatch"
|
|
}
|
|
},
|
|
{
|
|
"context": "Workspace",
|
|
"bindings": {
|
|
"cmd-shift-o": "file_finder::Toggle",
|
|
"cmd-shift-a": "command_palette::Toggle",
|
|
"shift shift": "command_palette::Toggle",
|
|
"cmd-alt-o": "project_symbols::Toggle", // JetBrains: Go to Symbol
|
|
"cmd-o": "project_symbols::Toggle", // JetBrains: Go to Class
|
|
"cmd-1": "workspace::ToggleLeftDock",
|
|
"cmd-6": "diagnostics::Deploy"
|
|
}
|
|
},
|
|
{
|
|
"context": "Pane",
|
|
"bindings": {
|
|
"cmd-alt-left": "pane::GoBack",
|
|
"cmd-alt-right": "pane::GoForward"
|
|
}
|
|
},
|
|
{
|
|
"context": "ProjectPanel",
|
|
"bindings": {
|
|
"enter": "project_panel::Open",
|
|
"cmd-backspace": ["project_panel::Trash", { "skip_prompt": false }],
|
|
"backspace": ["project_panel::Trash", { "skip_prompt": false }],
|
|
"delete": ["project_panel::Trash", { "skip_prompt": false }],
|
|
"shift-delete": ["project_panel::Delete", { "skip_prompt": false }],
|
|
"shift-f6": "project_panel::Rename"
|
|
}
|
|
}
|
|
]
|