IntelliJ IDEA Plugin Development
IntelliJ IDEA is available in two editions: IntelliJ Community Edition and IntelliJ IDEA Ultimate. See Choose your edition and Feature Comparison for a detailed comparison.
IntelliJ IDEA Plugin Setup
Gradle Build Script
Define a dependency using intellijIdeaCommunity()
or intellijIdeaUltimate()
, see Versions link on top of this page for all available versions. See Local IntelliJ Platform IDE Instance for using a local installation.
Minimum build.gradle.kts setup:
The configuration of IntelliJ IDEA plugin projects follows the methods described in Configuring Plugin Projects using the IntelliJ IDEA Product Attribute.
| Attribute Value |
---|---|
| |
IDE version, e.g. |
Available API
See IntelliJ Community Plugins Extension Point and Listener List for API from bundled plugins.
IntelliJ IDEA Ultimate provides information specific to this edition.
Java
See Java Plugin on how to use Java-specific functionality.
PSI Cookbook lists a number of common operations for working with Java PSI.
Depending on the exact functionality, a plugin can also target UAST – Unified Abstract Syntax Tree to support multiple JVM languages, including Java and Kotlin.
Relevant Extension Points:
Java Test Framework
To use existing test base classes, add TestFrameworkType.Plugin.Java
test-framework available from Plugin Test Frameworks.
Alternatively, specify com.jetbrains.intellij.java:java-test-framework:$VERSION$
as testImplementation
dependency explicitly (see IntelliJ Platform Artifacts Repositories).
Kotlin
Configure Kotlin plugin dependency with plugin ID org.jetbrains.kotlin
.
See also UAST on how to support multiple JVM languages, including Kotlin.