diff --git a/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java b/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java index 9b8c16caecf3..51677ab47890 100644 --- a/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java +++ b/platform/lang-impl/src/com/intellij/execution/util/ProgramParametersConfigurator.java @@ -60,7 +60,10 @@ public class ProgramParametersConfigurator { public static void addMacroSupport(@NotNull ExpandableTextField expandableTextField) { if (Registry.is("allow.macros.for.run.configurations")) { expandableTextField.addExtension(ExtendableTextComponent.Extension.create(AllIcons.General.Add, "Insert Macros", () - -> MacrosDialog.show(expandableTextField, macro -> !(macro instanceof PromptingMacro) && !(macro instanceof EditorMacro)))); + -> MacrosDialog.show(expandableTextField, macro -> { + if (macro instanceof PromptMacro) return true; + return !(macro instanceof PromptingMacro) && !(macro instanceof EditorMacro); + }))); } } @@ -69,8 +72,7 @@ public class ProgramParametersConfigurator { Collection macros = MacroManager.getInstance().getMacros(); for (Macro macro: macros) { String value = StringUtil.notNullize( - macro instanceof PromptingMacro || macro instanceof EditorMacro - ? null : + macro instanceof PromptMacro ? ((PromptMacro)macro).promptUser(): macro.preview(), ""); if (StringUtil.containsWhitespaces(value)) { value = "\"" + value + "\""; diff --git a/platform/lang-impl/src/com/intellij/ide/macro/PromptMacro.java b/platform/lang-impl/src/com/intellij/ide/macro/PromptMacro.java index 45cdcf5501f8..5eda05f42b62 100644 --- a/platform/lang-impl/src/com/intellij/ide/macro/PromptMacro.java +++ b/platform/lang-impl/src/com/intellij/ide/macro/PromptMacro.java @@ -35,6 +35,10 @@ public final class PromptMacro extends PromptingMacro implements SecondQueueExpa @Override @Nullable protected String promptUser(DataContext dataContext) { + return promptUser(); + } + + public String promptUser() { return Messages.showInputDialog(IdeBundle.message("prompt.enter.parameters"), IdeBundle.message("title.input"), Messages.getQuestionIcon()); }