Back to Intellij Community

SimplifiableServiceRetrieving

plugins/devkit/devkit-core/resources/inspectionDescriptions/SimplifiableServiceRetrieving.html

2025.3-rc-2884 B
Original Source

Reports service getting calls that can be replaced with a calls to an existing static getInstance() or getInstance(Project) methods.

Example (Java):

@Service
public class MyAppService {
  public static MyAppService getInstance() {
    return ApplicationManager.getApplication().getService(MyAppService.class);
  }
}

@Service(Service.Level.PROJECT)
public class MyProjectService {
  public static MyProjectService getInstance(Project project) {
    return project.getService(MyProjectService.class);
  }
}
// Bad:
MyAppService applicationService = ApplicationManager.getApplication().getService(MyAppService.class);
MyProjectService projectService = project.getService(MyProjectService.class);
// Good:
MyAppService applicationService = MyAppService.getInstance();
MyProjectService projectService = MyProjectService.getInstance(project);

New in 2023.2