void () { boolean isHorizontalAndUnitedToolbar = PyExecuteConsoleCustomizer.Companion.getInstance().isHorizontalAndUnitedToolbar(); final DefaultActionGroup runToolbarActions = new DefaultActionGroup(); final ActionToolbar runActionsToolbar = ActionManager.getInstance().createActionToolbar("PydevConsoleRunner", runToolbarActions, isHorizontalAndUnitedToolbar); final JPanel actionsPanel = new JPanel(new BorderLayout()); // Left toolbar panel actionsPanel.add(runActionsToolbar.getComponent(), BorderLayout.WEST); final JPanel mainPanel = new JPanel(new BorderLayout()); mainPanel.add(myConsoleView.getComponent(), BorderLayout.CENTER); myConsoleView.setToolbar(runActionsToolbar); runActionsToolbar.setTargetComponent(mainPanel); final DefaultActionGroup outputToolbarActions = new DefaultActionGroup(); if (!isHorizontalAndUnitedToolbar) { final ActionToolbar outputActionsToolbar = ActionManager.getInstance().createActionToolbar("PydevConsoleRunner", outputToolbarActions, false); final JComponent outputActionsComponent = outputActionsToolbar.getComponent(); // Add line between toolbar panels int emptyBorderSize = outputActionsComponent.getBorder().getBorderInsets(outputActionsComponent).left; outputActionsComponent.setBorder(BorderFactory.createCompoundBorder(BorderFactory.createMatteBorder(0, 1, 0, 0, JBColor.border()), new JBEmptyBorder(emptyBorderSize))); // Right toolbar panel actionsPanel.add(outputActionsComponent, BorderLayout.CENTER); // Add Toolbar for PythonConsoleView myConsoleView.setToolbar(outputActionsToolbar); outputActionsToolbar.setTargetComponent(mainPanel); mainPanel.add(actionsPanel, BorderLayout.WEST); } else { mainPanel.add(actionsPanel, BorderLayout.PAGE_START); } if (myConsoleInitTitle == null) { ConsoleTitleGen consoleTitleGen = new ConsoleTitleGen(myProject, myTitle) { @NotNull @Override protected List<String> getActiveConsoles(@NotNull String consoleTitle) { PythonConsoleToolWindow toolWindow = PythonConsoleToolWindow.getInstance(myProject); if (toolWindow != null && toolWindow.isInitialized()) { return Arrays.stream(toolWindow.getToolWindow().getContentManager().getContents()).map(c -> c.getDisplayName()) .filter(s -> s.startsWith(myTitle)).collect(Collectors.toList()); } else { return super.getActiveConsoles(consoleTitle); } } }; myConsoleInitTitle = consoleTitleGen.makeTitle(); } final RunContentDescriptor contentDescriptor = new RunContentDescriptor(myConsoleView, myProcessHandler, mainPanel, myConsoleInitTitle, null); Disposer.register(PythonPluginDisposable.getInstance(myProject), contentDescriptor); contentDescriptor.setFocusComputable(() -> myConsoleView.getConsoleEditor().getContentComponent()); contentDescriptor.setAutoFocusContent(true); // tool bar actions final List<AnAction> actions = fillRunActionsToolbar(runToolbarActions); registerActionShortcuts(actions, myConsoleView.getConsoleEditor().getComponent()); registerActionShortcuts(actions, mainPanel); getConsoleView().addConsoleFolding(false, false); showContentDescriptor(contentDescriptor); }