diff --git a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java index 63ab633028f3..e5668045e9c5 100644 --- a/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java +++ b/platform/core-impl/src/com/intellij/ide/plugins/PluginManagerCore.java @@ -20,6 +20,7 @@ import com.intellij.openapi.util.InvalidDataException; import com.intellij.openapi.util.JDOMUtil; import com.intellij.openapi.util.SafeJdomFactory; import com.intellij.openapi.util.io.FileUtilRt; +import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.util.text.StringUtilRt; import com.intellij.reference.SoftReference; @@ -691,6 +692,10 @@ public final class PluginManagerCore { } } + public static boolean hideImplementationDetails() { + return !Registry.is("plugins.show.implementation.details"); + } + public static boolean isRunningFromSources() { return Holder.ourIsRunningFromSources; } diff --git a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerConfigurable.java b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerConfigurable.java index 763b4f407c7a..613bfdf0fcca 100644 --- a/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerConfigurable.java +++ b/platform/platform-impl/src/com/intellij/ide/plugins/PluginManagerConfigurable.java @@ -34,7 +34,6 @@ import com.intellij.openapi.updateSettings.impl.UpdateSettings; import com.intellij.openapi.util.Pair; import com.intellij.openapi.util.SystemInfo; import com.intellij.openapi.util.ThrowableNotNullFunction; -import com.intellij.openapi.util.registry.Registry; import com.intellij.openapi.util.text.StringUtil; import com.intellij.ui.*; import com.intellij.ui.components.JBScrollPane; @@ -805,7 +804,7 @@ public class PluginManagerConfigurable int bundledEnabled = 0; int downloadedEnabled = 0; - boolean hideImplDetails = !Registry.is("plugins.show.implementation.details"); + boolean hideImplDetails = PluginManagerCore.hideImplementationDetails(); for (IdeaPluginDescriptor descriptor : PluginManagerCore.getPlugins()) { if (!appInfo.isEssentialPlugin(descriptor.getPluginId())) { @@ -1463,7 +1462,7 @@ public class PluginManagerConfigurable } @NotNull - private static JComponent createScrollPane(@NotNull PluginsGroupComponent panel, boolean initSelection) { + public static JComponent createScrollPane(@NotNull PluginsGroupComponent panel, boolean initSelection) { JBScrollPane pane = new JBScrollPane(panel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); pane.setBorder(JBUI.Borders.empty()); diff --git a/platform/platform-impl/src/com/intellij/ide/ui/PluginOptionsTopHitProvider.java b/platform/platform-impl/src/com/intellij/ide/ui/PluginOptionsTopHitProvider.java index 68a707d89e70..61bf5e5b7270 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/PluginOptionsTopHitProvider.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/PluginOptionsTopHitProvider.java @@ -21,10 +21,15 @@ final class PluginOptionsTopHitProvider implements OptionsTopHitProvider.Applica ApplicationInfoEx applicationInfo = ApplicationInfoEx.getInstanceEx(); IdeaPluginDescriptor[] plugins = PluginManagerCore.getPlugins(); List options = new ArrayList<>(plugins.length); + boolean hideImplDetails = PluginManagerCore.hideImplementationDetails(); + for (IdeaPluginDescriptor descriptor : plugins) { if (applicationInfo.isEssentialPlugin(descriptor.getPluginId())) { continue; } + if (hideImplDetails && descriptor.isImplementationDetail()) { + continue; + } options.add(new PluginBooleanOptionDescriptor(descriptor)); } diff --git a/platform/platform-impl/src/com/intellij/ide/ui/search/PluginSearchableOptionContributor.java b/platform/platform-impl/src/com/intellij/ide/ui/search/PluginSearchableOptionContributor.java index 13152586e67d..5784aaefdb28 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/search/PluginSearchableOptionContributor.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/search/PluginSearchableOptionContributor.java @@ -12,10 +12,14 @@ public class PluginSearchableOptionContributor extends SearchableOptionContribut @Override public void processOptions(@NotNull SearchableOptionProcessor processor) { ApplicationInfoEx applicationInfo = ApplicationInfoEx.getInstanceEx(); + boolean hideImplDetails = PluginManagerCore.hideImplementationDetails(); for (IdeaPluginDescriptor plugin : PluginManagerCore.getPlugins()) { if (applicationInfo.isEssentialPlugin(plugin.getPluginId().getIdString())) { continue; } + if (hideImplDetails && plugin.isImplementationDetail()) { + continue; + } final String pluginName = plugin.getName(); processor.addOptions(pluginName, null, pluginName, PluginManagerConfigurable.ID, IdeBundle.message("title.plugins"), false); final String description = plugin.getDescription();