Skip to content

Creating Your First Plugin

This documentation section will help you get started with developing plugins for the Consulo. 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 several 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 Consulo plugins with the Gradle plugin for IntelliJ IDEA: * Changing plugin targets is more comfortable because it is all done in build.gradle: * Switching the version of the target Consulo (IDE), * Changing the target Consulo-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 JetBrains Plugin Repository, so it is easy to customize and extend the build and publishing processes. * Built-in verification task for plugin.xml and plugin distribution structure. * Built-in integration with IntelliJ Plugin Verifier tool used for running the compatibility checks as performed on JetBrains Plugin Repository.

Using GitHub Template

Using Gradle

Using DevKit