diff --git a/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs b/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs index 1da58d4469..a611aee6eb 100644 --- a/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs +++ b/src/Main/Base/Project/Src/Commands/MenuItemBuilders.cs @@ -104,16 +104,13 @@ namespace ICSharpCode.SharpDevelop.Commands Process p = (Process)sender; string output = p.StandardOutput.ReadToEnd(); - TaskService.BuildMessageViewCategory.AppendText(Environment.NewLine + "Exited with code:" + p.ExitCode + Environment.NewLine); + TaskService.BuildMessageViewCategory.AppendText(output + Environment.NewLine + "Exited with code:" + p.ExitCode + Environment.NewLine); } void ToolEvt(object sender, EventArgs e) { MenuCommand item = (MenuCommand)sender; - - - for (int i = 0; i < ToolLoader.Tool.Count; ++i) { if (item.Text == ToolLoader.Tool[i].ToString()) { ExternalTool tool = (ExternalTool)ToolLoader.Tool[i]; @@ -149,6 +146,16 @@ namespace ICSharpCode.SharpDevelop.Commands string command = StringParser.Parse(tool.Command); string args = StringParser.Parse(tool.Arguments); + if (tool.PromptForArguments) { + InputBox box = new InputBox(); + box.Text = tool.MenuCommand; + box.Label.Text = "Enter arguments for the tool:"; + box.TextBox.Text = args; + if (box.ShowDialog() != DialogResult.OK) + return; + args = box.TextBox.Text; + } + try { ProcessStartInfo startinfo; if (args == null || args.Length == 0 || args.Trim('"', ' ').Length == 0) {