Notable Changes in IntelliJ Platform and Plugins API 2021.*
Early Access Program (EAP) releases of upcoming versions are available here.
2021.3
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.- Highlighting API exposes priority range
Use
getPriorityRange()inAnnotationSession/LocalInspectionToolSessionto optimize highlighting for coarse-grained files (e.g.,PsiPlainTextFilefiles with single node).
2021.2
IntelliJ Platform 2021.2
- Unit test mode: non-production IconManager
Now
com.intellij.ui.IconManager.createDeferredIcon()doesn't useiconProducerwhich might result in "wrong" composite icons and failed assertions. OverrideUsefulTestCase.isIconRequired()returningtrueto restore production icons. Alternatively, invokeRegistry.get("psi.deferIconLoading").setValue(false)insetUp()andRegistry.get("psi.deferIconLoading").resetToDefault()intearDown().- Constructor Injection disabled for Extensions
Please obtain necessary components only when needed (logged as ERROR now).
- Language Injection
Use
LanguageInjectionContributor(com.intellij.languageInjectionContributorEP) andLanguageInjectionPerformer(com.intellij.languageInjectionPerformerEP) 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 Marketplace.
2021.1
IntelliJ Platform 2021.1
- Add unambiguous imports on the fly for custom languages
Override
ReferenceImporter#isAddUnambiguousImportsOnTheFlyEnabled()and provide corresponding user setting. ImplementHintActionwithfixSilently()and hook it up to highlighting as a quick fix for unresolved reference.- Ability to override encoding per VirtualFile
Implement
FileEncodingProviderand register incom.intellij.fileEncodingProviderextension point.- JCEF: wrapper for CefBrowser
JBCefOsrHandlerBrowserforwards to customCefRenderHandler, e.g., for off-screen rendering.
Java Plugin 2021.1
- Testframework: JUnit4 variant for LightJavaCodeInsightFixtureTestCase
Use
com.intellij.testFramework.fixtures.LightJavaCodeInsightFixtureTestCase4.