之前已经报道过,在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(转载)