OutputWindowPane.TextDocument Property

Gets the TextDocument object for the OutputWindowPane .

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Syntax

'Declaration
ReadOnly Property TextDocument As TextDocument
TextDocument TextDocument { get; }
property TextDocument^ TextDocument {
    TextDocument^ get ();
}
abstract TextDocument : TextDocument with get
function get TextDocument () : TextDocument

Property Value

Type: EnvDTE.TextDocument
A TextDocument object.

Remarks

Attempting to modify the document through this property or an EditPoint fails because the entire document's region is read-only. You can modify the document only through members on CommandWindow.

Examples

Sub TextDocumentExample(ByVal dte As DTE2)

    ' Retrieve and show the Output window.
    Dim outWin As OutputWindow = dte.ToolWindows.OutputWindow
    outWin.Parent.AutoHides = False
    outWin.Parent.Activate()

    ' Find the "Pane1" Output window pane; if it does not exist, 
    ' create it.
    Dim pane1 As OutputWindowPane
    Try
        pane1 = outWin.OutputWindowPanes.Item("Pane1")
    Catch
        pane1 = outWin.OutputWindowPanes.Add("Pane1")
    Finally
        pane1.Clear()
    End Try

    ' Write 10 lines of text to Pane1.
    Dim i As Integer
    For i = 1 To 10
        pane1.OutputString("Line " & i.ToString() & vbCrLf)
    Next

    ' Retrieve the text from Pane1.
    Dim doc As TextDocument = pane1.TextDocument
    Dim sel As TextSelection = doc.Selection

    sel.StartOfDocument()
    sel.EndOfDocument(True)

    MsgBox("Text in Pane1:" & vbCrLf & vbCrLf & sel.Text)

End Sub
public void TextDocumentExample(DTE2 dte)
{
    // Retrieve and show the Output window.
    OutputWindow outWin = dte.ToolWindows.OutputWindow;
    outWin.Parent.AutoHides = false;
    outWin.Parent.Activate();

    // Find the "Pane1" Output window pane; if it does not exist, 
    // create it.
    OutputWindowPane pane1 = null;
    try
    {
        pane1 = outWin.OutputWindowPanes.Item("Pane1");
    }
    catch
    {
        pane1 = outWin.OutputWindowPanes.Add("Pane1");
    }
    finally
    {
        pane1.Clear();
    }

    // Write 10 lines of text to Pane1.
    for (int i = 1; i <= 10; i++)
        pane1.OutputString("Line " + i.ToString() + "\n");

    // Retrieve the text from Pane1.
    TextDocument doc = pane1.TextDocument;
    TextSelection sel = doc.Selection;

    sel.StartOfDocument(false);
    sel.EndOfDocument(true);

    MessageBox.Show("Text in Pane1:\n\n" + sel.Text);
}

.NET Framework Security

See Also

Reference

OutputWindowPane Interface

EnvDTE Namespace

Other Resources

How to: Compile and Run the Automation Object Model Code Examples