Keyboard shortcuts
Every action is a command with a VS Code id, and the Command Palette (Ctrl+Shift+P or F1) runs any of them by name. The menus and the keys below are the defaults; keybindings.json changes them.
Menus
| Menu | Commands |
|---|---|
| File | New Column Ctrl+T, Open Repository… Ctrl+O, Close Column Ctrl+W, Settings Ctrl+,, Open Settings (JSON), Keyboard Shortcuts Ctrl+K Ctrl+S, Open Keyboard Shortcuts (JSON), Quit Ctrl+Q |
| View | Command Palette… Ctrl+Shift+P, Source Control Ctrl+Shift+G, Extensions Ctrl+Shift+X, Primary Side Bar Ctrl+B, Activity Bar, Status Bar, Refresh All F5, Mark All as Seen, Expand All Sections, Collapse All Graphs, Two Rows, Fit Columns to Window, Color Theme… Ctrl+K Ctrl+T, Follow the Desktop's Theme, Close Diff |
| Column | Move Left Ctrl+Shift+PgUp, Move Right Ctrl+Shift+PgDn, Move Up Ctrl+Shift+↑, Move Down Ctrl+Shift+↓, Refresh Column Ctrl+R |
| Help | About |
In the active column
| Key | In the active column |
|---|---|
| ↑ ↓ PgUp PgDn Home End | Move through the focused list (Changes or Graph) |
| Tab, Shift+Tab | Switch between Changes and Graph |
| ← → | Previous / next column |
| Enter, Space | Open the selected file or commit (a group header folds) |
| Esc | Close the Command Palette, the Settings editor or the diff drawer |
With the drawer open, it follows the selection, so the arrows step through diffs. The selected row of the focused list has a blue outline.
Changing them
Every shortcut is a keybinding of a command, as in VS Code, and
~/.config/ecliptic/keybindings.json changes them: an array of entries
with a key (VS Code's spelling: ctrl+alt+r, a chord ctrl+k ctrl+h,
f9), a command and, if wanted, a when clause and args. A command
written with a leading - removes the default binding of that key. The
file is read again the moment it changes; one that cannot be read is
reported in a banner and the last good keybindings stay in effect.
[
{ "key": "ctrl+alt+r", "command": "ecliptic.refreshColumn" },
{ "key": "ctrl+r", "command": "-ecliptic.refreshColumn" },
{ "key": "ctrl+shift+c", "command": "ecliptic.copySelectionAsPatch", "when": "drawerOpen" },
]
File → Keyboard Shortcuts (Ctrl+K Ctrl+S) lists every command with its
keys, when it applies and where the binding came from (Default, User, or
an extension), searchable; File → Open Keyboard Shortcuts (JSON) opens the
file in the editor, creating it from a template the first time. A user's
binding wins over an extension's, which wins over a default; the menus
show the binding in effect.