The basic idea of domain specific languages is to provide domain experts with an easy to use language for their modeling needs. However, a domain specific language is always tied to a tool for editing the model. With Xtext, this is obviously Eclipse. Eclipse provides some rich editing features, especially for navigating in models.
Most existing cheat sheets refer to the Java IDE of Eclipse, which you cannot give to domain experts because it contains elements not relevant to them (debugging) or have a slightly different meaning.
So here is an attempt of a small cheat sheet for Xtext end users (domain experts):
Editing
ALT-Left and ALT-Right |
Back / forward |
Go back and forward in history of where you were in editors |
CTRL-PgUp and CTRL-PgDown |
Cycle tabs | Cycle through tabs of open editors |
CTRL-Up and CTRL-Down |
Scroll | Scroll line up and down |
CTRL-M |
Maximize | Maximize / Restore current editor window |
CTRL-W |
Close | Close Current Editor |
CTRL-D |
Delete Line | Delete Current Line |
CTRL-/ |
Toggle Comment | Toggle Comment for line / selection |
CTRL+SHIFT-F |
Format | Auto format |
ALT-UP / ALT-Down |
Move | Move current line / selection one line up / down |
CTRL-Q |
Last Edit | Go to last edit location |
CTRL-L |
Goto | Go to line |
Model Editing
Ctrl-Shift-G |
Find References | Find all elements that refer to the current element |
F3 or CTRL-MouseClick |
Follow Link | Follow reference under cursor |
Ctrl-O |
Pop up Outline | Pops up an outline for easy navigation / filtering |
CTRL-1 |
Quick Fix | Quick Fix of Errors (where provided by DSL designer) |
CTRL-SPACE |
Content Assist | Get suggestions of possible values |
ALT-SHIFT-R |
Rename | Rename current element (will rename other occurrences as well. |
CTRL-SHIFT-F3 |
Open Model element | Locate a model element in your workspace (only exported elements are listed) |
ALT-SHIFT-Up / Down |
Expand selection | Expand selection to containing element |