Keyboard Shortcuts
What This Chapter Covers
This chapter lists the keyboard and mouse actions that actually work in PAIO, grouped by screen area. The names of screen areas and dialogs follow 21. Glossary. It also marks the keys whose menu label differs from their real behavior, and the keys that behave differently depending on the situation. For the layout of each area itself, see 05. UI Layout and Navigation.
On macOS, read Ctrl below as Cmd. Keys that are not in these tables are not registered, and
text editing areas follow the browser's default behavior.
PAIO shortcuts come from two sources. One is the accelerators registered by the native application
menu, which is not visible on screen (Ctrl+N, Ctrl+O, zoom, F11, and so on). The other is the
keys each editor handles directly within its own area. The distinction is described in
05.1.1.
18.1 Global
These keys work on any screen in the application.
| Shortcut | Action | Notes |
|---|---|---|
Ctrl+N | New Project | An accelerator registered by the native menu. If no workspace is open, the workspace selection dialog appears first |
Ctrl+O | Open Workspace... | An accelerator registered by the native menu. It behaves differently inside the canvas editors and the Markdown editor (see 18.11) |
Ctrl+S | Save the active editor | Each editable editor handles this itself. A Ctrl+S that no editor handles saves through the same path as the menu Save |
Ctrl+Z | Undo | Each editable editor handles this itself and reverts the single edit history that each project has. On a non-editable tab the physical key does nothing (see 18.11) |
Ctrl+Y | Redo | Editable editors and the configuration dialogs also accept Ctrl+Shift+Z for the same action |
Ctrl+X / Ctrl+C / Ctrl+V | Cut / Copy / Paste | These target text input. The Edit menu items run the browser clipboard commands |
Ctrl+A | Select all | This targets text input. The Explorer and the IVC canvas have their own behavior |
Ctrl+B | Toggle the sidebar (project Explorer) | The code editor registers the same key as Build |
Ctrl+` | Toggle the terminal panel | If no terminal exists, one is created |
Ctrl+J | Toggle the terminal panel | The menu label reads Toggle Panel, but the actual target is the terminal |
Ctrl+Shift+P | Open or close the command palette | |
F11 | Toggle full screen | An accelerator registered by the native menu |
Alt+F4 | Close the window | The OS handles this window close; it is not a key the application registers. If there are unsaved changes, the save confirmation appears first |
18.1.1 Keys That Appear in the Menu but Do Nothing Globally
The following table lists the keys that are written in the menu but do not respond globally.
| Shortcut | Menu label | Actual behavior |
|---|---|---|
Ctrl+Shift+S | Save As... | Does nothing globally. It works only inside the IVC editor and the DataType editor |
Ctrl++ / Ctrl+- / Ctrl+0 | Zoom In / Out / Reset Zoom | Clicking the menu item and pressing the key change the zoom level in different ways (see 05.7) |
Ctrl+J | Toggle Panel | Toggles the terminal panel, not the Utility panel. There is no shortcut that opens the Utility panel |
18.2 Graphical Editors (IVC · VFB)
Both editors receive the same keys, but the range in which they actually work differs. In the table below, "does nothing" means that pressing the key has no effect at all. In that case the browser's default behavior is blocked as well.
18.2.1 Keyboard
| Shortcut | IVC | VFB |
|---|---|---|
Ctrl+S | Save | Save |
Ctrl+Z | Undo | Undo |
Ctrl+Y / Ctrl+Shift+Z | Redo | Redo |
Esc | Clear the selection | Clear the selection |
Delete / Backspace | Delete the selected items | Does nothing (use DELETE in the context menu) |
Ctrl+A | Select all | Does nothing |
| Arrow keys | Move the selected items by 1 px | Does nothing |
Shift + arrow keys | Move the selected items by 20 px (one grid cell) | Does nothing |
Ctrl+Shift+S | Save IVC Diagram dialog | Does nothing |
Ctrl+O | Open IVC Diagram dialog | Does nothing |
Ctrl+C / Ctrl+V / Ctrl+X | Does nothing (copying and pasting nodes is not provided) | Same |
The canvas handles Ctrl+S, Ctrl+Shift+S, Ctrl+O, Ctrl+Z, and Ctrl+Y even when a field in
the properties panel has focus. The undo and redo keys remove focus from the field first, so the
value you were typing is committed as one operation and then reverted. The other keys (Delete,
Ctrl+A, the arrow keys, and so on) are ignored while a field has focus.
Even when you move several nodes at once with the arrow keys, undo reverts them in one step.
If you press Esc while dragging a waypoint, the drag is canceled and the path returns to its
original shape instead of the selection being cleared. No operation is recorded in the edit history
in that case.
Ctrl+Oin IVC does not open a workspace. When the IVC canvas has focus, a dialog for selecting another IVC topology file opens, and the file you choose is loaded into the current IVC editor. Likewise,Ctrl+Shift+Ssaves the IVC model to an arbitrary path, so you can create a file outside the project folder.
18.2.2 Mouse
Mouse operations on the canvas are as follows.
| Operation | Action |
|---|---|
| Left-drag on empty space | Pan the view |
| Middle-button drag | Pan the view |
Space + left-drag | Pan the view |
| Wheel (no modifier) | Pan vertically (behaves like scrolling a document) |
Shift + wheel | Pan horizontally |
Ctrl + wheel | Zoom (0.1x to 4.0x, centered on the cursor) |
Shift + drag | Connection mode |
Ctrl + click | Multi-select (toggle) |
| Double-click | Per-node configuration dialog / composition drill-down |
| Right-click | Context menu |
The canvas has no rectangular marquee selection. Left-dragging on empty space pans the view.
18.3 Configuration Dialogs
These keys apply to the IVC node, cluster, and switch configuration dialogs and to the VFB Machine Configuration, ECU Configuration, SWC Internal Behavior, and AA Internal Behavior dialogs.
| Shortcut | Action |
|---|---|
Ctrl+S | Save |
Ctrl+Z | Undo inside the dialog |
Ctrl+Y / Ctrl+Shift+Z | Redo inside the dialog |
Esc | Closes the innermost open UI, or the dialog itself if nothing else is open |
The hierarchy rule for Esc is as follows. If a transient UI such as a dropdown, a popup menu, or
an inline editor is open, that closes first and the dialog stays. Press the key again and the dialog
closes. If you try to close it with unsaved changes, the Do you want to save the changes?
confirmation appears first, and you choose among Save, Don't Save, and Cancel.
The scope of
Ctrl+Zdiffers from dialog to dialog.
- The VFB Machine Configuration, ECU Configuration, SWC Internal Behavior, and AA Internal Behavior dialogs fall through to the project edit history once the internal history is empty.
Ctrl+Zworks even right after a save, when the internal history has been cleared.- The IVC node, cluster, and switch configuration dialogs do not fall through. When the internal history is empty,
Ctrl+Zdoes nothing. A key these dialogs consume is not passed outward either, so to revert an earlier edit, close the dialog first and then undo.
The internal history of a configuration dialog keeps up to 50 steps, in both IVC and VFB.
18.4 Table-Based Model Editors
The six Signal, System, Interface, DataType, Module Definition, and Module Config (ECUC) editors are built from lists and a properties panel rather than a canvas. All six share the save, undo, and redo keys.
| Shortcut | Action |
|---|---|
Ctrl+S | Save |
Ctrl+Z | Undo (project edit history) |
Ctrl+Y / Ctrl+Shift+Z | Redo |
The undo and redo keys commit the value you were typing as one operation and then revert it. As a result the whole field edit is reverted, and the browser's character-by-character undo does not interfere.
Each editor adds the following keys.
| Editor | Shortcut | Action |
|---|---|---|
| DataType | Ctrl+Shift+S | Opens the Save DataTypes dialog to save to another path |
| Interface | Delete / Backspace | Deletes the selected interface |
| Module Definition | Delete / Backspace | Deletes the selected definition node (module nodes excluded) |
| Module Config | Delete / Backspace | Deletes the selected container instance |
| Module Config | Ctrl+D | Duplicates the selected container instance |
| Module Config | F2 | Moves focus to the first field (Name) in the properties panel and selects its value |
The Delete keys are ignored while a field, a text area, or a combo box has focus.
In a list you can move between rows with ArrowUp and ArrowDown. The type list and unit list in
DataType, the interface list in Interface, and the frame list and signals grid in Signal all use
this behavior.
The reach of these keys splits into two cases. System and DataType receive keys from the whole window while that editor is visible, and the other four require focus inside the editor area.
18.5 Code Editor (C / C++ / Rust)
The keys used in the code editor are as follows.
| Shortcut | Action |
|---|---|
Ctrl+S | Save |
Ctrl+B | Build |
Ctrl+F5 | Build & Run |
Shift+Alt+F | Format Document |
Alt+O | Switch Header/Source (.c ↔ .h, .cpp ↔ .hpp, and so on) |
Ctrl + click | Go to definition. If the language server is not running, it opens the target file for #include lines only |
Other editing shortcuts follow the Monaco defaults. For the build flow in detail, see 16. Code Editing, Build, Terminal and Documents.
18.6 XML / ARXML Editor
The keys used in the XML / ARXML editor are as follows.
| Shortcut | Action |
|---|---|
Ctrl+S | Save |
Ctrl+Z / Ctrl+Y | Undo / Redo (Monaco's own history) |
Shift+Alt+F | Format XML |
Ctrl+S and the undo and redo keys work only in edit mode. A file opens in view mode by
default, so click the eye icon at the left of the toolbar first to switch to edit mode. In view mode
the save, undo, redo, and format buttons on the toolbar are disabled as well.
For a .dbc file the format button is not shown. Only the button is hidden, however: the
Shift+Alt+F key remains live, so if you put a .dbc file in edit mode and press this key, the XML
formatting function runs.
In edit mode, typing < suggests the child elements that the AUTOSAR schema allows, through
autocompletion.
18.7 Markdown Editor
The keys used in the Markdown editor are as follows.
| Shortcut | Action |
|---|---|
Ctrl+S | Saves the document. If it has never been saved, the save location dialog appears |
Ctrl+T | Opens a new document (if you are already editing one, it opens in a separate tab) |
Ctrl+O | Opens a Markdown file selection dialog and opens the file you choose in a separate tab |
These three keys work only while the Markdown editor is visible.
The tooltips on the bold and italic buttons read Bold (Ctrl+B) and Italic (Ctrl+I), but those
keys do not work in this editor. Apply formatting with the toolbar buttons. The toolbar has six of
them: B, I, S (strikethrough), H (heading), <> (inline code), and - (bullet list).
18.8 Explorer
Mouse operations in the project Explorer are as follows.
| Operation | Action |
|---|---|
| Click | Select |
Ctrl + click | Multi-select (toggle) |
Shift + click | Range select |
| Double-click | Opens the node in the editor that fits it |
| Right-click | Context menu |
| Click the arrow (chevron) | Expand / collapse |
| Drag | Move. Only file and folder nodes can be dragged |
The keys used while a node has focus are as follows.
| Shortcut | Action |
|---|---|
Enter / Space | Expands or collapses the node if it has children, otherwise opens it in an editor |
ArrowRight | Expands a collapsed node |
ArrowLeft | Collapses an expanded node |
Delete | Deletes the selected file or folder (a confirmation dialog appears) |
Ctrl+C | Copy |
Ctrl+X | Cut |
Ctrl+V | Paste |
Ctrl+A | Select all visible nodes |
Delete does not work on structural nodes such as the workspace, a project, or a fixed folder.
Deletion is restricted to files and folders to keep a fixed folder from being removed by mistake.
18.9 Tabs
The operations available on editor tabs are as follows.
| Operation | Action |
|---|---|
Click / Enter / Space | Activate the tab |
| Middle-button click | Close the tab |
| Right-click | Close / Close Others / Close Saved / Close All |
| Drag onto the tab bar | Reorder (within the same group) or move between groups |
| Drag onto the right half of the body | Split left and right, then move to the new group |
| Drag onto the left half of the body | Move to that group without splitting |
While the tab context menu is open, move between items with ArrowUp, ArrowDown, Home, and
End, run an item with Enter or Space, and close the menu with Esc.
Splitting is supported left and right only. There is no operation that splits top and bottom. Take care with Close Others and Close All in the context menu: they close tabs without asking whether to save (see 05.3.3).
18.10 Command Palette
The keys used in the command palette are as follows.
| Shortcut | Action |
|---|---|
Ctrl+Shift+P | Open / close |
ArrowDown / ArrowUp | Move between items |
Tab / Shift+Tab | Move between items |
Enter | Run the selected command |
Esc | Close |
Of the 30 commands registered in the palette, 13 do nothing when run. Which ones they are, and what to use instead, is described in 05.6 Command Palette.
18.11 Conflicts and Pitfalls to Know
This section collects the keys that behave differently depending on the screen area.
| Key | Behavior by situation |
|---|---|
Ctrl+B | In the code editor it is registered as Build. Elsewhere it toggles the sidebar |
Ctrl+O | Default → Open Workspace / IVC canvas → load an IVC model file / VFB canvas → nothing / Markdown editor → open a Markdown file |
Ctrl+Shift+S | Default → nothing / IVC canvas → Save IVC Diagram / DataType editor → Save DataTypes |
Ctrl+J | The menu label says Utility panel, but it actually toggles the terminal panel |
Ctrl+A | Text input → select all / Explorer → select all visible nodes / IVC canvas → select all / VFB canvas → nothing |
Delete | Explorer → delete files and folders / IVC canvas → delete the selected items / VFB canvas → nothing / Interface, Module Definition, Module Config → delete the selected items |
Esc | An open dropdown or menu → close it / nothing open → close the dialog / on a canvas → clear the selection (cancel the drag if a waypoint is being dragged) |
Ctrl+Z | Editable editor → project edit history / configuration dialog → the dialog's internal history first (see 18.3) / code and XML editors → Monaco's own history / image and text viewers → nothing |
Model edits collect into a single project history, whichever editor you made them in. However, the
physical Ctrl+Z is handled by each editor, so if a tab with no edit history, such as the image
viewer, is active, pressing the key does nothing. In that case use the Edit ▸ Undo menu item or
Undo in the command palette. That path reverts the most recent model edit even when the active tab
is a non-editable editor, and it moves the view to the editor that edit belongs to. You can check
the name of the operation to be reverted in the Edit menu, and see the full list in the History
tab of the Utility panel (see 05.4.1).