IntelliJ IDEA Plugin Development
Plugins: JetBrains Marketplace
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.
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:
repositories {
mavenCentral()
intellijPlatform {
defaultRepositories()
}
}
dependencies {
intellijPlatform {
intellijIdeaCommunity("<versionNumber>")
}
}
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. |
See IntelliJ Community Plugins Extension Point and Listener List for API from bundled plugins.
IntelliJ IDEA Ultimate provides information specific to this edition.
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:
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).
Configure Kotlin plugin dependency with plugin ID org.jetbrains.kotlin
.
See also UAST on how to support multiple JVM languages, including Kotlin.