IntelliJ Platform Plugin SDK Help

Notable Changes in IntelliJ Platform and Plugins API 2023.*

Early Access Program (EAP) releases of upcoming versions are available here.

2023.3

IntelliJ Platform 2023.3

Threading Model changes

Please see updated General Threading Rules.

External Annotators in Dumb Mode

External Annotator can now run in during indexing.

Local inspections performance

Custom language plugins with many inspections should consider registering a default visitor to improve processing, see Inspections Performance.

IntelliJ IDEA 2023.3

Unbundled plugins

Several plugins (Android, Ant, GlassFish, Plugin DevKit) have been unbundled. The IDE will suggest installation if the project contains related framework dependency. If your plugin depends on them, users will need to install them from the JetBrains Marketplace.

2023.2

IntelliJ Platform 2023.2

Language Server Protocol (LSP) API

Provide custom language support by using language servers, see Language Server Protocol (LSP).

Check presence of JVM library

Use dedicated API to check presence via class FQN or Maven coordinates.

Inspection description: code snippets highlighting

Embedded code is shown with syntax highlighting.

Intentions that cannot show meaningful before/after preview

Intentions not modifying code can specify <skipBeforeAfter>true</skipBeforeAfter> in their registration.

JCEF-based SVG viewer

SVG pictures are now shown using JCEF instead of rendering via the Apache Batik library (Details).

IntelliJ IDEA 2023.2

Unbundled plugins

Several plugins (Play 1, Resin, Struts 2, tcServer) have been unbundled. The IDE will suggest installation if the project contains related framework dependency. If your plugin depends on them, users will need to install them from the JetBrains Marketplace.

2023.1

API for quick documentation

Documentation for custom languages is provided through the DocumentationTarget API for versions 2023.1 or later.

IntelliJ Platform 2023.1

Declarative Inspection Options

Code inspections can provide additional options in a declarative way which has several benefits over the UI-based approach.

Nested Index Access

Accessing index data in nested calls is now possible. NOTE: Please do not use yet This is known to cause problems under certain conditions, please watch this issue.

File Type Index Topic

FileTypeIndex.IndexChangeListener allows monitoring the addition/removal of files by FileType.

Run Annotator During Indexing

Annotators can implement DumbAware to run during indexing (e.g., providing additional syntax highlighting).

Obsolete API Status

Newly introduced ApiStatus.@Obsolete marks API that should not be used for new code, see Obsolete API.

Last modified: 20 December 2023