The current Jetbrains keymap has `ctrl-shift-f12` set to `CloseAllDocks`. On Jetbrains IDEs this hotkey actually toggles the docks, which is very convenient: You press it once to hide all docks and just focus on the code, and then you can press it again to toggle your docks right back to how they were. Unlike `CloseAllDocks`, a toggle means the editor needs to remember the previous docks state so this necessitated some code changes. Release Notes: - Added a `Toggle All Docks` editor action and updated the keymaps to use it
176 lines
6.6 KiB
JSON
176 lines
6.6 KiB
JSON
[
|
|
{
|
|
"bindings": {
|
|
"ctrl-alt-s": "zed::OpenSettingsFile",
|
|
"ctrl-{": "pane::ActivatePreviousItem",
|
|
"ctrl-}": "pane::ActivateNextItem",
|
|
"shift-escape": null, // Unmap workspace::zoom
|
|
"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",
|
|
"ctrl-d": "editor::DuplicateSelection",
|
|
"ctrl-y": "editor::DeleteLine",
|
|
"ctrl-m": "editor::ScrollCursorCenter",
|
|
"ctrl-pagedown": "editor::MovePageDown",
|
|
"ctrl-pageup": "editor::MovePageUp",
|
|
// "ctrl-alt-shift-b": "editor::SelectToPreviousWordStart",
|
|
"ctrl-alt-enter": "editor::NewlineAbove",
|
|
"shift-enter": "editor::NewlineBelow",
|
|
// "ctrl--": "editor::Fold", // TODO: `ctrl-numpad--` (numpad not implemented)
|
|
// "ctrl-+": "editor::UnfoldLines", // TODO: `ctrl-numpad+` (numpad not implemented)
|
|
"alt-shift-g": "editor::SplitSelectionIntoLines",
|
|
"alt-j": ["editor::SelectNext", { "replace_newest": false }],
|
|
"alt-shift-j": ["editor::SelectPrevious", { "replace_newest": false }],
|
|
"ctrl-/": ["editor::ToggleComments", { "advance_downwards": true }],
|
|
"ctrl-w": "editor::SelectLargerSyntaxNode",
|
|
"ctrl-shift-w": "editor::SelectSmallerSyntaxNode",
|
|
"shift-alt-up": "editor::MoveLineUp",
|
|
"shift-alt-down": "editor::MoveLineDown",
|
|
"ctrl-alt-l": "editor::Format",
|
|
"ctrl-alt-o": "editor::OrganizeImports",
|
|
"shift-f6": "editor::Rename",
|
|
"ctrl-alt-left": "pane::GoBack",
|
|
"ctrl-alt-right": "pane::GoForward",
|
|
"alt-f7": "editor::FindAllReferences",
|
|
"ctrl-alt-f7": "editor::FindAllReferences",
|
|
"ctrl-b": "editor::GoToDefinition", // Conflicts with workspace::ToggleLeftDock
|
|
"ctrl-alt-b": "editor::GoToDefinitionSplit", // Conflicts with workspace::ToggleRightDock
|
|
"ctrl-shift-b": "editor::GoToTypeDefinition",
|
|
"ctrl-alt-shift-b": "editor::GoToTypeDefinitionSplit",
|
|
"f2": "editor::GoToDiagnostic",
|
|
"shift-f2": "editor::GoToPreviousDiagnostic",
|
|
"ctrl-alt-shift-down": "editor::GoToHunk",
|
|
"ctrl-alt-shift-up": "editor::GoToPreviousHunk",
|
|
"ctrl-alt-z": "git::Restore",
|
|
"ctrl-home": "editor::MoveToBeginning",
|
|
"ctrl-end": "editor::MoveToEnd",
|
|
"ctrl-shift-home": "editor::SelectToBeginning",
|
|
"ctrl-shift-end": "editor::SelectToEnd",
|
|
"ctrl-f8": "editor::ToggleBreakpoint",
|
|
"ctrl-shift-f8": "editor::EditLogBreakpoint",
|
|
"ctrl-shift-u": "editor::ToggleCase"
|
|
}
|
|
},
|
|
{
|
|
"context": "Editor && mode == full",
|
|
"bindings": {
|
|
"ctrl-f12": "outline::Toggle",
|
|
"ctrl-r": ["buffer_search::Deploy", { "replace_enabled": true }],
|
|
"ctrl-shift-n": "file_finder::Toggle",
|
|
"ctrl-g": "go_to_line::Toggle",
|
|
"alt-enter": "editor::ToggleCodeActions"
|
|
}
|
|
},
|
|
{
|
|
"context": "BufferSearchBar",
|
|
"bindings": {
|
|
"shift-enter": "search::SelectPreviousMatch"
|
|
}
|
|
},
|
|
{
|
|
"context": "BufferSearchBar || ProjectSearchBar",
|
|
"bindings": {
|
|
"alt-c": "search::ToggleCaseSensitive",
|
|
"alt-e": "search::ToggleSelection",
|
|
"alt-x": "search::ToggleRegex",
|
|
"alt-w": "search::ToggleWholeWord"
|
|
}
|
|
},
|
|
{
|
|
"context": "Workspace",
|
|
"bindings": {
|
|
"ctrl-shift-f12": "workspace::ToggleAllDocks",
|
|
"ctrl-shift-r": ["pane::DeploySearch", { "replace_enabled": true }],
|
|
"alt-shift-f10": "task::Spawn",
|
|
"ctrl-e": "file_finder::Toggle",
|
|
// "ctrl-k": "git_panel::ToggleFocus", // bug: This should also focus commit editor
|
|
"ctrl-shift-n": "file_finder::Toggle",
|
|
"ctrl-shift-a": "command_palette::Toggle",
|
|
"shift shift": "command_palette::Toggle",
|
|
"ctrl-alt-shift-n": "project_symbols::Toggle",
|
|
"alt-0": "git_panel::ToggleFocus",
|
|
"alt-1": "project_panel::ToggleFocus",
|
|
"alt-5": "debug_panel::ToggleFocus",
|
|
"alt-6": "diagnostics::Deploy",
|
|
"alt-7": "outline_panel::ToggleFocus"
|
|
}
|
|
},
|
|
{
|
|
"context": "Pane", // this is to override the default Pane mappings to switch tabs
|
|
"bindings": {
|
|
"alt-1": "project_panel::ToggleFocus",
|
|
"alt-2": null, // Bookmarks (left dock)
|
|
"alt-3": null, // Find Panel (bottom dock)
|
|
"alt-4": null, // Run Panel (bottom dock)
|
|
"alt-5": "debug_panel::ToggleFocus",
|
|
"alt-6": "diagnostics::Deploy",
|
|
"alt-7": "outline_panel::ToggleFocus",
|
|
"alt-8": null, // Services (bottom dock)
|
|
"alt-9": null, // Git History (bottom dock)
|
|
"alt-0": "git_panel::ToggleFocus"
|
|
}
|
|
},
|
|
{
|
|
"context": "Workspace || Editor",
|
|
"bindings": {
|
|
"alt-f12": "terminal_panel::Toggle",
|
|
"ctrl-shift-k": "git::Push"
|
|
}
|
|
},
|
|
{
|
|
"context": "Pane",
|
|
"bindings": {
|
|
"ctrl-alt-left": "pane::GoBack",
|
|
"ctrl-alt-right": "pane::GoForward"
|
|
}
|
|
},
|
|
{
|
|
"context": "ProjectPanel",
|
|
"bindings": {
|
|
"enter": "project_panel::Open",
|
|
"ctrl-shift-f": "project_panel::NewSearchInDirectory",
|
|
"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"
|
|
}
|
|
},
|
|
{
|
|
"context": "Terminal",
|
|
"bindings": {
|
|
"ctrl-shift-t": "workspace::NewTerminal",
|
|
"alt-f12": "workspace::CloseActiveDock",
|
|
"alt-left": "pane::ActivatePreviousItem",
|
|
"alt-right": "pane::ActivateNextItem",
|
|
"ctrl-up": "terminal::ScrollLineUp",
|
|
"ctrl-down": "terminal::ScrollLineDown",
|
|
"shift-pageup": "terminal::ScrollPageUp",
|
|
"shift-pagedown": "terminal::ScrollPageDown"
|
|
}
|
|
},
|
|
{ "context": "GitPanel", "bindings": { "alt-0": "workspace::CloseActiveDock" } },
|
|
{ "context": "ProjectPanel", "bindings": { "alt-1": "workspace::CloseActiveDock" } },
|
|
{ "context": "DebugPanel", "bindings": { "alt-5": "workspace::CloseActiveDock" } },
|
|
{ "context": "Diagnostics > Editor", "bindings": { "alt-6": "pane::CloseActiveItem" } },
|
|
{ "context": "OutlinePanel", "bindings": { "alt-7": "workspace::CloseActiveDock" } },
|
|
{
|
|
"context": "Dock || Workspace || OutlinePanel || ProjectPanel || CollabPanel || (Editor && mode == auto_height)",
|
|
"bindings": {
|
|
"escape": "editor::ToggleFocus",
|
|
"shift-escape": "workspace::CloseActiveDock"
|
|
}
|
|
}
|
|
]
|