自己动手编写一个VS插件(二)

STDMETHODIMP CConnect::OnConnection(IDispatch *pApplication, ext_ConnectMode ConnectMode, IDispatch *pAddInInst, SAFEARRAY ** /*自定义*/ ){HRESULT hr = S_OK;pApplication->QueryInterface(__uuidof(DTE2), (LPVOID*)&m_pDTE);pAddInInst->QueryInterface(__uuidof(AddIn), (LPVOID*)&m_pAddInInstance);switch(ConnectMode){case ext_cm_Startup:case ext_cm_AfterStartup:{// 初始化你的插件break;}default:break;}return hr;}OnStartupComplete的方法。所以正确的代码如下:

STDMETHODIMP CConnect::OnStartupComplete (SAFEARRAY ** /*自定义*/ ){// 初始化你的插件return S_OK;}// CConnectSTDMETHODIMP CConnect::OnConnection(IDispatch *pApplication, ext_ConnectMode ConnectMode, IDispatch *pAddInInst, SAFEARRAY ** /*自定义*/ ){HRESULT hr = S_OK;pApplication->QueryInterface(__uuidof(DTE2), (LPVOID*)&m_pDTE);pAddInInst->QueryInterface(__uuidof(AddIn), (LPVOID*)&m_pAddInInstance);switch(ConnectMode){case ext_cm_Startup:// 什么也不做,因为Visual Studio并没有完全初始化break;case ext_cm_AfterStartup:{OnStartupComplete(NULL);break;}default:break;}return hr;}

参考文献:

HOWTO: Usecorrectly the OnConnection method of a Visual Studio add-in,,Author:Carlos J. Quintero (Microsoft MVP)

版权声明:本文为博主原创文章,未经博主允许不得转载。

可是却依旧为对方擦去嘴角的油渍。

自己动手编写一个VS插件(二)

相关文章:

    你感兴趣的文章:

    标签云: