public override void Execute(LocalsCtxMenuContext context) { var output = new StringBuilderTextColorOutput(); foreach (var vm in context.SelectedItems) { //TODO: Break if it takes too long and the user cancels var printer = new ValuePrinter(output, debuggerSettings.UseHexadecimal); printer.WriteExpander(vm); output.Write(BoxedTextColor.Text, "\t"); // Add an extra here to emulate VS output output.Write(BoxedTextColor.Text, "\t"); printer.WriteName(vm); output.Write(BoxedTextColor.Text, "\t"); printer.WriteValue(vm); output.Write(BoxedTextColor.Text, "\t"); printer.WriteType(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { try { Clipboard.SetText(s); } catch (ExternalException) { } } }
protected override void Execute(LocalsCtxMenuContext context) { var output = new PlainTextOutput(); foreach (var vm in context.SelectedItems) { //TODO: Break if it takes too long and the user cancels var printer = new ValuePrinter(output, DebuggerSettings.Instance.UseHexadecimal); printer.WriteExpander(vm); output.Write('\t', TextTokenType.Text); // Add an extra here to emulate VS output output.Write('\t', TextTokenType.Text); printer.WriteName(vm); output.Write('\t', TextTokenType.Text); printer.WriteValue(vm); output.Write('\t', TextTokenType.Text); printer.WriteType(vm); output.WriteLine(); } var s = output.ToString(); if (s.Length > 0) { Clipboard.SetText(s); } }