title |
---|
Creating Your First Plugin |
This documentation section will help you get started with developing plugins for the IntelliJ Platform. You can use either IntelliJ IDEA Community Edition or IntelliJ IDEA Ultimate as your IDE (it is highly recommended to use the latest available version). Both include the complete set of plugin development tools. To become more familiar with IntelliJ IDEA, please refer to the IntelliJ IDEA Web Help.
There are three supported workflows available for building plugins. The recommended workflow for new projects is to use GitHub Template or to use Gradle to create everything from scratch. The old Plugin DevKit workflow still supports existing projects.
NOTE If a new plugin will be Scala-based, a dedicated SBT plugin sbt-idea-plugin is available.
The Gradle workflow offers a number of advantages:
- Representations of source sets, modules, and projects are portable,
- Projects of any size or complexity usually require scripts for build management, which Gradle handles natively,
- Training, documentation, and community help for general Gradle topics are widely available.
Specific to development of IntelliJ Platform plugins with the Gradle plugin for IntelliJ IDEA:
- Changing plugin targets is easier because it is all done in
build.gradle
:- Switching the version of the target IntelliJ Platform (IDE),
- Changing the target IntelliJ Platform-based IDE, e.g., from IntelliJ IDEA to PyCharm,
- Running a plugin against alternate versions of the JetBrains runtime.
- Gradle is fully integrated with Continuous Integration systems and plugins.jetbrains.com, so it is easy to customize and extend the build and publishing processes.
- Built-in verification task for
plugin.xml
and plugin distribution structure, the same checks as on plugins.jetbrains.com.