Building new IDE on top of intellij open platform

I'm interested in developing a new IDE on top fo the intellij platform.

I'm kind of unsure where to begin. Should I just get community source and start disabling plugins? (the goal here is a non java/jvm lang).

From that point is it just a matter of building language support like I would if I were to be just adding a new plugin for x language support?

I'm aware of Writing custom language support article ( but wanted to know if there was more of a clean slate starting poitn I should be starting from.

thank you guys in advance.


I think you might need to clarify what you're looking to achive a bit better.

If you're simply looking to support a specific set of languages/tools with a complement of custom panels/toolbars/etc then you probably want to go about it in the way that you've mentioned. Start by pulling out all the plugins that you don't want, and examining (and getting a feel for) the community edition's code.

You will definitely want to familiarize yourself with the developing custom language plugins (assuming your languages are not already supported by plugins):

Because community edition is open source, you could theoretically clone a copy of it and make edits directly to the code (essentially forking your own IDE). Alternatively you could consider making the changes that you need through a "plugin suite". If you take the route of developing plugins, you will be somewhat limited by the built in extension points. While they offer a very good starting place for any change in the environment, depending on how custom you go, you *may* end up running into some limitations eventually.

I'd suggest starting with plugin development and only resorting to editing the source code of the community edition directly if you find that you absolutely need to. Either way, the experience you gain by working with the plugin architecture will still be very pertinent no matter what you end up doing.



The platform is capable of making custom IDE''s,
and you basically have to provide a "main plugin" - like Ruby for RubyMine.

Read this thread:


Please sign in to leave a comment.