系列文章
Visual Studio 2015速遞(1)——C#6.0新特性怎么用
Visual Studio 2015速遞(2)——提升效率和質量(VS2015核心競爭力)
Visual Studio 2015速遞(3)——ASP.NET 新特性
前文提到過一個神器叫Resharper,功能強大,編碼效率和代碼質量那是蹭蹭的漲,但是神器的最大問題是太耗費資源了,每次系統提示內存不足的時候,那叫一個糾結啊。因此每次新的VS發布的時候都情不自禁的查看是否增強編輯功能,情不自禁的討論一番,這次VS2015也不例外。
去年微軟放出Roslyn的時候,微軟就曾經放出過一個“嘗鮮”版的VS編輯增強功能,恰恰就是重構(reflector),話說這個對控件開發太有用了,但是之前只有糾結的Resharper才有的,雖然它也不是很完整,當時還鼓動“群眾”去微軟功能收集網站上瘋狂點支持呢。一年過去,微軟正式命名Roslyn為.NET編譯平台(.NET Compiler Platform),得益於這個平台,微軟在VS2015完善了讓開發人員欣喜的編輯器增強。
- 點亮的小黃燈泡可以展開一個快速動作的入口(看着看着總覺得像是從Resharper搬過來的,哈哈),當代碼有為題的時候,提供各種修復建議。另外所有的重構功能也一到這里了,還增加了快捷鍵(Ctrl+<Dot>)。
- 支持臨時變量和本地變量重構,可以輕松把一個代碼塊替換成本地臨時變量或者反過來把臨時變量的執行塊放回去。
- 改名(renaming)有所增強,比如直接在編輯器里改名並應用到所有實例,還有一些典型場景下改名沖突問題都有所體現
除了上面的重構功能,微軟還做了其他的編輯器增強,主要是對於觸摸設備支持,高分辨率設備支持等等,在沒遇到問題之前,這些都不算什么,是以按下不表;但是對於Javascript編輯增強還是很有競爭力的,比如更好的導航,利用JSDoc改善智能提示,代碼折疊等等,想想當年那個好幾千行的wijmo widget實現,盡然覺得現在的“猿”們很幸福。
作為偉大的“程序猿”一員,僅僅有編輯器增強無疑是不夠看的,還渴求一個好的調試和診斷工具,一直以來VS在這一領域做的都不錯,但是還有有那么些痛處讓廣大“猿”們心里不安,當然,好消息是VS2015再次增強了調試和診斷工具,讓我們可以更從容准確的找到問題的症結。下面我們一起來看看這些讓其他開發環境羡慕,曾經很糾結的功能點吧:
- 附加調試時編輯執行(Edit and continue on Attach),想想無數次修某些小問題的時候,也就改了那么幾句話,想看效果,得等待IDE停掉當前的調試,然后編譯在啟動新的調試,每次花費的時間看起來不多,累計效果確實很驚人的,因此編輯執行功能對復雜的開發場景還是非常爽的。如今,VS添加了對附加調試的編輯執行的支持,這對於很多web開發來說非常有用,舉個例子,你在頁面里用了C1 Studio for .NET的web控件,放到IIS上了,發現問題可能是少設置了某個屬性,現在你只需要附加調試IIS,然后在合適時機通過編輯執行把這段代碼注入進去就可以了。
- 在調試窗口執行Lambda。比如從EF返回了一個Entity,然后本地掛了一堆LINQ,調試到一半,看看中間結果是否預期,很高興的在監視(Watch)、立即執行(Immediate)等窗口粘帖了一段代碼,回車,期待了好一會,IDE提示有Lambda,不能繼續,想想就很不爽。
- XAML UI調試工具,經過這么多年的發展,WPF也算是在界面層站住了腳,但是IDE對於界面的調試這一塊一直沒有起色,很多工具都是磕磕巴巴,不是性能問題就是交互性不好,具體來說,比如C1 XAML里的FlexGrid,老板突然跳出來讓你解釋一下自定義編輯器那啥的,還真不好說清楚。VS2015為此提供兩個小組件:Live Visual Tree和Live Property Explorer,打開界面,就可以實時調試界面上的很多細節,諸如元素位置,綁定細節等等。
- 另一個WPF的功能點是Timeline Tool,替代了前代的XAML UI Responsiveness tool,有點像Webkit里提供的開發人員工具里相似的時間線,能把應用程序的性能按時間線的方式展開。對於WPF的性能調優來說,很及時,比更早期Performance Tool好了不止一點點。
當然,實際VS2015還提供的更多其他效率和質量方面的增強,限於篇幅,這里就不贅述了,感興趣的童鞋可以一起討論。
下一篇我們會聊聊Asp.net~請持續關注吧~