可以說<b>木匠</b>讓小時的我第一次感受到了<b>專業</b>,雖然那時還不知道專業這個詞,尤其是那些有年紀的老木匠,專注地在那鋸木頭、釘釘子、刨出帶着香味的木花。他們有其他人所沒有的工具,更重要的是他們掌握了那些工具。VS正是我們手頭的工具,它可以是錘子,也可以是鋸、刨子,如果你能掌握它,而且要掌握的好。
我向來喜歡了解手頭工具的方方面面(也許與我的思維方式有關,總想了解得更多)。我甚至覺得,<b>對于最常用的工具,了解得越多越好</b>——今天掌握了一個小功能,未來兩三年都會受益。
上面是我對<b>工具</b>的一點感想。VS越來越強大了,在VS 2010 Beta1中我又看到一直想要的兩個功能,但我确信,擴充仍是不可避免的,因為VS面向的是所有的開發人員,它隻能夠提供最通用的功能,是以就有了這個文章系列。
在這個過程中,我盡量以<b>有用的執行個體</b>介紹VS 2008可擴充性開發的每個方面,我讨厭HelloWorld。在之前使用過的例子中,包括了園友、同僚和自己的一些需求,下面列出随筆的連結:
簡要介紹了VS的曆史及其基本要素,幫助建立起對它的感性認識。
通過兩個簡單的例子來說明Macro和Add-In的開發。
主要關注的是Add-In向導所産生的代碼,其中的重點是Connect.cs和.Addin檔案
主要介紹了VS Add-In的事件和生命周期。
首先介紹了指令和指令欄的概念,然後解釋了如何添加、執行指令,以及如何執行VS内置的指令。
介紹與解決方案、項目和檔案(夾)相關的操作。
解決方案管理器是VS中最重要的UI元素之一,本文就介紹對它的操作。
介紹如何對文本編輯器進行擴充。
首先是如何通路、操作那些内置的工具視窗,如Solution Explorer、Output Window等等;然後介紹了如何建立自定義的工具視窗
為Add-In添加選項頁(Options Page),設定菜單項的圖示。
還有下面幾篇相關的随筆:
<a target="_blank" href="http://www.cnblogs.com/anderslly/archive/2009/01/18/vs2008-templates.html">談談VS中的模闆</a>
<a href="http://www.cnblogs.com/anderslly/archive/2009/05/30/vs-addin-code-converter.html" target="_blank">給VS添加代碼轉換功能</a>
其實,還有一個比較重要的主題沒有寫,就是CodeModel(比如代碼中的命名空間、類、方法等等),但是找不到合适的例子,寫了也隻是些API介紹而已,隻好作罷。
中間主要參考了兩本書,開始是這一本《Professional Visual Studio® 2008 Extensibility》,說實話,這本書很一般,最多三星,基本上是API的介紹和HelloWorld的例子,但是VS可擴充性開發比較獨立、單純,當作參考手冊來看看還是可以的,最好的參考是MSDN;第二本是《Working with Microsoft Visual Studio® 2005》,這本書還不錯,有些地方對運作機制做了介紹,值得看一下。
很多朋友一聽我說VS擴充開發,第一反應往往是,這玩意兒很複雜吧?完全不是。在寫這些随筆的過程中,我感覺隻要了解了基本的思路,開發起來跟普通應用的開發沒什麼差别,是以不要再因為覺得擴充複雜而放棄了:)
雖然這個随筆系列結束了,不過對VS的擴充仍然會繼續,隻要我覺得能夠實作。希望這些能給你帶來一些幫助。
本文轉自一個程式員的自省部落格園部落格,原文連結:http://www.cnblogs.com/anderslly/archive/2009/05/30/vs-addin-summary.html,如需轉載請自行聯系原作者。