将整个调试控制台输出发送到剪贴板?

时间:2014-08-02 16:58:42

标签: c# .net vb.net winforms envdte

我想知道 C# VB.NET ,如果我可以随时发送所有输出的内容调试我的IDE控制台到剪贴板。

vb.net中的伪代码示例:

For x as integer = 0 to integer.maxvalue
    debug.writeline("test console line " & x)
next

Clipboard.SetText(Debug.Output)

我想复制调试控制台的所有行,包括执行时写的消息,只需要ALL:

  

WindowsApplication6.vshost.exe' (CLR v4.0.30319:   WindowsApplication6.vshost.exe):已加载   ' C:\的Windows \ Microsoft.Net \组件\ GAC_64 \ mscorlib程序\ v4.0_4.0.0.0__b77a5c561934e089 \ mscorlib.dll中&#39 ;.   跳过加载符号。模块已优化并具有调试器选项   ' Just My Code'已启用。等...测试控制台第1行测试控制台   第2行测试控制台第3行等......

我希望可能使用DTE(或更容易),可以做任何想法吗?

1 个答案:

答案 0 :(得分:3)

我会这样:

EnvDTE80.DTE2 dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.GetActiveObject("VisualStudio.DTE.12.0");
TextSelection sel = dte2.ToolWindows.OutputWindow.OutputWindowPanes.Item("Debug").TextDocument.Selection;
sel.StartOfDocument(false);
sel.EndOfDocument(true);
Clipboard.SetText(sel.Text);