Inspectopedia Help

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.

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.

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