diff --git a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsManager.java b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsManager.java index 87b9c3ac01ca..e6472e0f49a3 100644 --- a/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsManager.java +++ b/platform/external-system-impl/src/com/intellij/openapi/externalSystem/service/project/manage/ExternalProjectsManager.java @@ -118,35 +118,35 @@ public class ExternalProjectsManager implements PersistentStateComponent systemManager : ExternalSystemApiUtil.getAllManagers()) { - final Collection externalProjects = - ExternalProjectsDataStorage.getInstance(myProject).list(systemManager.getSystemId()); - for (ExternalProjectInfo externalProject : externalProjects) { - if (externalProject.getExternalProjectStructure() == null) continue; - Collection> taskData = - ExternalSystemApiUtil.findAllRecursively(externalProject.getExternalProjectStructure(), TASK); - myShortcutsManager.scheduleKeymapUpdate(taskData); - } - - if (!externalProjects.isEmpty()) { - myShortcutsManager.scheduleRunConfigurationKeymapUpdate(systemManager.getSystemId()); - } + // init shortcuts manager + myShortcutsManager.init(); + for (ExternalSystemManager systemManager : ExternalSystemApiUtil.getAllManagers()) { + final Collection externalProjects = + ExternalProjectsDataStorage.getInstance(myProject).list(systemManager.getSystemId()); + for (ExternalProjectInfo externalProject : externalProjects) { + if (externalProject.getExternalProjectStructure() == null) continue; + Collection> taskData = + ExternalSystemApiUtil.findAllRecursively(externalProject.getExternalProjectStructure(), TASK); + myShortcutsManager.scheduleKeymapUpdate(taskData); } - // init task activation info - myTaskActivator.init(); + if (!externalProjects.isEmpty()) { + myShortcutsManager.scheduleRunConfigurationKeymapUpdate(systemManager.getSystemId()); + } + } + // init task activation info + myTaskActivator.init(); + + synchronized (isInitializationFinished) { isInitializationFinished.set(true); ApplicationManager.getApplication().executeOnPooledThread(() -> { myPostInitializationActivities.run(); @@ -156,10 +156,13 @@ public class ExternalProjectsManager implements PersistentStateComponent