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