void (AnAction @NotNull [] restartActions, AnAction @NotNull [] consoleActions, AnAction @NotNull [] additionalActions) { toolbar = createActionToolbar(restartActions, consoleActions, additionalActions); if (UIExperiment.isNewDebuggerUIEnabled()) { var isVerticalToolbar = Registry.get("debugger.new.tool.window.layout.toolbar").isOptionEnabled("Vertical"); if (Registry.is("debugger.new.tool.window.layout.single.content", false)) { mySupplier = new RunTabSupplier(toolbar) { { setMoveToolbar(!isVerticalToolbar); } @Override public @Nullable ActionGroup getToolbarActions() { return isVerticalToolbar ? ActionGroup.EMPTY_GROUP : super.getToolbarActions(); } @Override public @NotNull List<AnAction> getContentActions() { return List.of(myUi.getOptions().getLayoutActions()); } @Override public @NotNull String getMainToolbarPlace() { return ActionPlaces.RUNNER_TOOLBAR; } @Override public @NotNull String getContentToolbarPlace() { return ActionPlaces.RUNNER_TOOLBAR; } }; } if (myUi instanceof RunnerLayoutUiImpl) { ((RunnerLayoutUiImpl)myUi).setLeftToolbarVisible(isVerticalToolbar); } if (isVerticalToolbar) { myUi.getOptions().setLeftToolbar(toolbar, ActionPlaces.RUNNER_TOOLBAR); } else { // wrapped into DefaultActionGroup to prevent loading all actions instantly DefaultActionGroup topToolbar = new DefaultActionGroupWithDelegate(toolbar); topToolbar.add(new EmptyWhenDuplicate(toolbar, group -> group instanceof RunTab.ToolbarActionGroup)); myUi.getOptions().setTopLeftToolbar(topToolbar, ActionPlaces.RUNNER_TOOLBAR); } } else { myUi.getOptions().setLeftToolbar(toolbar, ActionPlaces.RUNNER_TOOLBAR); } }