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~请持续关注吧~
Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力)的更多相关文章
- Visual Studio 2015 速递(4)——高级特性之移动开发
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- Visual Studio 2015速递(3)——ASP.NET 新特性
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- Visual Studio 2015速递(1)——C#6.0新特性怎么用
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- Visual Studio 2015速递(4)——高级特性之移动开发
系列文章 Visual Studio 2015速递(1)——C#6.0新特性怎么用 Visual Studio 2015速递(2)——提升效率和质量(VS2015核心竞争力) Visual Studi ...
- .NET CORE 实践(3)--Visual Studio 2015 Update 3更新之后DotNetCore.1.0.1-VS2015Tools.Preview2.0.2.exe无法正确安装
打开 https://www.microsoft.com/net/core#windows,点击 https://go.microsoft.com/fwlink/?LinkId=691129下载vs2 ...
- Visual Studio 2015、2013、2012、2010、2008、2005各版本下载+有效密钥激活
Visual Studio是微软发布的一个集成开发工具,业内一般简称为VS,广泛应用于Windows软件开发.网站开发等,是目前十分流行的windows应用程序的集成开发工具,如果大家不了解,可以简单 ...
- Visual Studio 2015官方汇总包括下载和视频
7月20日 23:30 Visual Studio 2015正式版正式发布,作为微软新一代开发利器,在全地球乃至全宇宙乃至全太阳系中最强大 且没有之一的IDE(上述描述来自微博用户评论)跨平台支持成 ...
- Visual Studio 2015 移动跨平台开发初体验
微软换了新 CEO 后变化很大,对我们团队最有利的消息就是 Visual Studio 2015 支持移动应用跨平台开发. 还记不记得很早之前,Xamarin 宣布与微软成为合作伙伴的消息.显然,Xa ...
- Visual Studio 2015 CTP6 发布
微软发布ASP.NET 5 支持在Windows.Mac和Linux上构建程序,Visual Studio 2015 CTP6(社区预览版)现已发布了.感兴趣的朋友们可以登录官网下载[http://w ...
随机推荐
- Maven中配置默认JDK版本
使用Maven构建项目时,默认是使用jdk1.3版本,目前很多使用泛型的项目肯定是无法通过编译,除了修改项目的pom文件外,还可以在Maven的配置文件settings.xml中添加如下配置来解决: ...
- 2014NOIP前 计划
这几天天天刷水题活得很开心,是时候定一个计划了.想着我要在yzy左的吓人的歌声中看书,还是有点.... 大概就分成几类吧 数学//你们这群学霸啊 搜索 图论 dp 贪心 其他 每个不定具体时间,加油吧 ...
- 远程访问MySQL遇到的一些问题
一.access deny GRANT ALL PRIVILEGES ON *.* TO '用户名'@'IP地址' IDENTIFIED BY '密码' with grant option;
- linux中shell变量$#,$@,$0,$1,$2的含义解释(转)
变量说明: $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 ...
- C++ 文章列表
C++ 文章列表 Cocos2dx(1) iconv 跨平台的使用方法(Android, IOS) --- 转码(中文乱码)http://www.cnblogs.com/TS-qrt/articles ...
- angular中的自定义过滤器
<!DOCTYPE HTML> <html ng-app="myApp"> <head> <meta http-equiv="C ...
- Bootstrap自带的一些预定义的按钮颜色
浅蓝色 btn-info 被用在那些用户可能会采取的操作上. 红色btn-danger被用来提醒用户该操作具有“破坏性”,例如删除一张猫的图片.
- 读书笔记之深入理解Nginx:模块开发与结构解析
前言 我现在看书一般都是看自己能看懂的地方,看不懂就先略过,回头再看,下面就写自己看得懂的地方吧,并且把自己的理解也放到里面. 第一部分 Nginx能帮我们做什么 编译安装各个命令解释 configu ...
- coalesce函数用法
COALESCE函数会依次检查输入的参数,返回第一个不是NULL的参数,只有当传入COALESCE函数的所有的参数都是NULL的时候,函数才会返回NULL
- 网页播放器(jsp、js)
jsp对控件显示 <%@ page language="java" import="java.util.*" pageEncoding="UTF ...