手把手教你制作vs2005裝飾
如果把.net開發人員比作是行走江湖的俠客,那vs就好比是俠客手中的劍,比武的時候講究的的一寸長,一寸強,那我們應該如何改善我們的武器呢?鐵匠鋪的鐵匠老軟早就為我們做好了準備,他在我們的武器上裝了很多環,打了很多洞,我們完全可以在這些環或洞上鑲嵌珠寶,讓這把劍更加靚麗,也可以在這把劍上裝上暗器,增加武器殺傷力,如果您自身還練就了九陽神功,配上這把倚天劍,包你很快就知道無敵真寂寞的滋味。哈哈。不胡謅了,言歸正傳,本文通過詳細的操作步驟講述一個裝飾vs2005的故事。
讓我們打開vs2005,選擇創建項目,在接下來的向導中選擇項目模板:其他項目類型-擴展性-visual studio外接程序,然后給我們的大鉆石起個漂亮的名字:RecentProjectCleaner。忘記說了,這個外接程序要完成的任務是在菜單的工具欄創建一個子菜單,點擊這個子菜單可以呼出我們的暗器,這個暗器用來清除vs2005起始頁中的最近項目列表、 第一個步驟的圖示如下:

然后,一路next,直到出現選擇外接程序選項對話框的時候,選擇如下:

點擊下一步,完成向導后,項目模板會自動生成的文件列表如下:
CommandBar.resx ----------- 這個是命令欄的資源文件
Connect.cs ----------- 是一個繼承了IDTExtensibility2, IDTCommandTarget的類,是addins的實現類
RecentProjectCleaner.AddIn -------------------這個是addins進行xcopy部署的配置文件,部署的時候拷貝到C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Addins
RecentProjectCleaner - For Testing.AddIn -------------這個是調試運行的的測試類,在調試的時候,這個文件會自動拷貝到C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Addins位置
首先介紹最主要的文件Connect.cs ,這個類包含如下的實現方法
OnConnection - 處理外接程序加載的時候觸發
OnDisconnection - 在處理外接程序卸載的時候觸發
OnAddInsUpdate - 外接程序出現更新的時候觸發
OnStartupComplete - 外接程序加載結束時候觸發
OnBeginShutdown - 開始卸載的時候觸發
QueryStatus - 查詢狀態
Exec - 執行命令
本例中,我們實現的目的是:在工具菜單上創建一個新的子菜單,點擊這個菜單,能夠清除啟動頁最近項目列表,所以我們需要做的是
1) 在外接程序加載的時候,創建菜單
2) 點擊菜單,執行刪除最近列表項的命令
3) 卸載的時候,刪除新增菜單項
所以添加工具子菜單的代碼要添加到OnConnection 中如下:
OnConnection
執行命令的操作添加到Exec中,
Exec
在程序卸載的時候,卸載菜單項
OnDisconnection
這樣一個非常簡單的vs2005addins就制作成功了,接下來您就可以將該程序部署到你的倚天劍上了,部署方法超級簡單,和vs03不同的是,05支持xcopy部署,您可以將RecentProjectCleaner.AddIn和生成的RecentProjectCleaner.dll拷貝到C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Addins,就完成了addins的部署,值得說下的是RecentProjectCleaner.AddIn,這個文件描述了vs2005應該如何認識新增的伙計,它里面定義了宿主應用程序的信息(名稱,版本)和addins的信息(所在程序集,類名,加載方式),如果您想在部署后讓addins立即被啟用,將LoadBehavior設置為1,還有不知道是我本地項目模板的問題還是其他原因,默認創建的RecentProjectCleaner.AddIn里面的Assembly多了.dll。也就是RecentProjectCleaner.dll,這樣的dll顯然不存在,去掉一個.dll,就可以了
看下部署后的效果吧:重新啟動vs2005,點擊工具,菜單就多了一項:RecentProjectCleaner,如圖

點擊外接程序管理器,可以多了一項RecentProjectCleaner
在菜單中點擊RecentProjectCleaner,選擇清除,重啟vs2005,最近列表項就清除了。
這里是源程序,這里只是一個的介紹,大家可以下載下去擴展,很好玩
/Files/jillzhang/RecentProjectCleaner.rar
讓我們打開vs2005,選擇創建項目,在接下來的向導中選擇項目模板:其他項目類型-擴展性-visual studio外接程序,然后給我們的大鉆石起個漂亮的名字:RecentProjectCleaner。忘記說了,這個外接程序要完成的任務是在菜單的工具欄創建一個子菜單,點擊這個子菜單可以呼出我們的暗器,這個暗器用來清除vs2005起始頁中的最近項目列表、 第一個步驟的圖示如下:
然后,一路next,直到出現選擇外接程序選項對話框的時候,選擇如下:
點擊下一步,完成向導后,項目模板會自動生成的文件列表如下:
CommandBar.resx ----------- 這個是命令欄的資源文件
Connect.cs ----------- 是一個繼承了IDTExtensibility2, IDTCommandTarget的類,是addins的實現類
RecentProjectCleaner.AddIn -------------------這個是addins進行xcopy部署的配置文件,部署的時候拷貝到C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Addins
RecentProjectCleaner - For Testing.AddIn -------------這個是調試運行的的測試類,在調試的時候,這個文件會自動拷貝到C:\Documents and Settings\Administrator\My Documents\Visual Studio 2005\Addins位置
首先介紹最主要的文件Connect.cs ,這個類包含如下的實現方法
OnConnection - 處理外接程序加載的時候觸發
OnDisconnection - 在處理外接程序卸載的時候觸發
OnAddInsUpdate - 外接程序出現更新的時候觸發
OnStartupComplete - 外接程序加載結束時候觸發
OnBeginShutdown - 開始卸載的時候觸發
QueryStatus - 查詢狀態
Exec - 執行命令
本例中,我們實現的目的是:在工具菜單上創建一個新的子菜單,點擊這個菜單,能夠清除啟動頁最近項目列表,所以我們需要做的是
1) 在外接程序加載的時候,創建菜單
2) 點擊菜單,執行刪除最近列表項的命令
3) 卸載的時候,刪除新增菜單項
所以添加工具子菜單的代碼要添加到OnConnection 中如下:
看下部署后的效果吧:重新啟動vs2005,點擊工具,菜單就多了一項:RecentProjectCleaner,如圖
點擊外接程序管理器,可以多了一項RecentProjectCleaner
在菜單中點擊RecentProjectCleaner,選擇清除,重啟vs2005,最近列表項就清除了。
這里是源程序,這里只是一個的介紹,大家可以下載下去擴展,很好玩
/Files/jillzhang/RecentProjectCleaner.rar
作者:jillzhang
出處:http://jillzhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。
出處:http://jillzhang.cnblogs.com/
本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利。





}
浙公網安備 33010602011771號