You are viewing documentation of MPS 3.4, which is not the most recently released version of MPS. Please refer to the documentation page  to choose the latest MPS version.

One option to distribute DSLs to developers for use is through dedicated IDEs. Language designers wrap a chosen set of languages together with all the required IDE functionality into a newly created custom-tailored standalone application. This application can then be used by developers and language users to edit code. Since all the language design functionality and unrelated languages have been removed, such IDEs offer less clutter, greater focus and better performance in comparison with using full-blown MPS. Administrator consoles, business rule editors or other similar types of applications are examples of the domains that these dedicated IDEs typically aim at.

Before you start

Other user guides

Frequently Asked Questions (FAQ)

Check out the FAQ document to get some of your questions answered before you even ask them.

Resolving difficulties, understanding reported errors

The Finding your way out of a problem page should give you a hand whenever you run into a problem.

Setting things up

In order to program in MPS-based languages you need to start up MPS or a standalone IDE that was built specificaly for these languages. These dedicated IDEs are essentially cut-down variants of MPS itself, which do not distract a DSL user with unrelated languages and language-design capabilities.

MPS-based IDEs are typically standalone Java applications with their own installation procedure. Please follow the instructions provided by the IDE vendor to properly setup the tool and run it.


Just like MPS itself, standalone MPS-based IDEs can be configured and customized using the Settings dialog, which you can invoke through the menu, a toolbar or using a keyboard shortcut (Control + Alt + S / Cmd + ,). Although the actual contents of the dialog may differ among different applications, they typically offer some basic settings for the editor, generator and perhaps VCS. Some may also allow to manage plugins, enable and disable individual languages or integrate third-party tools.

Please refer to the documentation of your particular tool for more details on its configuration.

Editor specialities

The clever projectional editor in MPS is slightly different from what you may be used to. Since the editor is the most visible element, which you'll get to know as soon as you start interacting with your code, we prepared a short introductory document - Comanding the editor.

Resolving difficulties, understanding reported errors

The Finding your way out of a problem page should give you a hand whenever you run into a problem.

Where to find language plugins

Languages come packaged as ordinary zip files, which you unzip into the plugin directory or the MPS-based IDE and which the IDE will load upon restart.

VCS integration

Being projectional in the world that has been built on text brings about some challenges. Integration with VCS systems is one of them. In order to be able to standard VCS systems, such as Subversion or Git, MPS provides an add-on that hooks into the important VCS events and gives you a projectional way to merge code and resolve conflicts. With this add-on installed your MPS-based IDE will give you the experience you expect from a VCS for your projectional code.

Check out the details at the Version Control page.

Did not find the answers? 
Post your questions to our discussion forum