A service can be converted to a light one
Reports classes that can be marked as light services using the @com.intellij.openapi.components.Service
annotation instead of being registered as services in plugin.xml
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 @Service
annotation. For project-level services, specify @Service(Service.Level.PROJECT)
.
Requirements:
IntelliJ Platform 2019.3 or newer.
Service class must be
final
.serviceInterface
is 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
.
See Services in IntelliJ Platform Plugin SDK docs for more details.
See also the Plugin DevKit | Plugin descriptor | 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.
LightServiceMigrationCode- 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 Details | |
---|---|
By default bundled with: | |
Can be installed with plugin: | Plugin DevKit, 242.22892 |