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
/LocalInspectionToolSession
to optimize highlighting for coarse-grained files (e.g.,PsiPlainTextFile
files with single node).
2021.2
IntelliJ Platform 2021.2
- Unit test mode: non-production
IconManager
Now
com.intellij.ui.IconManager.createDeferredIcon()
doesn't useiconProducer
which might result in "wrong" composite icons and failed assertions. OverrideUsefulTestCase.isIconRequired()
returningtrue
to 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.languageInjectionContributor
EP) andLanguageInjectionPerformer
(com.intellij.languageInjectionPerformer
EP) 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. ImplementHintAction
withfixSilently()
and hook it up to highlighting as a quick fix for unresolved reference.- Ability to override encoding per
VirtualFile
Implement
FileEncodingProvider
and register incom.intellij.fileEncodingProvider
extension point.- JCEF: wrapper for
CefBrowser
JBCefOsrHandlerBrowser
forwards to customCefRenderHandler
, e.g., for off-screen rendering.
Java Plugin 2021.1
- Testframework: JUnit4 variant for
LightJavaCodeInsightFixtureTestCase