Keyboard shortcuts
Default keymap. Edit the JSON in Settings to customize per feature.
QueryDen is keyboard-first. The defaults below are wired in src/App.tsx (global) and the per-feature stores. Bindings can be remapped per feature in Settings → Keymap.
Global
| Shortcut | Action |
|---|---|
Ctrl+Enter | Run statement under cursor (statement-aware) |
Ctrl+Shift+Enter | Run all statements |
Ctrl+N | New query tab |
Ctrl+S | Save current query |
Ctrl+Shift+L | Format SQL |
Ctrl+Shift+F | Toggle global search bar |
Ctrl+Shift+E | Toggle Database Explorer pane |
Ctrl+Alt+S | Open settings |
Ctrl+H | Open help |
In the editor
| Shortcut | Action |
|---|---|
Ctrl+Click on an identifier | Jump to definition |
| Hover an identifier | Live CREATE TABLE tooltip with columns |
Alt+Enter | Intention actions (JetBrains-style refactor popup) |
Ctrl+Space | Trigger autocomplete |
Ctrl+/ | Toggle line comment |
Ctrl+D | Duplicate line / add selection to next occurrence |
Ctrl+Y | Delete line |
Ctrl+W | Expand selection |
Ctrl+Shift+W | Shrink selection |
Alt+Shift+Up/Down | Move line up/down |
In the results grid
| Shortcut | Action |
|---|---|
Ctrl+S | Save pending edits |
Escape | Close overlays / menus |
| Arrow keys | Cell navigation |
Ctrl+C | Copy cell value (or selection) |
Keymap presets
The default “DataGrip” preset only lists bindings the app actually wires. DataGrip-flavored shortcuts whose handlers don’t exist yet (global search, in-app console, go-to-definition keybinding, rename, structure view, tab cycling, local/clipboard history) are intentionally omitted — they’ll come back as each feature lands. Previously issue #11 tracked the fact that the preset advertised these as available when pressing them did nothing.
Shortcuts that conflict with operating system behavior (such as Ctrl+W closing the window, Ctrl+\ sending SIGQUIT on Linux, or F4 being captured by macOS) are avoided. The keymap uses Ctrl+Shift+E for the Database Explorer to prevent these conflicts.
Customizing
Open Settings → Keymap to remap any per-feature binding. The keymap is stored encrypted alongside your connections, so it follows your master password — not your operating system’s preferences.