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 ...
随机推荐
- Rancher 快速上手指南操作(1)
Rancher 快速上手指南操作(1)该指南知道用户如何快速的部署Rancher Server 管理容器.前提是假设你的机器已经安装好docker了.1 确认 docker 的版本,下面是 ubunt ...
- hd 2112 HDU Today
Problem Description 经过锦囊相助,海东集团终于度过了危机,从此,HDU的发展就一直顺风顺水,到了2050年,集团已经相当规模了,据说进入了钱江肉丝经济开发区500强.这时候,XHD ...
- javascript 日期转换为中文
function CNDateString(date) { var cn = ["〇","一","二","三",&quo ...
- ifmodule
<IfModule> 指令 说明 封装指令并根据指定的模块是否启用为条件而决定是否进行处理 语法 <IfModule [!]module-file|module-id ...
- Numpy 中一维数据转置的几种方法
把一个一维数组转置有如下几种方法.就是把 一行 n列的数组 转换成 n 行一列的数组, 如 如 [1,2,3,4] => [[1] [2] [3] [4]] 方法一: np.transpose ...
- using 语句中使用的类型必须可隐式转换为“System.IDisposable
在使用 EF 出现 using 语句中使用的类型必须可隐式转换为“System.IDisposable 今天写在这里分享给大家 出现这样的问题,是因为没有引用 EntityFramework 这个程 ...
- sikuli实战记录
最近,为了解放运营人力,需要对某国企的系统进行自动化操作.该系统使用的是https,需要加载证书,而且非得用IE才行,firefox无法正常的加载证书.而selenium启动的IE是纯净的,不会加载任 ...
- PHP对redis操作详解【转】
/*1.Connection*/ $redis = new Redis(); $redis->connect('127.0.0.1',6379,1);//短链接,本地host,端口为6379,超 ...
- js创建对象的方法
1. 使用Object构造函数来创建一个对象,下面代码创建了一个person对象,并用两种方式打印出了Name的属性值. var person = new Object(); person.name= ...
- 在64位windows下使用instsrv.exe和srvany.exe创建windows服务[转]
本文转自:https://www.iflym.com/index.php/computer-use/201205020001.html 在32位的windows下,包括windows7,windows ...