void (@NotNull AnActionEvent e) { final GeneralColorsPage colorsPage = new GeneralColorsPage(); String fullDisplayName = CoverageBundle .message("configurable.name.editor.colors.page", ApplicationBundle.message("title.colors.and.fonts"), colorsPage.getDisplayName()); final ColorAndFontOptions colorAndFontOptions = new ColorAndFontOptions(){ @Override protected List<ColorAndFontPanelFactory> createPanelFactories() { final ColorAndFontPanelFactory panelFactory = new ColorAndFontPanelFactory() { @NotNull @Override public NewColorAndFontPanel createPanel(@NotNull ColorAndFontOptions options) { final SimpleEditorPreview preview = new SimpleEditorPreview(options, colorsPage); return NewColorAndFontPanel.create(preview, colorsPage.getDisplayName(), options, null, colorsPage); } @NlsContexts.ConfigurableName @NotNull @Override public String getPanelDisplayName() { return fullDisplayName; } }; return Collections.singletonList(panelFactory); } }; final Configurable[] configurables = colorAndFontOptions.buildConfigurables(); try { NewColorAndFontPanel page = colorAndFontOptions.findPage(fullDisplayName); final SearchableConfigurable general = colorAndFontOptions.findSubConfigurable(GeneralColorsPage.class); if (general != null && page != null) { final LineData lineData = getLineData(myLineNumber); ShowSettingsUtil.getInstance().editConfigurable(myEditor.getProject(), general, () -> page.selectOptionByType(getAttributesKey(lineData).getExternalName())); } } finally { for (Configurable configurable : configurables) { configurable.disposeUIResources(); } colorAndFontOptions.disposeUIResources(); } }