IntelliJ Platform Plugin Template
v1.0 🎉

A GitHub repository that provides a pure template to make creating plugins for IntelliJ-based IDEs easier.

What is it?

The main goal of this GitHub template repository is to:

  • Speed up plugin development for IntelliJ-based IDEs
  • Provide a preconfigured project scaffold
  • Deliver a handful of CI workflows based on GitHub Actions
  • Link to the proper documentation pages
  • Keep everything organized

What drives it?

IntelliJ Platform

The IntelliJ Platform is an open-source platform for building IDEs, used to power JetBrains products such as IntelliJ IDEA and third-party ones like Android Studio from Google.

Gradle IntelliJ Plugin

This allows you to build plugins for the IntelliJ Platform using the specified IntelliJ SDK and bundled or third-party plugins using Gradle.

GitHub Actions

GitHub Actions makes the CI/CD process easier, thanks to a set of workflows automating the testing and releasing process.

Qodana

A code quality monitoring platform allows you to evaluate the integrity of your code and brings all of the smart inspections from JetBrains IDEs into your CI/CD pipelines.

Kotlin

Kotlin is a modern, mature programming language aimed at making developers happier. It is interoperable with Java, which you can still use for development.

Community

Every product, tool, or library we work on is created based on your feedback. This project is no exception – it is done for and with the community.

Key features

Plugin project scaffold

A well-known Gradle structure with all necessary files in the right place makes using the project intuitive. In case you have any doubts, the README file will guide you through it.

Preconfigured settings

Based on the experience of the IntelliJ SDK and third-party developers, we have delivered an already preconfigured project template.

The Gradle setup with all its plugins and GitHub Actions are designed to give you a great first impression and guide you to the relevant documentation pages.

CI/CD

Continuous Integration (CI) and Continuous Delivery (CD) are essential when it comes to publishing tested products to your end-users. We rely on GitHub Actions to provide well-crafted workflows for testing, verifying, and releasing plugins to JetBrains Marketplace.

Verification tools

By providing IntelliJ Plugin Verifier, Gradle IntelliJ Plugin verification task, DevKit inspections, Qodana, and Quality Guidelines, we enable you to deliver high-quality plugins to our users worldwide.

Knowledge base

Explaining how the IntelliJ-based IDEs work and how to extend them with your ideas is our primary goal. The main IntelliJ Platform Plugin Template README file provides a brief overview of our knowledge resources that we add to and update continuously. If there is anything missing, please let us know!

Marketplace

You invest your time and resources while working on the plugin. With JetBrains Marketplace, you can turn your project into a paid plugin and sell it to IntelliJ-based IDEs users.

Learn how to turn your project into a paid plugin.

What's new in 1.x?

Plugin signing

Plugin Signing is a mechanism introduced in the 2021.2 release cycle to increase security and ensure that plugins are not modified over the course of the publishing and delivery pipeline.

The project now provides an integrated way to sign and deliver plugins to our JetBrains Marketplace service.

Compatibility with Java 11

Java 11 is now required when targeting IntelliJ-based IDEs in version 2020.3 or later.

To meet that requirement, we have upgraded all of our tools and the minimal targeted platform to 2020.3.

Tests integration

Testing plugins is an essential part of plugin development for IntelliJ-based IDEs to make sure that everything works as expected between IDE releases and plugin refactorings.

The IntelliJ Platform Plugin Template project now provides integration of two testing approaches – functional and UI tests.

Your tests will be run on CI in macOS, Windows, and Linux in a headless environment using actual IDE instances.

Qodana integration

The Qodana IntelliJ linter lets you perform static analysis of your codebase. It brings all the smarts from IntelliJ IDEs:

  • Detecting anomalous code and probable bugs
  • Eliminating dead code
  • Improving overall code structure
  • Introducing coding best practices

It is integrated with the project on two levels – as a GitHub Action and Gradle Qodana Plugin so you can run it on any other CI, or even locally.

Try it out now!

Create a new project based on the IntelliJ Platform Plugin Template and store it in your GitHub account.

You can start working on new features now or later – it's up to you!