VS2010 Addins 外接程序(插件)開發
簡單做了一個添加文件頭注視的插件,算作是學習。
首先看一下界面
外接程序是在 Visual Studio 集成開發環境 (IDE) 中運行的已編譯的 DLL。 編譯可以保護知識產權和提高性能。 雖然可以手動創建外接程序,但使用“外接程序向導”更為簡便。 此向導創建一個功能全面但卻很基本的外接程序,創建完該程序后可立即運行它。 “外接程序向導”生成基本的空程序后,可向其添加代碼並對其進行自定義。
“外接程序向導”讓您可以為外接程序提供顯示名稱和說明。 這兩項內容都將出現在“外接程序管理器”中。 還可以選擇讓向導生成代碼,用於向“工具”菜單中添加可打開外接程序的命令。您也可以選擇為外接程序顯示一個自定義“關於”對話框。 向導完成時,將生成只有一個類的新項目(名為 Connect),該項目實現外接程序。
第一步 創建解決方案
這里使用的是VS2010 、C#、WinForm
文件→新建→項目→其他項目類型→擴展性→Visual Studio 外接程序,修改名稱、位置、解決方案名稱等信息,點擊確定
第二步 根據外接程序想道創建項目
當然,你如果已經是高手了,可以不用使用向導創建 項目。
如圖
下一步,選擇使用C#創建外接程序
下一步,選擇使用應用程序主機,有兩個選項,Microsoft Visual Studio 2010 和Microsoft Visual Studio 2010 Macros(宏),兩個都勾選
下一步,填寫外界程序名稱和說明
下一步,在選擇外接程序選項中,在“是否為外接程序創建命令欄用戶界面?”中勾選“是的,創建工具菜單項“,向導會為你在工具菜單中創建一個菜單
下一步,關於信息,根據需要勾選是否生成關於對話框
下一步,完成
這樣系統向導就為你創建了一個項目,並且生成了一個Connect類,實現IDTExtensibility2和IDTCommandTarget接口
第三步 創建一個窗口
在項目上,右鍵,添加一個WinForm窗口,我在這里命名為MainForm
第四步 在MainForm類中添加application對象
/// <summary> /// application對象 /// </summary> private DTE2 _applicationObject; /// <summary> /// /// </summary> public DTE2 applicationObject { get { return _applicationObject; } set { this._applicationObject = value; } }
第五步 顯示這個創建的窗口
在Connect類中找到public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled)這個方法
/// <summary>實現 IDTCommandTarget 接口的 Exec 方法。此方法在調用該命令時調用。</summary> /// <param term='commandName'>要執行的命令的名稱。</param> /// <param term='executeOption'>描述該命令應如何運行。</param> /// <param term='varIn'>從調用方傳遞到命令處理程序的參數。</param> /// <param term='varOut'>從命令處理程序傳遞到調用方的參數。</param> /// <param term='handled'>通知調用方此命令是否已被處理。</param> /// <seealso class='Exec' /> public void Exec(string commandName, vsCommandExecOption executeOption, ref object varIn, ref object varOut, ref bool handled) { handled = false; if(executeOption == vsCommandExecOption.vsCommandExecOptionDoDefault) { if(commandName == "MyHeadeAddin.Connect.MyHeadeAddin") { //此處添加自己的邏輯代碼 MainForm mainF = new MainForm(); mainF.applicationObject = _applicationObject; mainF.Show(); handled = true; return; } } }
第六步 運行調試
運行后會打開一個新的VS2010,在工具菜單中會多出一個我們自己外接程序的菜單
點擊這個按鈕,我們創建的窗口就會彈出來了!
至於其他操作,就可以在這個MainForm的基礎上進行了。
對VS2010 IDE的一些操作主要圍繞DTE2的applicationObject實例對象來進行。
在 EnvDTE80、EnvDTE90、 EnvDTE90a 和 EnvDTE100 命名空間中包含更改和新功能。添加對 EnvDTE.dll 的程序集引用時,您還必須將程序集的 “嵌入互操作類型”屬性設置為 false。
最后,如果要在其他計算機上使用,只需要將.AddIn和生成的.dll文件放到 文檔目錄下的\Visual Studio 2010\Addins\目錄中即可,如圖:
第一次接觸插件開發,還是從我的一個師哥那接觸的。
插件下載地址:http://files.cnblogs.com/zsmhhfy/HeadAddins.rar
另外參考:http://technet.microsoft.com/zh-cn/magazine/80493a3w.aspx