A service can be converted to a light one
Reports services registered in plugin.xml that can be converted to light ones.
A service that is not intended for overriding is not required to be registered in the plugin.xml file. Instead, annotate the service class with the @com.intellij.openapi.components.Service annotation. For project-level services, specify @Service(Service.Level.PROJECT).
Requirements:
IntelliJ Platform 2019.3 or newer.
Service class must be
final.serviceInterfaceis not specified.If the application-level service is a
com.intellij.openapi.components.PersistentStateComponent, roaming must be disabled (roamingType = RoamingType.DISABLED).None of these attributes is specified:
os,client,overrides,id,preload,configurationSchemaKey.
Also reports services registered in plugin.xml whose classes are already annotated with @Service.
See Services in IntelliJ Platform Plugin SDK docs for more details.
See also the Plugin DevKit | Code | A service can be converted to a light one inspection.
Locating this inspection
- By ID
Can be used to locate inspection in e.g. Qodana configuration files, where you can quickly enable or disable it, or adjust its settings.
LightServiceMigrationXML- Via Settings dialog
Path to the inspection settings via IntelliJ Platform IDE Settings dialog, when you need to adjust inspection settings directly from your IDE.
New in 2023.2
Inspection ID: LightServiceMigrationXML
Suppressing Inspection
You can suppress this inspection by placing the following comment marker before the code fragment where you no longer want messages from this inspection to appear:
More detailed instructions as well as other ways and options that you have can be found in the product documentation:
Inspection Details | |
|---|---|
By default bundled with: |