在Visual Studio“15”開發工作的技術預覽階段,微軟稱自己的主要目標之一是改善性能。他們已經對這些改進進行過一定程度的介紹,最近又通過更全面的信息進一步介紹了這些變化。本文將介紹這些讓VS“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”即可生效。該功能位于選項 | 項目和解決方案對話框中,可通過“輕型解決方案加載(實驗)”選項開啟。
查看英文原文:Improvements to Visual Studio “15” Startup