@liuhui0803
2016-10-21T07:37:42.000000Z
字数 1285
阅读 2159
开发
VisualStudio15
.NET
微软
摘要:
在Visual Studio“15”开发工作的技术预览阶段,微软称自己的主要目标之一是改善性能。现在我们已经体验到各种改进,在让VS“15”启动速度更快的同时,也让主IDE的可用性更上一层楼。
正文:
在Visual Studio“15”开发工作的技术预览阶段,微软称自己的主要目标之一是改善性能。他们已经对这些改进进行过一定程度的介绍,最近又通过更全面的信息进一步介绍了这些变化。本文将介绍这些让VS“15”启动速度更快的改进。
微软项目经理Selma Ikiz提供了这一领域的细节,她的团队认为这些改进有助于加快VS“15”IDE本身的启动速度:全新安装后首次启动VS“15”,典型的启动过程,以及配置变更后启动VS“15”的速度都有显著提升。
针对第一种情况,IDE组件将尽可能延迟加载。诸如扩展管理器和Managed Extensibility Framework(MEF)等组件会在IDE加载的同时并行加载,借此开发者将能尽快开始使用该程序。根据微软的性能评测,该团队估计相比VS2015,VS“15”的启动速度大约可以加快三倍。
例行启动速度的改进解决了VS“15”大部分常见使用场景中的性能问题:在用户启动该程序完成日常工作时,Ikiz的团队注意到各种扩展是拖累Visual Studio启动速度的主要原因。在VS“15”中,扩展可以用异步的方式加载。类似的,Visual Studio的某些核心服务也可以异步加载。
当VS“15”检测到有加载速度太慢的扩展,会在IDE中显示一个只出现一次的通知。随后会通过一个专门的“管理Visual Studio性能”对话框列出影响启动速度的所有内容,包括扩展和编辑器窗口。扩展和工具窗口均可禁用,或维持原状不做更改,或也可在启动时自动隐藏。自动隐藏的工具窗口可由用户在程序启动后重新打开。
在Technical Preview 4中首次引入的有限形式的轻型解决方案加载(Lightweight Solution Load)在TP5中有了进一步完善。这一可选功能的目标在于让用户尽可能快速地获得可供使用的VS“15”。为此在打开一个解决方案后,程序并不会立刻加载该解决方案中包含的全部项目。每个项目将按需加载,此外很多例行任务(代码导航和编辑,以及项目构建)也不再要求必须完整加载项目。
目前该功能最大的受益者是大中型托管代码库。虽然也可用于C++等非托管语言,但这种情况下无法发挥该功能的全部收益。当所执行的操作需要加载某个被延迟加载的项目后,解决方案浏览器会通过文字信息和加载图标提醒用户该项目正在加载。
轻型解决方案加载在VS“15”中依然是一个可以随时启用的可选功能。启用/禁用该功能后无需重启动VS“15”即可生效。该功能位于选项
| 项目和解决方案
对话框中,可通过“轻型解决方案加载(实验)”选项开启。
作者:Jeff Martin,阅读英文原文:Improvements to Visual Studio “15” Startup