之前已经报道过,在Visual Studio 15中Microsoft优先要处理的问题就是缩减启动时间和编辑器安装包的大小,而这势必会改变插件的使用方式。正如Microsoft公司的Tim Sneath所说,为了支持这些新功能插件开发者需要做出一些改变。
Microsoft在Visual Studio插件方面始终面临着一个困境:为了让插件既有用又功能强大,Microsoft将很多本来只能自己使用的Visual Studio API开放了出来。这样做的负面影响就是难以禁用具有不良行为、影响编辑器性能的插件。而在Visual Studio 15中,当插件对编辑器的性能有负面影响的时候,用户会收到相应的反馈。
在主编辑器启动时,如果有插件要加载,那么Visual Studio会测量加载时间。一旦该加载时间超过了内部定义的阈值,Visual Studio就会通知用户,如果之后插件依然需要很长的加载时间,那么Visual Studio就会为用户展现禁用该插件的选项。在使用编辑器的时候,对输入响应有消极影响的插件也会触发单独的通知,让用户可以选择禁用该插件。
因为Microsoft的目标是让Visual Studio尽可能快地运行,所以Visual Studio 15的一项非常重要的改进就是用户可以非常容易地根据需要安装组件(Web、移动手机等),而首次未安装的组件将来也可以在需要的时候继续安装。改进后的安装方式可能会对现有插件造成一定的影响,因为它们可能依赖于现有的一些特定功能。此外,Microsoft还修改了插件所使用的VSIX manifest文件,以便让Visual Studio能够识别出插件运行所必需但是缺失的组件并自动安装,该修改有望在Visual Studio 15的下一个预览版中发布。
插件开发者也将受益于这些新特性:插件可以在安装的时候编译成本地镜像以提升性能;可以将文件安装到插件文件夹之外的位置,也就是说MSBuild这样的组件以后可以由插件安装。
Visual Studio 15为插件带来了很多新特性,但是也带来了一些问题:利用新特性编写的插件会向后兼容么?来自于Microsoft的Justin Clareburt透露,通常兼容性将会维护到Visual Studio 2012,但是他没有介绍现在使用Visual Studio 15新特性编写的插件在将来的版本中会如何处理。可以想象,虽然插件可以非常容易地绕过本地镜像支持,但是如果一个Visual Studio插件试图在2013上将文件安装到插件文件夹之外时会发生什么呢?InfoQ将会持续关注并对此进行报道。
查看英文原文:Extending Visual Studio "15"
本文转自d1net(转载)