2023-02-16 11:29:44 +01:00

3.4 KiB

Developing a Plugin

Develop an IntelliJ Platform plugin using Gradle and Gradle IntelliJ Plugin.

IntelliJ Platform plugins can be developed by using either IntelliJ IDEA Community Edition or IntelliJ IDEA Ultimate as your IDE. Both include the complete set of plugin development tools. It is highly recommended to always use the latest available version, as the plugin development tooling support from bundled Plugin DevKit continues supporting new features.

To become more familiar with IntelliJ IDEA, please refer to the IntelliJ IDEA Web Help.

In some cases, implementing an actual IntelliJ Platform plugin might not be necessary, as alternative solutions exist.

Gradle IntelliJ Plugin

The recommended solution for building IntelliJ Platform plugins is . The IntelliJ IDEA Ultimate and Community editions bundle the necessary plugins to support Gradle-based plugin development: Gradle and Plugin DevKit. To verify these plugins are installed and enabled, see the help section about Managing Plugins.

Gradle IntelliJ Plugin manages the dependencies of a plugin project - both the base IDE and other plugin dependencies. It provides tasks to run the IDE with your plugin and to package and publish your plugin to the JetBrains Marketplace. To make sure that a plugin is not affected by API changes, which may happen between major releases of the platform, you can quickly verify your plugin against other IDEs and releases.

There are two main ways of creating a new Gradle-based IntelliJ Platform plugin project:

  • dedicated generator available in the New Project Wizard - it creates a minimal plugin project with all the required files
  • available on GitHub - in addition to the required project files, it includes configuration of the GitHub Actions CI workflows

This documentation section describes plugin structure generated with the New Project wizard, but the project generated with IntelliJ Platform Plugin Template covers all the described files and directories. See the section for more information about the advantages of this approach and instructions on how to use it.

The old Plugin DevKit workflow still supports existing projects and is recommended for creating theme plugins. See how to migrate a DevKit plugin to Gradle-based.

A dedicated SBT plugin is available for plugins implemented in Scala.

Plugin Development Workflow