Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力)

系列文章

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~请持续关注吧~

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java与Android技术栈

对Xposed的认识和思考

能够修改微信运动的步数,我修改了微信小号走路的步数,其实只是 hook 了传感器的 api 而已。

13820
来自专栏张善友的专栏

重磅消息-Service Fabric 正式开源

15450
来自专栏张善友的专栏

Mix 08到来之前的Monolight Update

在Mix08到来之前Mono团队老大Miguel de Icaza's在blog上发布了Pre-Mix 08: Moonlight Updates。根据这篇bl...

19990
来自专栏我和未来有约会

Web 开发的演变:转向 Web.Next

CERN 的 Tim Berners-Lee 发明现代 Web 时的初衷是将其作为允许在基于网络的系统上存储和链接静态文档的系统。之后的数年间,随着创新的发展和...

230100
来自专栏张善友的专栏

微软开源 WCF 分布式服务框架,并入 .NET 基金会项目

微软北京时间2015.5.20 在其 .NET Foundation GitHub 开源项目页中开放了 WCF 分布式服务框架的代码。WCF突然之间成为一个热门...

29160
来自专栏郑建军的专栏

微信 PaxosStore:理论基础与创新设计

本文从以下四个方面介绍了微信 PaxosStore的理论基础与创新:-PaxosStore项目介绍; Paxos协议过程与实现;PaxosLog优化与设计分析;...

1.3K10
来自专栏张善友的专栏

用于.NET的可移植HTTP客户端

直到最近,关于在.NET、Silverlight、Windows Phone和Windows Store之间分享代码的问题之一,依旧是缺少发起HTTP请求的能力...

22990
来自专栏张善友的专栏

来腾讯云开发者实验室学习.NET

腾讯云开发者实验室为开发者提供了一个零门槛的在线实验平台,开发者实验室提供的能力: 零门槛扫码即可免费领取实验机器,支持使用自有机器参与,实验完成后支持保留实验...

45890
来自专栏张善友的专栏

.NET StockTrader 2.0 新版本

为了扩大高性能.NET应用程序在多种层次和平台上的应用范围以及促进Windows通讯基础(WCF)的应用,微软2008年10月7日发布了一个样本应用程序、应用指...

23770
来自专栏Java技术栈

腾讯,排行前10的开源项目

1、Tars Tars是腾讯从2008年到今天一直在使用的后台逻辑层的统一应用框架TAF(Total Application Framework),目前支持C+...

47150

扫码关注云+社区

领取腾讯云代金券