Let me tell you about something awesome that I have been working on with Mike Vlassiev from the JetBrains people (or rather, they have been working on it and I have done testing and provided feedback): the MPS Extensions (https://github.com/JetBrains/MPS-extensions) are now automatically made available on the JetBrains marketplace on every new MPS and MPS Extensions release.
This means that from now on all the MPS (https://www.jetbrains.com/mps/) plugins provided by MPS Extensions (https://jetbrains.github.io/MPS-extensions/extensions/plaintext-gen/) can be simply installed through File –> Settings –> Plugins –> Marketplace.
Why is that cool? Well, the MPS Extensions, which are maintened by the MPS Community and curated by Itemis (https://www.itemis.com/de/), are very useful plugins which make language developers even more productive than an out-of-the-box installed MPS can do.
Some of the most prominent examples in the MPS Extensions are:
- Diagrammatic, tabular, and math notation for MPS languages (de.itemis.mps.editor.diagram, de.slisson.mps.tables, and de.itemis.mps.editor.math)
- Incrementally maintained non-editable models from existing models based on model-to-model transformations (de.q60.mps.shadowmodels)
- Template-based text generation (com.dslfoundry.plaintextgen)
- … and many more at https://github.com/JetBrains/MPS-extensions!
And now all these goodies have just been made much more accessible to novice users of MPS via the JetBrains marketplace. This also means, that dependencies for plugins are automatically resolved, which is important for MPS Extensions, since the plugins there are built with a high level of re-usability in mind (and hence dependencies over plugins exist).
I think this is a very important step in the direction of getting the results of the community accessible to new users. A next good step will be to make all the MPS Extensions directly available via one meta-package.
2 thoughts on “MPS Extensions available as plugins on JetBrains marketplace”
I don’t really like the idea of one big packages anymore. The idea of having it all together is nice for exploring the possibilities.
We had a lot of trouble in our project to reduce the installed plugins to just the used plugins amount. MPS needs very long to start otherwise.
Nice to see you here! Why do you think this is one big package? The dependencies of the plugins are respected. So if you install a plugin, then MPS will only install the plugin and its dependencies and not a huge package.
That being said, I agree very much with you that having “everything installed” is very helpful for development, so you can find things by keyword or association when you are looking for certain functionality.
So I’d like to say: for developers it’s quite useful to have all possible plugins pre-installed and for end-users (better start time, less complexity, etc.) it’s useful if only the most necessary plugins are installed. In practice, however, we see a use of many of the MPS Extensions (and some of the stuff that’s still in mbeddr platform and not yet migrated to MPS Extensions) in languages, so end-users will also have most or all plugins installed, simply because they are actually used. Maybe other use cases are different and only a smaller subset of additional plugins is used?