Inspectopedia Help

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.

  • 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.

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.

Settings or Preferences | Editor | Inspections | Plugin DevKit | Plugin descriptor

New in 2023.2

Availability

By default bundled with

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin

Plugin DevKit, 241.18072

Last modified: 18 June 2024