How to build EMOF models in IntelliJ and generate code from them? - intellij-idea

What is the best way to build models in IntelliJ, in the style of Eclipse EMF ?
Is there an equivalent of Eclipse EMF in IntelliJ ?
And is there something that adheres to standards such as EMOF in the same way that EMF Ecore is aligned to it ?
I found a plugin that seems to help with that here, but I am wondering if there are other/better options.

Checkout the Working with Diagrams docs. JetBrains provides UML modeling and supports both forward and reverse engineering. Although this is not EMF, it appears to be IntelliJ's equivalent in terms of functionality.
Note this feature is exclusive to the IJ Ultimate Edition.

Related

Integrate MPS with other JetBrains IDE

Is it possible to well integrate MPS based DSL other IntelliJ IDEs like PhpStorm?
Most wanted features are handling files by its types (*.ext pattern) and PHP files generation (transparent or at least automatic).
MPS is usable in a restricted form in other IntelliJ platform based IDEs, like WebStorm, PhpStorm.
I don't know of any special support for generating PHP code via MPS, at least MPS team hasn't done it for sure.
Also, answering the question from comments, it is correct to say that programs in DSLs implemented in MPS are by default persisted as xml files. Custom persistence can be implemented as a plugin to MPS. Also, custom persistence can be tailored to a particular DSL, unlike the default xml persistence which is language agnostic.

Is there any tool or framework similar to Xtext for creating language-specific editors for the Intellij IDEA platform ?

I have my own tool for creating textual domain-specific languages and I want to connect it to something like Xtext in order to generate IntelliJ IDEA editor for any language created by my tool. Is there any tool or maybe any other way how can I do it ?
Xtext is no longer maintained for IntelliJ IDEA.

Eclipse Plugin Developement: Including JDT functionality in my own editor

I am making a eclipse plugin. I began with the default MultiPageEditor wizard and implemented the specific functionality that I wanted. Now, I wanted to get features like Java syntax highlighting, error detection etc. that comes with the standard JDT plugin, in the custom editor that I have written.
Questions:
1. Is this even feasible ?
2. If yes, what will be quickest way to achieve this.
Why not just sub-class the JavaEditor or the CompilationUnitEditor and add it as a page to your MultiPageEditor?

Develop a plugin editor for eclipse

I have a question for you. My teacher proposed a couple of thesis to me. Basically to develop a plugin for eclipse. There are 2 options:
1)An editor for A-SPL language with syntax highlighting, auto completation of the cose, errors detection and so on........to help people that need to use S-APL
2)An editor to help people to design GUI in S-APL......something like a framework where you can drag widgets and there is a kind of automatic completation of the code....
The thesis should last 4 months......i should not implement everything but make a kind of prototype that maybe in the future someone will finish and make properly work.
I never did something like this so i would like to know if it is difficult, which skills are needed, which languages i should know to create eclipse plugins (for example i know java and python) and so on......to figure out if it is something i can do.
I'd suggest to look into the Xtext (for a textual editor) and Graphiti (for a graphical editor) projects.
You'll need Java for Eclipse plugins.
You need to read a book / the eclipse plugin wiki about Eclipse architecture as it's critical to know the paradigms in use.
There's an example XML plugin editor that you can create from the 'New Plugin' wizard which would be a good starting point for the first option.
good luck. :)

How to create an Eclipse editor plugin with syntax checking and coloring as fast as possible?

I'm working on a project that requires me to create a series of editors for languages that are quite different. The syntaxes are defined by us.
I'm looking for a solution for this.
Is there a shortcut to take in this problem?
You could use XText:
a framework for development of textual domain specific languages (DSLs).
Just describe your very own DSL using Xtext's simple EBNF grammar language and the generator will create a parser, an AST-meta model (implemented in EMF) as well as a full-featured Eclipse text editor from that.
Alternatives to XText are Rascal or Spoofax, both less popular than XText but interesting for they support more general context-free grammars, among other things. Nice to check out.
If you are looking for a more low level, programmable solution, then Eclipse's IDE Meta-tooling platform is a good choice (IMP).
What IMP gives you is API to connect your existing parsers to Eclipse without much hassle. You need to implement an IParseController interface, to call your parser and ITokenIterator to produce tokens and some other interface to assign fonts to each kind of token.
The aforementioned Rascal and Spoofax are both build on top of IMP.
Not mentioned is DLTK (proposed also in Tutorial regarding the development of a custom Eclipse editor)
There are Ruby, bash that are implemented with it.