References.DTE Property

Gets the top-level extensibility object.

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

Syntax

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

Property Value

Type: EnvDTE.DTE
Returns a DTE object.

Remarks

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

Examples

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
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;
}

.NET Framework Security

See Also

Reference

References Interface

VSLangProj Namespace

Other Resources

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