MPS 2018.3 Beta is out

The first beta version for this new version is ready for you to try. The Beta includes a more user-friendly wizard and scripts for the Rich Client Platform (RCP) build, and fixes for some merge conflict issues.

Download MPS 2018.3 BETA

We are doing a lot of bug fixing, so please keep reporting them in our issue tracker. You can see the complete list of bugs fixed here.

Have a nice day!

Your JetBrains MPS Team

The Drive to Develop
MPS 2018.1

Posted in Announcement | Tagged , , , | Leave a comment

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.

Download MPS 2018.3 EAP

 

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.

For example:

Conflict_1

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

Conflict_2

 

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.

Deprecated_1

 

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:

BLClasses_1

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:

ClassConcept:

BLClasses_2

Interface:

BLCLasses_3

EnumClass:

BLCLasses_4

The generated code for the model now uses the property:

BLClasses_5

with files arranged appropriately:

BLClasses_6

 

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_1

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

Tips_2

  • 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_3

 

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:

TipsLanguage_1

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:

TipsLanguage_2

 

Find the complete list of all the bugs fixed here and keep reporting issues on our tracker.

 

Have a nice day!

Your JetBrains MPS Team

The Drive to Develop

MPS 2018.1

Posted in Announcement | Tagged , , , , , | Leave a comment

The bug fix 2018.2.5 is here!

We have solved some critical issues for this version. These were the main issues we have worked out:

  • Editor tests were failing. (MPS-28578)
  • Java stubs support JDK8. (MPS-20439)
  • Ant builds sometimes crashed. (MPS-28795
  • Starting a language from scratch improvements. (MPS-20611)

Download MPS 2018.2.5

Check the complete list here and keep using our issue tracker to report bugs.

 

Have a nice day!

Your JetBrains MPS Team

The Drive to Develop
MPS 2018.1

Posted in Announcement | Tagged , , , , , | Leave a comment

Touch Bar support for Mac in MPS 2018.3 EAP6!

With the Touch Bar in the new MacBook, Apple brought a new host of opportunities for the creators of the application. In MPS we don’t want to fall behind, so we are exploring new possibilities with using the touch bar. The Touch Bar is located above the keyboard on supported Apple MacBook Pro models. It provides additional controls for quick access based on the current context.

Download MPS 2018.3 EAP

  • The default context is used most of the time:

It includes controls for running, building, and debugging the application, with the ability to quickly select or create a new run/debug configuration. It also provides VCS controls for updating your project and committing changes, which can be replaced in some contexts.

default_bar

  • The debugger context is used when the focus is on the Debug Tool Window.

It includes controls to stop, pause, and resume the debugger, as well as stepping through and evaluating expressions.

debugger_bar

  • The Touch Bar with dialog confirmation buttons

When the focus is on a dialog, the confirmation controls are displayed (for example, Cancel, Apply, OK, and other relevant buttons).

dialog_bar

 

The Touch Bar actions can be configured. If you have a laptop with a Touch Bar, there is now a new Touch Bar page under Preferences | Appearance & Behavior | Menus and Toolbars.
Screen Shot 2018-10-22 at 11.10.09

We are nearing our final release of MPS 2018.3, so please keep reporting your bugs on our issue tracker.

 

Have a nice day!

Your JetBrains MPS Team

The Drive to Develop
MPS 2018.1

Posted in Announcement | Tagged , , , , | Leave a comment

Early Access Program 5 of MPS 2018.3

The new version is really shaping up with every EAP. For this new version, we have made some improvements and fixed a critical failing test bug.

Download MPS 2018.3 EAP

These are the new improvements for this EAP:

  • Integration of CodeStyleFacadeImpl. (MPS-28657)
  • We have solved a critical bug that was failing type system tests. (MPS-28717)
  • Dialog error in the IDEA plugin. (MPS-28604)
  • Improvements for presenting errors in the Node Explorer. (MPS-25668)
  • Better wording for the action “Paste as Java Statements”. (MPS-25970)

Find the complete list of all the bugs fixed here and keep reporting issues on our tracker.

Have a nice day!

Your JetBrains MPS Team

The Drive to Develop

MPS 2018.1

Posted in Announcement | Tagged , , , , , , | Leave a comment

Let’s welcome the new version of the Early Access Program of MPS 2018.3

When September ends 🎧🎧, October comes with a new version of EAP. This is just one step towards the major release of MPS 2018.3.


Download MPS 2018.3 EAP

You can expect the following improvements for this version:

  • Fixed a critical bug because some of our commands were not working. (MPS-28597)
  • Changes in some labels in our settings to improve the user experience. (MPS-25861 and MPS-25860)
  • Smodel improvements (MPS-24474)
  • And more!

See the complete list here. Keep reporting bugs on our issue tracker.
Have a nice day!

Your JetBrains MPS Team

The Drive to Develop

MPS 2018.1

Posted in Announcement | Tagged , , , , , | Leave a comment

The new version of the Early Access program is ready

For this version of the early access program, we have some improvements in the Generator and Base languages. You can see the full list of features and bugs fixed here.
We are preparing more features for 2018.3, so stay tuned!


Download MPS 2018.3 EAP

Have a nice day!

Your JetBrains MPS Team

The Drive to Develop

MPS 2018.1

Posted in Announcement | Tagged , , , , , , | Leave a comment

New Bug fix for 2018.2!

We have prepared a new bugfix version for MPS 2018.2. Check out the whole list of fixed bugs. Keep using our issue tracker to report any problems.

Have a great week!

Your JetBrains MPS Team

The Drive to Develop

MPS 2018.1

Posted in Announcement | Tagged , , , | Leave a comment

The Early Access Program for MPS 2018.3 is here

Try our new Early Access Program for MPS 2018.3. For this version, we have prepared some improvements for you. Expect improvement to the Build language, Editor, Generator, and more.

Download MPS 2018.3 EAP

 

New construction in the Build Language

The test module configuration in the build language has been extended. Now it is possible to specify additional IntelliJ IDEA plugins which must be loaded when MPS ant tests are executed.

Screen Shot 2018-09-11 at 13.17.23

The plugins required for MPS Ant test execution used to be calculated automatically. However, there are scenarios when the test needs a particular plugin in its environment, which the MPS build language engine could not deduce from the modules containing the tests.

Now you can ensure that the plugin you need is present during the MPS Ant test execution.

Reusable cell action maps

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

 

Generator language

The $INCLUDE$ macro has been deprecated and there’s a migration to replace its instances with $CALL$. The former did not support templates with arguments, and there’s no reason to keep two mechanisms to invoke a template.

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

When an interpreted template weaves an external template from a ‘compiled’ generator, it is no longer interpreted, but the compiled template code is executed.

‘Compiled’ templates may weave interpreted templates now.

The collection of queries from a template model, also known as QueriesGenerated, no longer uses Java reflections.

 

New icon for behavior methods overridden or implemented

The behavior methods have been equipped with a new icon. Click on it to display the list of all the methods overridden and implemented.

BC_behavior

The following screenshot shows the list of methods of getPresentation() overridden or implemented, and you can navigate from there.

Screen Shot 2018-09-11 at 13.26.45

We are working to bring you more features and fewer bugs for MPS 2018.3. See the complete list of fixed issues here. Please report any bugs on our issue tracker!

 

Have a great weekend!

Your JetBrains MPS Team

The Drive to Develop

MPS 2018.1

Posted in Announcement | Tagged , , , , , , | Leave a comment

MPS 2018.2.3 is available!

For this version, we fixed a critical bug for migration and some other exceptions that we received. Find the complete list here. Don’t forget to use our issue tracker to report any bugs you find.

Have a great weekend!

Your JetBrains MPS Team

The Drive to Develop

800x400_blog

Posted in Uncategorized | Leave a comment