Partilhar via


VSProject.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(3)]
public EnvDTE.DTE DTE { [System.Runtime.InteropServices.DispId(3)] get; }
[<System.Runtime.InteropServices.DispId(3)>]
[<get: System.Runtime.InteropServices.DispId(3)>]
member this.DTE : EnvDTE.DTE
Public ReadOnly Property DTE As DTE

Property Value

DTE

Returns a DTE object.

Attributes

Examples

[Visual Basic]

Sub DTEExample(ByVal dte As DTE2)  

    Dim msg As String = _  
        "The current Output Window object belongs to the "  
    Dim output As OutputWindow = dte.ToolWindows.OutputWindow  

    If IsMacrosIDE(output.DTE) Then  
        MsgBox(msg & "macros IDE.")  
    Else  
        MsgBox(msg & "main IDE.")  
    End If  

    output = CType(dte.MacrosIDE, DTE2).ToolWindows.OutputWindow  

    If IsMacrosIDE(output.DTE) Then  
        MsgBox(msg & "macros IDE.")  
    Else  
        MsgBox(msg & "main IDE.")  
    End If  

End Sub  

Function IsMacrosIDE(ByVal ide As DTE) As Boolean  

    Dim val As Boolean = True  

    Try  
        ' The MacrosIDE property will throw an exception if ide   
        ' isn't the main DTE object  
        If IsNothing(ide.MacrosIDE) = False Then  
            val = False  
        End If  

    Catch ex As Exception  
    End Try  

    Return val  

End Function  

[C#]

public void DTEExample(DTE2 dte)  
{  
    string msg = "The current Output Window object belongs to the ";  
    OutputWindow output = dte.ToolWindows.OutputWindow;  

    if (IsMacrosIDE(output.DTE))  
        MessageBox.Show(msg + "macros IDE.");  
    else  
        MessageBox.Show(msg + "main IDE.");  

    output = ((DTE2)dte.MacrosIDE).ToolWindows.OutputWindow;  

    if (IsMacrosIDE(output.DTE))  
        MessageBox.Show(msg + "macros IDE.");  
    else  
        MessageBox.Show(msg + "main IDE.");  
}  

bool IsMacrosIDE(DTE ide)  
{  
    bool val = true;  

    try  
    {  
        // The MacrosIDE property will throw an exception if ide   
        // isn't the main DTE object  
        if (ide.MacrosIDE != null)  
            val = false;  
    }  
    catch (Exception ex)  
    {  
    }  

    return val;  
}  

Remarks

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

Applies to