How to trigger "Preview Generated Text" using MPS Plugin?

Currently, I'm generating a XML file out of my DSL in MPS. This XML file is then consumed by a python script which then generates C# code.

My goal is to automate this pipeline using MPS plugin. So ideally would be an extra button in MPS that triggers the whole pipeline (XML generation -> Python -> Final C# code)

Any ideas how this can be achieved? I'm aware of plugin development in MPS, but I'm missing docs on how to trigger my pipeline...


Hello. Could you please explain what do you mean by "MPS Plugin"? I seems I don't get all details of the question clearly.


Hello Maria,

by the "MPS Plugin" I mean the IntelliJ's possibility to build own plugin using "MPS Plugin language". I hope this makes it more clear.


Well, not yet. Let me then share an info around the topic and you can tell me if it works for your or not.

In MPS you can create your dsl (that is generated into text xml). You can distribute your dsl as a plugin to MPS (or a standalone application on top of MPS) or as a plugin to IntelliJ IDEA. On the latter case you can use your dsl in an IDEA project together with other text languages.

Besides dsl creation you can also create extenstion to MPS IDE using jetbrains.mps.lang.plugin and jetbrains.mps.lang.plugin.standalone languages.

And I can suggest you one community meeting where you also can try to look for a help


Ok, let be try simplify this further...

MPS or any other Intellij IDE contains the "Run" button, right? 

So, basically I need another Run button, which is mapped to my requirement "triggers the whole pipeline (XML generation -> Python -> Final C# code)"






Hi. I tried to look for an answer a bit. I was offered to use MPS plugin language + Make facets or to call generators from java code. I didn't find documentation for the latter option and was offered to look into javadoc for GenerationFacade. And this is seems some documentation about Make facets

And you seems to be already aware of MPS plugin language.


Please sign in to leave a comment.