IntelliJ Platform Plugin SDK Help

Notable Changes in IntelliJ Platform and Plugins API 2021.*

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


IntelliJ Platform 2021.3

External code formatter tools API
Allows integration of standalone tools like shfmt: External Code Formatter.
Simplified API for CustomComponentAction
Use new method updateCustomComponent(Component, Presentation) to synchronize given Presentation and component state.


IntelliJ Platform 2021.2

Unit test mode: non-production IconManager
Now com.intellij.ui.IconManager.createDeferredIcon() doesn't use iconProducer which might result in "wrong" composite icons and failed assertions. Override UsefulTestCase.isIconRequired() returning true to restore production icons. Alternatively, invoke Registry.get("psi.deferIconLoading").setValue(false) in setUp() and Registry.get("psi.deferIconLoading").resetToDefault() in tearDown().
Constructor Injection disabled for Extensions
Please obtain necessary components only when needed (logged as ERROR now).
Language Injection
Use LanguageInjectionContributor (EP com.intellij.languageInjectionContributor) and LanguageInjectionPerformer (EP com.intellij.languageInjectionPerformer) to customize language injection.

IntelliJ IDEA 2021.2

Unbundled plugins
Several plugins (Arquillian, AspectJ, CoffeeScript, Debugger Support for JSP (JSR45), Drools, Guice, Helidon, Java EE: Enterprise Java Beans (EJB), Spring OSGi, Spring Web Flow) 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 Plugins Repository.


IntelliJ Platform 2021.1

Add unambiguous imports on the fly for custom languages
Override ReferenceImporter#isAddUnambiguousImportsOnTheFlyEnabled() and provide corresponding user setting. Implement HintAction with fixSilently() and hook it up to highlighting as a quick fix for unresolved reference.
Ability to override encoding per VirtualFile
Implement FileEncodingProvider and register in com.intellij.fileEncodingProvider extension point.
JCEF: wrapper for CefBrowser
JBCefOsrHandlerBrowser forwards to custom CefRenderHandler, e.g., for off-screen rendering.

Java Plugin 2021.1

Testframework: JUnit4 variant for LightJavaCodeInsightFixtureTestCase
Use com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase4.
Last modified: 06 October 2021