how to create a wizard for creating my custom language in Stand alone application

Hi,
I have created a custom DSL and a stand alone project for the same .Now we want to add a new wizard for the language editor in the Stand alone application.Currently when MPS stand alone application  is opened we are  getting a wizard for creating a new solution project ,instead we want our custom wizard to be opened and language dependency to be added at the same time. Thanks in advance
8 comments
Hi manojbvn4u,

Yes, it is possible. But now the only way - add it through IDEA extension point.

Look at two interfaces:
jetbrains.mps.workbench.dialogs.project.newproject.ProjectTemplatesGroup
jetbrains.mps.workbench.dialogs.project.newproject.MPSProjectTemplate
prettyPrint(); The first one used to create new group, second - describes project template.

For example SolutionProjectsGroup describes Development group and contains DefaultSolutionProjectTemplate witch contains description of template, settings ui and have method to fill project with what ever you want (as adding language dependency).
Group is registered via xml like this:
<mps.projectGroupTemplateEP implementation="jetbrains.mps.workbench.dialogs.project.newproject.SolutionProjectsGroup"/>
prettyPrint(); And template like this:
<mps.solutionProjectTemplateEP implementation="jetbrains.mps.workbench.dialogs.project.newproject.DefaultSolutionProjectTemplate"/>
prettyPrint();
Can either add you own group or add templates to existing groups.
0

Hi Victor,

I just came across this thread and it is exactly what I'm trying to achieve right now. My only question is where I need to put that XML information? I have implemented both of the interfaces you mentioned in a MPS plugin solution and now I need to specify the xml configuration. 

 

Best regards

Phillipp

0

Hi Phillipp,

In first place this extension is handled by IDEA platform system. So XML must go to specific plugin.xml file.

But there is other way:

Add plugin solution and add your solution to its dependencies (skip if your solution is plugin solution itself):

Then add root "Application plugin"

In this root you need to register your extension. In fact it will do the same, as adding plugin.xml:

Rebuild solution and your group with its project templates should appear in Project Wizard:

Here code for group and project template:

1

Hello Victor, 

thank you for providing that quick and detailed answer. This solved the issue.

0

Hi Victor, 

I have just one more question. When I try to include this plugin into my standalone MPS build script everything is build without any errors but the extension of the "new project" wizard does not show up. Is there anything special I need to do in order to enable this in a standalone build?

0

I can answer my own question now. I somehow deleted the StandalonPluginDescriptor node in the plugin model. Adding this again enabled the wizard in the MPS standalone build :-)

0

>Then add root "Application plugin"

This works, however it creates "1-step wizard". Is there a way to ask more parameters before project creation? (e.g. next-next-prev like in IDEA)

0

Unfortunately now it is only one step wizard, but you can always create some custom UI for additional parameters by implementing getSettings() method of MPSProjectTemplate, which returns JComponent to insert into wizard dialog.

0

Please sign in to leave a comment.