Compartir a través de


Window2.DTE (Propiedad)

Obtiene el objeto de extensibilidad de nivel superior.

Espacio de nombres:  EnvDTE80
Ensamblado:  EnvDTE80 (en EnvDTE80.dll)

Sintaxis

'Declaración
ReadOnly Property DTE As DTE
    Get
DTE DTE { get; }
property DTE^ DTE {
    DTE^ get ();
}
abstract DTE : DTE
function get DTE () : DTE

Valor de propiedad

Tipo: EnvDTE.DTE
Objeto DTE.

Implementaciones

Window.DTE

Comentarios

En Visual Studio, el objeto DTE es la raíz del modelo de automatización, al que otros modelos de objetos suelen denominar "Application".

Ejemplos

Este ejemplo usa el objeto DTE, obtenido a través de un objeto Window2, para determinar si una Ventana de salida pertenece al IDE de macros o al IDE de Visual Studio.

Para obtener más información sobre cómo ejecutar este ejemplo como un complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.

Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    DTEExample(_applicationObject)
End Sub
Sub DTEExample(ByVal dte As DTE2)
    Dim msg As String = _
    "The current Output Window object belongs to the "
    Dim output As Window2 = _
 CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindOutput), Window2)
    If IsMacrosIDE(output.DTE) Then
        MsgBox(msg & "macros IDE.")
    Else
        MsgBox(msg & "main IDE.")
    End If
    output = _
 CType(dte.MacrosIDE.Windows.Item(Constants.vsWindowKindOutput), _
 Window2)
    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 
    ' is not the main DTE object.
    If IsNothing(ide.MacrosIDE) = False Then
        val = False
    End If
    Catch ex As Exception
    End Try
    Return val
End Function
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    DTEExample(_applicationObject);
}
public void DTEExample(DTE2 dte)
{
    String msg = "The current Output Window object belongs to the ";
    Window2 output = 
(Window2)_applicationObject.Windows.Item(Constants.vsWindowKindOutput);
    if (IsMacrosIDE(output.DTE))
        MessageBox.Show(msg + "macros IDE.");
    else
        MessageBox.Show(msg + "main IDE.");
    output = 
(Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindMacroExplorer);
    if (IsMacrosIDE(output.DTE))
        MessageBox.Show(msg + "macros IDE.");
    else
        MessageBox.Show(msg + "main IDE.");
}
public bool IsMacrosIDE(DTE ide)
{
    try
    {
        bool val = true;
        if (ide.MacrosIDE == null)
            val = false;
    }
    catch (Exception ex)
    {
    }
    return val;
}

Seguridad de .NET Framework

Vea también

Referencia

Window2 Interfaz

DTE (Sobrecarga)

EnvDTE80 (Espacio de nombres)