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
CustomComponentAction.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.languageInjectionContributorextension point) andLanguageInjectionPerformer(com.intellij.languageInjectionPerformerextension point) 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 a 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