Last version of the Early Access Program for MPS 2018.3 is ready
This is our last version of the Early Access Program for 2018.3, which means feature development is put on hold and we’re focusing only on proper integration of the new features and fixing bugs.
This version introduces new actions to find deprecated code, improved conflict resolution, customization of tips and tricks, and custom packages for BaseLanguage classes.
Improved conflict resolution
Previously, it was impossible to apply changes from both local and remote sides, as applying from one side simply rejected the changes from the other.
For children in multiple roles, it is not convenient if both changes are applied. This why now, after you apply changes from one side of the conflict, the other conflicting changes are converted into an addition at the end of the changed group. You can apply or ignore them separately.
After applying the left version of the conflict, you still can apply or ignore the line from the right side:
New actions to find 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 recognize their severity and prioritize their elimination. In addition, we’ve reviewed our own deprecations in MPS code and added some additional migrations to help you minimize the amount of deprecated code in projects using MPS.
Custom packages for BaseLanguage Classes
For a long time, the only way to manage Java packages of generated classes was through the name of a containing model:
In the previous screenshot, we’ve got 3 BaseLanguage roots in a jetbrains.mps.samples.files.blpack model. The generated code used to end up in a package with the same name.
However, with the new Classifier property ‘packageName’, you can manage the Java package of a generated class. The property is available for root classifiers:
The generated code for the model now uses the property:
with files arranged appropriately:
Tips & Tricks
The default Tips & Tricks for MPS can now be customized. This can be done with the new tips & tricks concept in the build script:
Tips can be reused from the general MPS distribution, or imported from a directory or solution:
- The first option, “from MPS,” just adds all MPS tips to the final distribution. This is the default option for the build script generated with the wizard.
- The second option, “from directory,” requires you to manually create a folder with the correct structure of the tips and an IdeTipsAndTricks.xml file. The correct structure can be obtained from mps-tips.jar.
- The last option, “from solution,” lets you use the jetbrains.mps.build.tips and jetbrains.mps.core.xml languages to quickly create basic tips in MPS itself.
Finally, tips must be packaged into a build script layout in the /lib folder. In the build script generated with the wizard, MPS tips & tricks are packaged in the /lib folder by default:
Tips & Tricks language
To import tips & tricks from a solution, create a solution with a model and add the languages jetbrains.mps.build.tips and jetbrains.mps.core.xml to model the used languages. Then you can create an instance of the MPSTipsAndTricks concept, where multiple tips can be created.
Each tip is HTML-formatted text and may include up to one image:
A solution with the MPSTipsAndTricks concept will generate a special xml (in the /source_gen folder) which knows how to package tips & tricks in the distribution:
Have a nice day!
Your JetBrains MPS Team
The Drive to Develop
Subscribe to Blog updates
Thanks, we've got you!
MPS Community Meetup 2023 is happening!
The MPS Community Meetup is back! Join us for the MPS Community Meetup 2023 in Munich on May 11 and 12. Like previous years, the event will be a series of talks from the community and the MPS team sharing the product’s status. Register today! The call for speakers is open! We are accepting talks…
Early Access Program for MPS 2022.2
As previously mentioned, we decided to skip MPS 2022.1 as we were too busy fixing issues from the last release and didn’t have enough time to prepare the new functionality. Now we have new features to present to give you a glimpse of what’s to come in MPS 2022.2. DOWNLOAD MPS 2022.2 EAP Annota…
MPS Is Skipping the 2022.1 Release
MPS 2022.1 was supposed to be released this month, but we unfortunately have to announce that this is not going to happen. The previous release, MPS 2021.3, was released late, which gave us a shorter time frame for fixing the bugs of the new features, while also developing functionality for MPS 2022…
The MPS 2021.2 Bug Fix Is Here
This is a special minor release containing primarily fixes that were requested by our support contract clients. In case you haven’t heard about our support program, we provide professional services to our clients to help them use MPS to achieve their goals faster. This business model allows us to ke…