Document.DTE Property

Definition

Gets the top-level extensibility object.

public:
 property EnvDTE::DTE ^ DTE { EnvDTE::DTE ^ get(); };
public:
 property EnvDTE::DTE ^ DTE { EnvDTE::DTE ^ get(); };
[System.Runtime.InteropServices.DispId(100)]
public EnvDTE.DTE DTE { [System.Runtime.InteropServices.DispId(100)] get; }
[<System.Runtime.InteropServices.DispId(100)>]
[<get: System.Runtime.InteropServices.DispId(100)>]
member this.DTE : EnvDTE.DTE
Public ReadOnly Property DTE As DTE

Property Value

DTE

A DTE object.

Attributes

Examples

public void CodeExample(DTE2 dte, AddIn addin)  
{     
    try  
    {   // Before running, create two text files named "TextFile1.txt"  
        // and "TextFile2.txt", include them in your solution,  
        // and then open them. Notice changes when code executes.  
        Document doc, doc2;  
        string msg = "";  
        string msg2 = "";  
        if (dte.Documents.Count > 0)  
        {  
            doc = dte.Documents.Item("TextFile1.txt");  
            // Find specified text.  
            if (doc.MarkText("text to find", 0))  
            {  
                msg += "(1) The text was found!\n"; //MessageBox.Show("The text was found");  
                // Delete the bookmark created by MarkText.  
                doc.ClearBookmarks();  
            }  
            if (doc.ReplaceText("text to find", "was replaced by this", 0))  
                msg += "(2) It [was replaced by this].\n";  
            if (doc.Undo())  
                msg += "(3) The ReplaceText method has been undone.\n";  
            if (doc.Redo())  
                msg += "(4) The ReplaceText method had been redone.\n";  
            // This will bring the other document to the foreground.  
            doc2 = doc.Collection.Item("TextFile2.txt");  
            doc2.Activate();  
            // Have these documents been saved?  
            foreach (Document dc in dte.Documents)  
            {  
                if (dc.Saved) msg += dc.Name + " has been saved.\n";  
            }  
            MessageBox.Show(msg, "Example Output");  
            // Access the application object.  
            msg2 += doc2.DTE.Name + " is the application object.\n";  
            // Show the Guid for the document.  
            msg2 += doc2.Kind + " is the Guid for this document.\n";  
            // Show the language used author the code  
            msg2 += doc2.Language + " is the language used in this document.\n";  
            // Show the document's name.  
            msg2 += doc2.Name + " is the name of this document.\n";  
            // Get the projectitem associated with this document  
            msg2 += doc2.ProjectItem.Name + " is the ProjectItem associated with this document.\n";  
            // Show the document type.  
            msg2 += doc2.Type + " is the type of document.\n";  
            foreach (Window win in doc2.Windows)  
            {  
                msg2 += win.Caption + " is a window.\n";  
            }  
            MessageBox.Show(msg2, "Example Output");  
        }  
        else MessageBox.Show("Sample not setup properly.");  
    }  
    catch(Exception ex)  
    {  
        MessageBox.Show(ex.Message);  
    }  
}  

Remarks

In Visual Studio, the DTE object is the root of the automation model, which other object models often call "Application."

Applies to