diff --git a/java/debugger/impl/src/com/intellij/debugger/actions/DebuggerKeymapExtension.java b/java/debugger/impl/src/com/intellij/debugger/actions/DebuggerKeymapExtension.java index 1ba8a722fff9..b0b37f3ecccb 100644 --- a/java/debugger/impl/src/com/intellij/debugger/actions/DebuggerKeymapExtension.java +++ b/java/debugger/impl/src/com/intellij/debugger/actions/DebuggerKeymapExtension.java @@ -16,41 +16,28 @@ package com.intellij.debugger.actions; import com.intellij.icons.AllIcons; -import com.intellij.openapi.actionSystem.*; +import com.intellij.openapi.actionSystem.AnAction; import com.intellij.openapi.keymap.KeyMapBundle; import com.intellij.openapi.keymap.KeymapExtension; import com.intellij.openapi.keymap.KeymapGroup; +import com.intellij.openapi.keymap.impl.ui.ActionsTreeUtil; import com.intellij.openapi.keymap.impl.ui.Group; import com.intellij.openapi.project.Project; import com.intellij.openapi.util.Condition; import com.intellij.util.ArrayUtil; -import java.util.ArrayList; -import java.util.Collections; - /** * @author yole */ public class DebuggerKeymapExtension implements KeymapExtension { public KeymapGroup createGroup(final Condition filtered, final Project project) { - ActionManager actionManager = ActionManager.getInstance(); - AnAction[] xDebuggerActions = ((DefaultActionGroup)actionManager.getActionOrStub("XDebugger.Actions")).getChildActionsOrStubs(); - AnAction[] javaDebuggerActions = ((DefaultActionGroup)actionManager.getActionOrStub("JavaDebuggerActions")).getChildActionsOrStubs(); + AnAction[] xDebuggerActions = ActionsTreeUtil.getActions("XDebugger.Actions"); + AnAction[] javaDebuggerActions = ActionsTreeUtil.getActions("JavaDebuggerActions"); - ArrayList ids = new ArrayList<>(); - for (AnAction debuggerAction : ArrayUtil.mergeArrays(xDebuggerActions, javaDebuggerActions)) { - String actionId = debuggerAction instanceof ActionStub ? ((ActionStub)debuggerAction).getId() : actionManager.getId(debuggerAction); - if (filtered == null || filtered.value(debuggerAction)) { - ids.add(actionId); - } - } - - Collections.sort(ids); Group group = new Group(KeyMapBundle.message("debugger.actions.group.title"), AllIcons.General.Debug); - for (String id : ids) { - group.addActionId(id); + for (AnAction action : ArrayUtil.mergeArrays(xDebuggerActions, javaDebuggerActions)) { + ActionsTreeUtil.addAction(group, action, filtered); } - return group; } } diff --git a/platform/platform-resources/src/idea/LangActions.xml b/platform/platform-resources/src/idea/LangActions.xml index 5ba8666f00f4..be7df8c94155 100644 --- a/platform/platform-resources/src/idea/LangActions.xml +++ b/platform/platform-resources/src/idea/LangActions.xml @@ -716,23 +716,10 @@ - - - - - - - - - - - - - - - - + + + @@ -765,6 +752,18 @@ + + + + + + + + + + + + diff --git a/resources/src/idea/JavaActions.xml b/resources/src/idea/JavaActions.xml index 4eb55764cddd..cfeace979440 100644 --- a/resources/src/idea/JavaActions.xml +++ b/resources/src/idea/JavaActions.xml @@ -125,6 +125,7 @@ + @@ -206,12 +207,15 @@ + + + - + - +