From 4b225d15e6f771a9b3f0eb6957ee36e3db52137e Mon Sep 17 00:00:00 2001 From: Dmitry Avdeev Date: Wed, 15 Jan 2020 19:00:53 +0300 Subject: [PATCH] do not preload indices in LightEdit mode GitOrigin-RevId: 7abd66b275d01916ccd7023e3881276c2e6a6a45 --- .../intellij/openapi/components/ServiceDescriptor.java | 2 +- .../intellij/ide/plugins/IdeaPluginDescriptorImpl.java | 3 +++ .../platform-resources/src/META-INF/LangExtensions.xml | 4 ++-- .../serviceContainer/PlatformComponentManagerImpl.kt | 9 +++++++++ 4 files changed, 15 insertions(+), 3 deletions(-) diff --git a/platform/core-api/src/com/intellij/openapi/components/ServiceDescriptor.java b/platform/core-api/src/com/intellij/openapi/components/ServiceDescriptor.java index 792f13c0bd88..fc92718766cd 100644 --- a/platform/core-api/src/com/intellij/openapi/components/ServiceDescriptor.java +++ b/platform/core-api/src/com/intellij/openapi/components/ServiceDescriptor.java @@ -14,7 +14,7 @@ import org.jetbrains.annotations.Nullable; */ public final class ServiceDescriptor { public enum PreloadMode { - TRUE, FALSE, AWAIT, NOT_HEADLESS, + TRUE, FALSE, AWAIT, NOT_HEADLESS, NOT_LIGHT_EDIT } @Attribute diff --git a/platform/core-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.java b/platform/core-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.java index adc576c4d77f..28f1fd823be3 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.java +++ b/platform/core-impl/src/com/intellij/ide/plugins/IdeaPluginDescriptorImpl.java @@ -433,6 +433,9 @@ public final class IdeaPluginDescriptorImpl implements IdeaPluginDescriptor, Plu else if (preload.equals("notHeadless")) { descriptor.preload = ServiceDescriptor.PreloadMode.NOT_HEADLESS; } + else if (preload.equals("notLightEdit")) { + descriptor.preload = ServiceDescriptor.PreloadMode.NOT_LIGHT_EDIT; + } else { LOG.error("Unknown preload mode value: " + JDOMUtil.writeElement(element)); } diff --git a/platform/platform-resources/src/META-INF/LangExtensions.xml b/platform/platform-resources/src/META-INF/LangExtensions.xml index 38248cd8e14b..f1682055b425 100644 --- a/platform/platform-resources/src/META-INF/LangExtensions.xml +++ b/platform/platform-resources/src/META-INF/LangExtensions.xml @@ -34,7 +34,7 @@ + serviceImplementation="com.intellij.util.indexing.FileBasedIndexImpl" preload="notLightEdit"/> @@ -42,7 +42,7 @@ serviceImplementation="com.intellij.ide.macro.IdePathMacros" preload="true"/> + serviceImplementation="com.intellij.psi.stubs.StubIndexImpl" preload="notLightEdit"/> { + if (onlyIfAwait || Main.isLightEdit()) { + continue@serviceLoop + } + else { + asyncPreloadedServices + } + } PreloadMode.AWAIT -> { syncPreloadedServices }