So you’re interested in plugin development for a Jetbrains' IntelliJ-based IDE such as IntelliJ IDEA, GoLand, or Android Studio. You’ve come to the right place! Our blog post series will provide you with fundamental information on getting started with developing extensions for JetBrains IDEs. All this information stems from our experiences developing our own plugin, Symflower.
In later posts, we’ll be covering specific topics related to plugin development, and providing best practices to help improve efficiency when developing extensions.
Getting started with creating an IntelliJ plugin
We have an excellent step-by-step guide to get you started on IntelliJ plugin development which also teaches you a lot of basic concepts when working with the IntelliJ platform:
- Getting started with plugin development for JetBrains IDEs like IntelliJ, Goland, and Android Studio
UI testing
UI tests, while more complex than unit tests, can be useful to verify assumptions at a high level of integration. Here are some tips to make UI testing more manageable:
- Accessing plugin classes in UI tests
- Isolating tests using temporary project directories
- Testing plugins on Windows in your CI using GitLab Runner
- A better X server setup for IntelliJ plugin tests locally and in your CI
Official resources
A lot of documentation on plugin development for JetBrains' editors exist. Here are the resources that we found most useful during our journey of developing Symflower:
- The IntelliJ Platform SDK is the root of all official documentations about developing plugins for JetBrains editors and includes numerous articles about core developing topics and APIs.
- Particularly useful is the Extension Point and Listener List which gives an overview over all API points where you can hook something in your plugin into the framework.
- Also worth noting is the IntelliJ Platform Explorer where you can search for usages of platform APIs in open source plugins and jump directly to the plugin’s source code.
Community
The JetBrains Platform Slack is quite helpful when you have questions. In case you’ve never used Slack before (like me): Click “Add channels” on the left then “Browse channels” to see all channels. If you are wondering, yes, there are a lot more than the five shown in the sidebar by default.
Feedback
If you have any questions or feedback for our articles or our plugin, we’d love to hear from you! You can send us an hello@symflower.com or find us on social media.