Child pages
  • What's new in MPS 2018.3 (draft)
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 30 Next »

EAP1 (was published on 11.09.18)

Behavior methods overridden/implemented icons

Behavior methods have been equipped with the icons similar to the BaseLanguage java methods.

Accordingly one can click on the icon and navigate to one of the overridden/implemented methods if needed.

Build language BuildMpsLayout_TestModules construction

The test modules run configuration construction in the build language has been extended with a possibility to specify additional idea plugins which ought to be loaded on the MPS ant test execution.

The plugins required for the MPS ant test execution used to be calculated automatically, although it appeared that there are scenarios when the test needs a particular plugin in its environment, which could not be deduced from the modules containing the tests by the MPS build language engine.

Now one is able to ensure that the plugin he needs is present during the MPS ant test execution.

Generator language 

$INCLUDE$ macro has been deprecated and there's a migration to replace its instances with $CALL$. Former didn't support templates with arguments and there's no reason to keep two mechanism to invoke a template.

$WEAVE$ macro and weaving rules can invoke templates with arguments now

When interpreted template weaves an external template from 'compiled' generator, it is no longer interpreted but compiled template code is executed.

'Compiled' templates may weave interpreted templates now

QueriesGenerated, collection of queries from a template model, no longer uses Java reflection (in fact, this is the change I forgot to mention in 2018.2. Though this one is not high importance to end-user unless he looks into source code or digs through exception stacktraces, it's a notable change in the way generator had worked for years)

EAP2 (was published on 18.09.18)

Reusable cell action maps

Cell action map items from an existing action map can be reused in a new action map via imports.

EAP3 (was published on 26.09.18)

EAP4 (was published on 02.10.18)

EAP5 (was published on 08.10.18)

EAP6 (was published on 17.10.18)

Support Touch Bar for Mac Book

Initial support:

  • MPS actions are now avaliable in Touch Bar
  • List of actions depends on context and used modification key
  • Custom user actions and action groups can be added to Touch Bar by adding to one of predefined InterfaceGroups
    • IDEATouchBarDefault
    • IDEATouchBarDefault_alt
    • IDEATouchBarDefault_cmd
    • IDEATouchBarDefault_cmd_alt
    • IDEATouchBarDefault_shift
    • IDEATouchBarDebug

Idea announce can be used as template:

Can be added to help:

Hight Contrast Theme

MPS-28772 Enable High Contrast theme in MPS
Support new feature from Idea in MPS

EAP7 (was published on 26.10.18)

Conflict resolving in merge dialog for children in multiple role changed

Before it was not possible to apply changes from both sides (local and remote): applying from one side just rejects change from the other side. For children in multiple role it is not convenient if both changes are applicable.

Now after applying changes from one side of the conflict the other conflicting changes are converted to the addition into the end of the changed group and it is possible to apply or ignore them separately.

For example:

After applying left version of the conflict you still can apply or ignore the line from the right side:

Fixed and improved actions for working with deprecated code

Find Usages of Deprecated can find all usages of deprecated elements. Now, the report of the found usages groups the entries by the expected version of code removal, so it's easier to recognise their severity and prioritise their elimination. In addition, we've reviewed our own deprecations in MPS code and added some additional migrations to help you minimise the amount of deprecated code in projects using MPS.

Custom packages for BaseLanguage Classes

For a long time, the only way to control Java packages of generated classes was name of a containing model:

Here, we've got 3 BaseLanguage roots in a jetbrains.mps.samples.files.blpack model. Generated code used to end up in a package with the same name.

However, with a new Classifier property 'packageName', it's possible to control Java package of a generated class. The property is available for root classifiers:





Generated code for the model now uses the property:

with files arranged properly:

Tips & Tricks

Now default Tips & Tricks for MPS can be customized.

This can be done with build script new tips & tricks concept:

Tips can be reused from MPS general distribution, imported from directory or from solution:

  • First option just add all MPS tips to final distribution. This is default option for build script generated with wizard.
  • Second one required manually created folder with correct structure of tips that can be obtained from mps-tips.jar itself. You need folder that contains html files, css and images folders.
  • Last option allows to use and jetbrains.mps.core.xml languages to quickly create basic tips in MPS itself.

Finaly tips must be packaged into build script layout to the lib folder. In build script generated with wizard MPS tips & tricks are packaged to lib folder by default:

Tips & Tricks language

To import tips & tricks from solution, create solution with model and add languages and jetbrains.mps.core.xml to model used languages.

Then you can create instance of MPSTipsAndTricks concept, where multiple tips can be created.

Each tip is HTML formated text. One image can be added to each tip:

Importing from solution to build script tips & tricks by pointing to solution and generated xml from MPSTipsAndTricks concept:

  • No labels