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

简介: 系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studio 2015速递(3)——ASP.NET 新特性 前文提到过一个神器叫Resharper,功能强大,编码效率和代码质量那是蹭蹭的涨,但是神器的最大问题是太耗费资源了,每次系统提示内存不足的时候,那叫一个纠结啊。

系列文章

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

 

 

相关文章
|
8月前
|
存储 人工智能 数据库
|
IDE 安全 网络安全
JetBrains 官宣:与 Gitpod 合作,改善远程开发设施
美东时间 4 月 28 日,JetBrains 宣布和远程开发提供商 Gitpod 达成合作关系,将 Gitpod 集成到现有远程开发解决方案 JetBrains Gateway 之中。
179 0
JetBrains 官宣:与 Gitpod 合作,改善远程开发设施
|
机器学习/深度学习 人工智能 算法
微软推人人可用的机器学习,打通windows应用程序任督二脉,惠及5000万开发者
微软「Build开发者大会」首次线上开幕,CEO Nadella对开发者倾诉衷肠,微软此次推出了WhiteNoise等多个机器学习工具包,让你的机器学习模型更上一层楼,Project Reunion一统Windows应用程序开发!更有量子计算平台预览版,HoloLens、Office套件等强力升级更新。
194 0
微软推人人可用的机器学习,打通windows应用程序任督二脉,惠及5000万开发者
|
人工智能 算法 安全
微软核心业务即将上线Project Cortex:AI知识图谱大幅提升企业效率
微软正为旗下核心服务 Microsoft 365 引入知识图谱功能:通过 AI 算法对数据的整合,很快我们就可以在日常工作中享受人工智能技术带来的各种便利了。
174 0
微软核心业务即将上线Project Cortex:AI知识图谱大幅提升企业效率
|
数据可视化 前端开发 JavaScript
ThingJS是3D开发工具平台,未来的阻碍在哪里?
ThingJS是3D开发工具平台,支持在线开发和即时运行。
ThingJS是3D开发工具平台,未来的阻碍在哪里?
|
存储 运维 资源调度
阿里巴巴如何改善开发人员在 K8s 上的体验?
从 Kubernetes 到“以应用为中心”的美好未来之间,全世界的 PaaS 工程师其实都在期待一项全新的技术能够弥补这之间的鸿沟。阿里云原生应用平台团队的做法是,通过为应用“建模”的方式来解决这个问题,这也正是 Open Application Model (OAM) 开源项目得以创建的重要目的。
阿里巴巴如何改善开发人员在 K8s 上的体验?
|
IDE 开发工具
从立创EDA,Gratipay看中文编程开发环境和推广运营的一个趋势
从立创EDA看库管理和分享功能;开源、开放式项目运营的经验教训。
1272 0
|
弹性计算 Java 应用服务中间件
让开发部署提速 8 倍,我参与贡献这款 IDE 插件的全过程
如何像参与开源那样,去参与一款 IDE 插件的设计? 作为一款 IDE 插件的使用者,我是否能决定下一个版本的功能?
3514 0
|
机器学习/深度学习 自然语言处理 TensorFlow
搜狗开源业内最全「阅读理解工具集合」,助力研发人员快速构建高效模型
搜狗搜索在Github上开源“搜狗阅读理解工具集合”,提供了完整的阅读理解任务组件及10+个复现模型,极大降低了复现相关模型的难度。
1397 0