public static void performAction()

in idea-plugin/src/main/java/com/jetbrains/ide/streamdeck/util/ActionExecutor.java [105:130]


    public static void performAction(@NotNull AnAction action, @Nullable Component c) {
        if (c == null) {
            c = ApplicationManager.getApplication().getService(IdeFocusManager.class).getLastFocusedIdeWindow();
        }

        FileEditor fileEditor = new FocusBasedCurrentEditorProvider().getCurrentEditor();
        VirtualFile virtualFile = null;
        if (fileEditor != null) {
            virtualFile = fileEditor.getFile();
        }
        IdeFrame ideFrame = ApplicationManager.getApplication().getService(IdeFocusManager.class)
                .getLastFocusedFrame();
        if (ideFrame != null) {
            Project project = ideFrame.getProject();
            if (project != null) {
                Editor editor = ProjectUtil.getFocusedEditor(project);
                if (virtualFile != null) {
                    PsiFile psiFile = PsiManager.getInstance(project).findFile(virtualFile);
                }
            }
        }

        DataContext context = DataManager.getInstance().getDataContext(c);
        AnActionEvent event = ProjectUtil.createFromAnAction(action, null, ActionPlaces.MAIN_TOOLBAR, context);
        action.actionPerformed(event);
    }