Mps logo


Language workbench to create Domain-Specific Languages


Coming soon in 3.4 – Contextual assistance

There are two new features in MPS 3.4 that I would like to drive your attention to today – the Context Assistant and the Context Actions Tool. Both have been inspired by the mbeddr project and both aim at making code editing easier and more intuitive, especially for novice users. Making the most relevant editing options explicitly visible to the user and accessible with mouse is part of our long-term strategy to make the MPS DSLs approachable for people outside of the narrow rank of professional developers.

Context Assistant

Context Assistant provides visual hints directly in the editor

image2016-2-3 14_40_34

The language designer defines a place (cell) in the editor, where the menu can appear, and then defines the actions using the new Transformation Menu Language.

image2016-2-18 17_57_44

The language allows for modularization, so that extending languages can contribute their own entries into the menu easily.

Read more in the Context Assistant documentation. You can also watch a short screen-cast about Context Assistant.

Context Actions Tool

Context Actions Tool is a tool window attached to the right side-bar, which can show actions applicable in the current context.


The tool window offers more room than the in-editor Context Assistant and its entries can be further grouped into collapsable submenus, which gives the language authors quite some space to use.

Read more in the Context Actions Tool documentation or check out a short screen-cast about Context Actions Tool.

Transformation Menu Language

To define the elements of both Context Assistant and Context Actions Tool the new Transformation Menu Language is being utilized. You may check out the previous post for motivation and further details about this language.

The Drive to Develop
-JetBrains MPS Team

image description