Mps logo

MPS

Language workbench to create Domain-Specific Languages

Releases

MPS 2023.3 Is Out!

In this release, MPS has adopted a new, modern-looking UI style. Under the hood, it gives you the option to document the structure of your languages and introduces improvements in several areas of the user interface, version control management, and build infrastructure.

DOWNLOAD MPS 2023.3

Check out the What’s New page to learn all about the new features we’ve added for you. Below we list the most prominent ones:

Support for the new UI

MPS has followed the other JetBrains IDEs and adopted a new, modern, and more intuitive user interface. It comes with a cleaner layout, an updated design, new color schemes, and re-designed visual elements, such as icons and tool windows.

The traditional UI remains the default for the time being, but we encourage you to give the new one a try. Not only is it more pleasing to the eye, but we believe it offers a more efficient workflow, as it follows the principles of productive human-to-computer interaction.

To motivate you to make the shift, we recommend checking out the New UI page, which summarizes its key benefits.
MPS with the new UI
Since this is a fairly new addition to MPS, you may discover some rough edges here and there. Please report (TODO link to YT) any UI-related issues so we can fix them without delay.

For your standalone IDEs that are built with MPS, the traditional UI is the default option at the moment. If language designers decide to enable the new UI in their IDEs, they should follow the instructions provided in the documentation.

Documentation facet

There’s a new Documentation facet for writing and generating documentation for concepts in the structure aspect. It allows you to:

  • Write documentation as text using a dedicated language embedded into the structure language.
  • Perform a quick preview of the documentation in an in-editor tooltip.
  • Generate HTML documentation.

Read more about this new feature in the MPS documentation.
MPS with the new UI

Updated dialog design for tooltips

We’ve reimplemented the popup message that displays tooltips. It can now show additional information, such as the documentation specified through the new Documentation facet. In the lower right-hand corner of the popup, the message offers additional actions, including the option to open the displayed piece of documentation in the Documentation tool window.
The old tooltip popup dialog
The new tooltip popup dialog

Inspector tool window position change

If you have tried the new UI in an earlier version of MPS, you might have noticed that the Inspector tool window button was located in the bottom left-hand corner of the screen. Although we have now moved it to the bottom-right, your settings may still contain the original bottom-left position if you choose to copy them from previous MPS installations.

In such cases, we recommend manually moving the Inspector tool window to the bottom-right part of the tool window bar, as this is where we think it fits best. Just drag it there with your mouse. You are of course free to place it anywhere you like, though.
The Inspector tool window position change

Ability to convert concepts into interface concepts

An updated intention action is now available to help language designers quickly and painlessly convert concept declarations into interface concepts, and vice versa. This is typically needed in the early stages of development, when the fundamental ideas are still to be discovered and so the structure of your new language is rather fluid and requires frequent changes.

Unlike in earlier versions, the intention action now helps ensure that all of the concept’s aspects, as well as references from models, are preserved.
The Convert Concept intention in the intentions menu

Improved dependency detection during the make process

When a user model is made or rebuilt, the Make subsystem now considers the model’s dependencies and makes the required ones automatically. This makes the whole process more robust.

This option can be turned on and off in Settings | Advanced Settings | Make/Rebuild to balance the correctness of the make process with its performance.
The Make Dependencies settings

Show History action for modules in the Logical View tool window

The popup menu that appears when you right-click on a module in the Logical View tool window now includes an option to show the Git history for that module. It will show the history of all files in the module directory as well as its subdirectories.
The MPS history

VCS: Git menu for root nodes in the Logical View tool window

The Git menu is now available on root nodes displayed in the Logical View tool window. This brings all the actions you frequently need, like Show Node History and many others, much closer to your fingertips.
Git menu for root nodes

Group file changes by extension

The dialogs that display VCS changes may end up showing a lot of files that have changed. To make organizing these lists of files easier, we’ve made it possible to sort them by file extension in addition to the previously available option to sort by directory. This applies to lists in dialogs and windows like the Diff and Changes tool windows, the Git tool window, or the context menu of the Pull Requests tool window.
The group changes by extension option
You can find a full list of fixed issues here.
Your JetBrains MPS team

image description