Keyboard shortcuts
Press F1 in the editor for a searchable version of this list. On macOS, Cmd works wherever a global shortcut says Ctrl.
Global
Section titled “Global”These work anywhere, even while you type in the code editor.
| Keys | Command |
|---|---|
| Ctrl+N | New form |
| Ctrl+Shift+N | New component |
| Ctrl+O | Open |
| Ctrl+P | Go to file |
| Ctrl+Alt+O | Open recent project (the project picker) |
| Ctrl+S | Save |
| Ctrl+Shift+S | Save as |
| Ctrl+, | Settings |
| Ctrl+K Ctrl+S | Keymap editor |
| Ctrl+Shift+P | Command palette |
| Ctrl+Shift+A | Add control |
| Ctrl+B | Show or hide the left dock |
| Ctrl+Alt+B | Show or hide the right dock |
| Ctrl+J | Show or hide the bottom dock |
| Ctrl+Shift+Y | Console |
| Ctrl+Shift+U | Logs |
| Ctrl+Alt+A | Show the Agent panel |
| Ctrl+Alt+I | Inline assist in the code editor |
| F5 | Run |
| Shift+F5 | Stop |
| F7 | Edit code file |
| F1 | Keyboard shortcuts |
| Shift+F1 | Reference of the selected control or of the name under the cursor |
While a dialog is open, only the palette, Settings, Keyboard shortcuts and Keymap editor keys act; the others wait until it is closed.
Canvas
Section titled “Canvas”These act when the canvas has the keyboard: after you click the form, a control, a toolbox row or an outline row. Moving the pointer into a dock gives the keyboard to that panel (so typing in a field never moves a control), and the code editor keeps it while you type; click the canvas again to get the canvas shortcuts back.
| Keys | Action |
|---|---|
| ← → ↑ ↓ | Move the selection by 1 px |
| Shift+arrows | Move it by one grid step (1 px with snapping off) |
| Delete, Backspace | Delete the selection |
| Ctrl+C | Copy |
| Ctrl+X | Cut |
| Ctrl+V | Paste |
| Ctrl+D | Duplicate |
| Ctrl+A | Select every control |
| Ctrl+G | Group the selection in an invisible panel |
| Ctrl+Shift+G | Ungroup: take the children out of the selected container |
| Shift+A | Add auto layout: wrap the selection in a flex row or column |
| Ctrl+Z | Undo |
| Ctrl+Shift+Z, Ctrl+Y | Redo |
| Enter | Open the code of the selected control’s main event |
| G | Show or hide the grid |
| Esc | Cancel a drag, close a menu, or drop the placing tool and go back to the pointer |
| Gesture | Action |
|---|---|
| Click | Select a control (on a selected one: make it the primary one) |
| Drag a control | Move the selection; drop on a container to put it inside |
| Drag a handle | Resize |
| Drag on an empty spot | Rubber-band selection |
| Double-click a control | Open its main event’s code, or a designed component in its tab |
| Right-click | Context menu |
| Drag a number sideways (Properties) | Lower or raise it; double-click it to type |
| Drag from the toolbox | Place a control where you drop it |
| Drag an outline row | Reorder, or move into another container |
| Drag the grip under the form | Resize the form |
| Ctrl+wheel in the code editor | Font size |
| Ctrl+click in the code editor | Go to the definition |
| Rest the mouse on a name in the code editor | Its type, documentation and problems |
Lists, palettes and dialogs
Section titled “Lists, palettes and dialogs”| Keys | Action |
|---|---|
| ↑ / ↓ | Move in the command palette and Add control |
| Enter | Run the highlighted command, add the highlighted control, submit a dialog’s field |
| Esc | Close the dialog, palette or menu |
Project tree
Section titled “Project tree”After a click in the Project tab’s tree:
| Keys | Action |
|---|---|
| ↑ ↓ | Move the selection |
| ← → | Close / open the folder |
| Enter | Open the file |
| Ctrl+N / Alt+N | New file / new folder |
| F2 | Rename |
| Ctrl+X / Ctrl+C / Ctrl+V | Cut / copy / paste |
| Ctrl+D | Duplicate |
| Ctrl+Z / Ctrl+Shift+Z | Undo / redo a file change |
| Delete / Ctrl+Delete | Move to the trash / delete for good |
| Ctrl+Alt+R | Reveal in the file manager |
| Ctrl+Shift+Enter | Open in the default app |
| Alt+Shift+C / Ctrl+Alt+Shift+C | Copy the path / the relative path |
Code editor
Section titled “Code editor”| Keys | Action |
|---|---|
| Ctrl+Space | Show completions |
| ↑ / ↓ | Move in the completion list (wraps around) |
| Page Up / Page Down | Move nine rows in the list, or a page in the code |
| Enter, Tab | Accept the completion |
| Esc | Close the completion list |
| F12 / Ctrl+F12 | Go to the definition / the type’s definition |
| Alt+← / → | Go back / forward |
| Shift+F12 | Find all references |
| F2 | Rename the symbol |
| Ctrl+. | Quick fixes and refactorings |
| Alt+Shift+O | Organize imports |
| Tab | Indent with spaces |
| Enter | New line, keeping the indentation (one level more after :) |
| Backspace | In the indentation, remove one level |
| Ctrl+Shift+[ | Fold the block around the cursor |
| Ctrl+Shift+] | Unfold it |
| Ctrl+= / Ctrl+- / Ctrl+0 | Bigger, smaller, default font |
| Ctrl+← / → | Move by word |
| Ctrl+Home / End | Start or end of the code |
| Shift+movement | Select |
| Ctrl+A, Ctrl+C, Ctrl+X, Ctrl+V | Select all, copy, cut, paste |
| Ctrl+F / Ctrl+H | Find / find and replace |
| F3 / Shift+F3 | Next / previous match |
| Ctrl+G | Go to line |
| Alt+Z | Wrap long lines on or off |
| Alt+click | Add a cursor |
| Ctrl+Alt+↑ / ↓ | Add a cursor above / below |
| Ctrl+D | Select the next match as another cursor |
| Ctrl+Shift+L | Select every match |
| Alt+↑ / ↓ | Move the line up / down |
| Alt+Shift+↑ / ↓ | Duplicate the line up / down, on every cursor (also Ctrl+Alt+Shift+↑ / ↓) |
| Ctrl+Shift+D | Duplicate the selection of every cursor (the line without one) |
| Ctrl+Shift+K | Delete the line |
| Ctrl+/ | Toggle comment |
| Ctrl+Z / Ctrl+Shift+Z | Undo / redo |
| Ctrl+K Ctrl+0 / J | Fold / unfold everything |
The full list is in the code editor component. Every one of these keys can be changed in the keymap editor.