Creating an MPS language Idea-Plugin with Actions/KeyMaps/...
Hi,
my language has a plugin facet which defines actions, action groups, key maps, and so on. However I cannot build the language as an idea plugin because while compiling (running the build script) I get the following errors:
Is there any way to make actions, key maps etc. available for Idea?
my language has a plugin facet which defines actions, action groups, key maps, and so on. However I cannot build the language as an idea plugin because while compiling (running the build script) I get the following errors:
java.compile.DbUnitDsl: [mkdir] Created dir: C:\MPS-Projects\db-testdata-dsl7\build\tmp\db-testdata-dsl\java\out\DbUnitDsl [javac] Compiling 211 source files to C:\MPS-Projects\db-testdata-dsl7\build\tmp\db-testdata-dsl\java\out\DbUnitDsl [javac] C:\MPS-Projects\db-testdata-dsl7\languages\DbUnitDsl\source_gen\DbUnitDsl\plugin\DbUnitDsl_ApplicationPlugin.java:5: package jetbrains.mps.plugins.applicationplugins does not exist [javac] import jetbrains.mps.plugins.applicationplugins.BaseApplicationPlugin; [javac] ^ [javac] C:\MPS-Projects\db-testdata-dsl7\languages\DbUnitDsl\source_gen\DbUnitDsl\plugin\DbUnitDsl_ApplicationPlugin.java:7: cannot find symbol [javac] symbol : class Tools_ActionGroup [javac] location: package jetbrains.mps.ide.actions [javac] import jetbrains.mps.ide.actions.Tools_ActionGroup; [javac] ^ [javac] C:\MPS-Projects\db-testdata-dsl7\languages\DbUnitDsl\source_gen\DbUnitDsl\plugin\DbUnitDsl_ApplicationPlugin.java:13: cannot find symbol [javac] symbol: class BaseApplicationPlugin [javac] public class DbUnitDsl_ApplicationPlugin extends BaseApplicationPlugin { [javac] ^ [javac] C:\MPS-Projects\db-testdata-dsl7\languages\DbUnitDsl\source_gen\DbUnitDsl\plugin\EntityResourceXMLWriter.java:9: warning: com.sun.org.apache.xml.internal.serialize.OutputFormat is Sun proprietary API and may be removed in a future release [javac] import com.sun.org.apache.xml.internal.serialize.OutputFormat; [javac] ^ [javac] C:\MPS-Projects\db-testdata-dsl7\languages\DbUnitDsl\source_gen\DbUnitDsl\plugin\EntityResourceXMLWriter.java:12: warning: com.sun.org.apache.xml.internal.serialize.XMLSerializer is Sun proprietary API and may be removed in a future release [javac] import com.sun.org.apache.xml.internal.serialize.XMLSerializer; ...
Is there any way to make actions, key maps etc. available for Idea?
Please sign in to leave a comment.
Actions are included into IDEA differently that into MPS, so you have to write a specific IDEA integration solution for them. To use your actions in IDEA and MPS you can split your code into 3 parts:
For the latter, create IdeaActionDescriptor and add groups and keymaps there (see how it's done in a model jetbrains.ide.platform.actions, node PlatformActions). Instead of ordinary action groups, create "plugin.xml" action groups (set "register via plugin.xml: true" in action group inspector). Same for keymaps. IdeaActionDescriptor generates an xml which you can include into plugin.xml file of your idea plugin.
--
Julia