How to Develop Intellij Plugin Part 1 - My First Time Experiences To Develop Plugin


It is fun to develop a plugin for Jetbrains IDE platform, you know Intellij, PhpStorm, Pycharm and the like.

As you may already know, Intellij is one of the smartest IDE in the world, especially for Java and Kotlin and frameworks like Spring. I believe it's their main concern. 

If you are using Spring, Intellij will act so smart to detect any bugs you may introduce in your program, giving you completion, symbol references, even recommendation for the best possible code it might be.

If you are not a Spring user, maybe because your company you work at doesn’t like it, or they are just happy with the framework or even language they already use, and Intellij doesn’t support it, then you may need to create your own plugin.

Intellij provides an API for you to work on your framework or even your own language that they didn’t have support on, The API is i believe complete enough to get things done the way you want to, but the lack of documentation makes it really hard to get things fast, sometimes you need to figure it out the hard way, like i did.

It’s quite an experience developing a plugin for intellij, but somehow i manage to understand a bit of the plugin development workflow, also there's a bunch of real open source working plugin examples on Github and you can just grab and learn it.

My company I work for is mainly using PHP, so I've been trying hard to make a working plugin for a PHP framework that my company uses. 

If you want to develop a PHP plugin, it works not that much different for other languages. There's a cool real working open source Intellij Plugin, it is a Symfony framework plugin, it works perfect, and gives you real example codes on how to develop your own Intellij plugin.


Clone the sources and look at it carefully, it's a perfect example for beginners.

Popular posts from this blog

ERROR 1348 Column Password Is Not Updatable When Updating MySQL Root Password

Spring Kafka - how to use ReplyingKafkaTemplate send and reply synchronously

How To Create Spring Boot Project Using Netbeans

Upload and Download Rest API using Spring Boot Reactive WebFlux

MIME Types - Complete List