Xamarin Workbooks Editor Keyboard Shortcuts

The Return Key, and its nuances

The following table describes the various key bindings for executing code and authoring markdown. We have taken great care to choose sensible and consistent key bindings that are both familiar and fluid.

Key Binding Code Cell Markdown Cell
Return

If the caret is at the end of the cell buffer and the cell can be successfully parsed, it will be executed and results will be displayed below the buffer, and a new code cell will be inserted and focused cell after the executed cell.

If parsing is not succesful, a new line will be inserted into the buffer. Compiler diagnostics will not be produced if parsing is not successful.

Return exhibits different behavior depending on the Markdown context at the caret.

  • If the caret is in a Markdown code block, a literal new line is inserted.
  • If the caret is in a Markdown list block, create a new list item or split the current list item.
  • If the caret is in any other type of Markdown block, create a new paragraph block or split the current block.
Mac
Command‑Return
Win
Control‑Return

Always attempts to parse and execute the cell contents. If compilation is successful, results (including execution exceptions) will be displayed below the buffer, and if there are no subsequent cells, a new one will be created and focused.

If there are any compilation errors, diagnostics will be displayed and the buffer will remain focused with the caret position unchanged.

Inserts and focuses a new code cell after the current markdown cell.
Mac
Command‑Shift‑Return
Win
Control‑Shift‑Return
Inserts and focuses a new markdown cell after the current cell. Same behavior as Return
Shift‑Return Always inserts a new line, regardless of caret location or content. Inserts a hard line break within the current Markdown block.

Xamarin Workbook

If it's not already installed, install the Xamarin Workbooks app first. The workbook file should download automatically, but if it doesn't, just click to start the workbook download manually.