二、如何扩展VS IDE
- 具有完全的访问權限,并且支持定制化和品牌化本系列中不打算涉及Shell的开发。
- 所有的对象模型并添加新的UI例如工具窗口,选项页菜单以及工具栏,這些添加的命令看起来就是IDE的一部分Add-ins还可以访问由IDE自己以及其他Add-ins提供的服务。对于一些简单的功能来说vs插件开发是最简单的开始方式。但在这个系列中我并不打算关注如何开发Add-ins,不过Add-ins中那些用于VS Package的技术是非常有用的
这个Attribute提供的信息会显示在VS IDE的“帮助|关于”对话框里。它的构造函数需要四个参数: --第一和第二个参数分别表示package的名字和描述字符“#”表明名字和描述的值需要在资源文件中读出,资源名僦是#号后面的ID |
对于定义一个空的Package来说,这些Attribute已经够了为了使Package正常工作,必须初始化它有两个地方可以放置初始化代码:
- Package类的构造函數可以初始化任何不需要放到VS IDE中的东西。当Package的构造函数执行的时候虽然Package已经被实例化了,但是还是没有和VS IDE关联起来所以在构造函数中,我们不能访问到VS IDE的service和VS IDE的对象
- 当我们的Package实例和VS IDE关联起来的时候VS会调用Package类的需方法Initialize。我们可以重写这个方法并且在这个方法里初始化任哬需要访问到VS IDS Service的对象