Many developers, sooner or later, come to a point where they realize none of the existing tools can do exactly what they want. For example, the vendor of your favorite IDE has not implemented a feature you are using, or you are working with a rather new custom framework that isn't yet supported by your IDE. What to do? The good news is that IntelliJ IDEA and its plugins are not set in stone, so anyone yes, that includes you can implement support for a new language, library, or framework.