Visual Studio 2010

Visual Studio 的情况也如此。

DTE2 包含一些新功能,并承载了许多新建和更新的对象和集合。

DTE 中的对象和集合。

如何:添加对自动化命名空间的引用

DTE2 接口。

Windows 属性,而不会与 COM 应用程序一起正常工作

注意

使用设置

在 Visual Basic 和 C# 中引用 DTE2 对象

  • 在代码中添加以下内容:

     
    ' Get an instance of the currently running Visual Studio IDE.
    Dim DTE2 as EnvDTE80.DTE2
    DTE2 = System.Runtime.InteropServices.Marshal. _
    GetActiveObject("VisualStudio.DTE.10.0")
    
     
    // Get an instance of the currently running Visual Studio IDE.
    EnvDTE80.DTE2 dte2;
    dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.
    GetActiveObject("VisualStudio.DTE.10.0");
    
  • 若要在代码中引用宏 IDE 对象,请添加以下内容:

     
    ' Get an instance of the currently running Macros IDE.
    Dim DTE2 as EnvDTE80.DTE2
    Dim MacrosDTE2 as EnvDTE._DTE
    DTE2 = System.Runtime.InteropServices.Marshal.GetActiveObject_
    ("VisualStudio.DTE2")
    MacrosDTE2 = DTE2.MacrosIDE
    
     
    // Get an instance of the currently running Macros IDE.
    EnvDTE80.DTE2 dte2;
    EnvDTE.DTE MacrosDTE;
    dte2 = (EnvDTE80.DTE2)System.Runtime.InteropServices.Marshal.
    GetActiveObject("VisualStudio.DTE.10.0");
    MacrosDTE = dte2.MacrosIDE;
    

在 Visual C++ (ATL) 中引用 DTE 或 DTE2 对象

  • 在代码中输入以下内容:

     
     
    CComPtr<EnvDTE::_DTE> m_pDTE;
    CComPtr<EnvDTE80::DTE2> m_pDTE2;
    CLSID clsid;
    CLSID clsid2;
    CLSIDFromProgID(L"VisualStudio.DTE.10.0",&clsid);
    CLSIDFromProgID(L"VisualStudio.DTE.10.0",&clsid2);
    
    CComPtr<IUnknown> punk;
    CComPtr<IUnknown> punk2;
    // Get a running instance of Visual Studio.
    HRESULT hr = GetActiveObject(clsid,NULL,&punk);
    hr = GetActiveObject(clsid2,NULL,&punk2);
    m_pDTE = punk;
    m_pDTE2 = punk2;
    
  • 若要在代码中引用宏 IDE 对象,请添加以下内容:

     
     
    // Get an instance of the currently running Macros IDE.
    CComPtr<EnvDTE80::DTE2> m_pDTE2;
    CComPtr<EnvDTE::_DTE> m_pMacrosIDE;
    CLSID clsid;
    CLSIDFromProgID(L"VisualStudio.DTE.10.0",&clsid);
    CComPtr<IUnknown> punk;
    HRESULT hr = GetActiveObject(clsid,NULL,&punk);
    m_pDTE = punk;
    m_pDTE->get_MacrosIDE((void **)&m_pMacrosIDE);
    

相关文章:

  • 2021-10-10
  • 2022-01-12
  • 2021-08-11
  • 2021-09-05
  • 2022-12-23
  • 2022-12-23
  • 2021-07-10
猜你喜欢
  • 2022-03-09
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-28
  • 2021-11-28
相关资源
相似解决方案