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