可以说<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,如需转载请自行联系原作者。