diff --git a/platform/platform-impl/src/com/intellij/ide/ui/customization/CustomisedActionGroup.java b/platform/platform-impl/src/com/intellij/ide/ui/customization/CustomisedActionGroup.java index 301c0b3fcf63..6de6eee3a363 100644 --- a/platform/platform-impl/src/com/intellij/ide/ui/customization/CustomisedActionGroup.java +++ b/platform/platform-impl/src/com/intellij/ide/ui/customization/CustomisedActionGroup.java @@ -4,6 +4,7 @@ package com.intellij.ide.ui.customization; import com.intellij.openapi.actionSystem.*; import com.intellij.openapi.util.NlsActions; import com.intellij.util.ArrayUtil; +import org.jetbrains.annotations.ApiStatus; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; @@ -51,6 +52,14 @@ public final class CustomisedActionGroup extends ActionGroupWrapper { return myChildren; } + @ApiStatus.Internal + public AnAction @NotNull [] getDefaultChildrenOrStubs() { + ActionGroup delegate = getDelegate(); + if (!(delegate instanceof DefaultActionGroup g)) return EMPTY_ARRAY; + return CustomizationUtil.getReordableChildren( + delegate, g.getChildActionsOrStubs(), mySchema, myDefaultGroupName, myRootGroupName); + } + public @Nullable AnAction getFirstAction() { AnAction[] children = getChildren(null); return children.length > 0 ? children[0] : null; diff --git a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/ActionsTreeUtil.java b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/ActionsTreeUtil.java index 66a4939c809e..d8f3ee9909a9 100644 --- a/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/ActionsTreeUtil.java +++ b/platform/platform-impl/src/com/intellij/openapi/keymap/impl/ui/ActionsTreeUtil.java @@ -8,6 +8,7 @@ import com.intellij.ide.actionMacro.ActionMacro; import com.intellij.ide.plugins.IdeaPluginDescriptor; import com.intellij.ide.plugins.PluginManagerCore; import com.intellij.ide.ui.customization.ActionUrl; +import com.intellij.ide.ui.customization.CustomisedActionGroup; import com.intellij.ide.ui.search.SearchUtil; import com.intellij.ide.ui.search.SearchableOptionsRegistrar; import com.intellij.idea.ActionsBundle; @@ -768,15 +769,13 @@ public final class ActionsTreeUtil { } private static AnAction @NotNull [] getActions(@NotNull ActionGroup group) { - try { - if (group instanceof DefaultActionGroup g) { - return g.getChildActionsOrStubs(); - } - else { - return AnAction.EMPTY_ARRAY; - } + if (group instanceof DefaultActionGroup g) { + return g.getChildActionsOrStubs(); } - catch (Throwable e) { + else if (group instanceof CustomisedActionGroup g) { + return g.getDefaultChildrenOrStubs(); + } + else { return AnAction.EMPTY_ARRAY; } }