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.

New in 2023.2

Inspection Details

By default bundled with:

IntelliJ IDEA 2024.1, Qodana for JVM 2024.1,

Can be installed with plugin:

Plugin DevKit, 241.16690

Last modified: 29 April 2024