原文网址:http://xhinker.blog.51cto.com/640011/313055/

引言

"我们的目标,不仅仅是做出几个新功能,而是要回答一个问题:'如何让现在的开发人员生活更容易一些'"---Scott Guthrie, ASP.NET 之父, 微软副总裁。
因为学习WF4的缘故,早在去年,我很不情愿得在我的笔记本上安装了Visual Studio 2010 beta1, 一个字,慢,是无法忍受的慢,还没怎么用就已经卸载。beta 2版本有了很多很大的改进,但仍旧非常不好用。那时记得和VS2010 测试组的朋友打羽毛球的时候,我半开玩笑的问他们,这么大的bug 你们都没测出来,还打不打算让我们用VS2010!还记得一件事,我遇到一个WF4 设计器的bug, 于是在讨论组上发了一封邮件,居然有一个项目经理直接打电话过来帮助解决问题,至今记忆深刻。 VS 2010 到了RC阶段已经非常不错,VS2010正式版出来后,我同时也把VS2008卸载了。这一系列的改进也让我想起微软开发软件的一个原则, 先把功能做出来再说,优化是以后的事。正如敏捷开发讲的,一开始就全面考虑有时反而无法让事情成功的继续下去。

基于WPF

Visual Studio 2010 是基于WPF 的,基于WPF 同时也意味着两件事: 1.需要稍微好一点的显卡 (支持DirectX9.0. 目前很多集成显卡都支持DX9) 2.更加漂亮,强大的界面。曾经有人质疑(包括我),这次VS2010全面用WPF根本就是瞎折腾,如果你也这么认为,看完这篇文章后你的想法或许会和我 一样发生转变。 

C#代码编辑器

VS2010 的代码编辑器是我放弃VS2008 的第一个重要原因:

1.可独立拖放的窗口

你应该遇到过这样的情形,一边看着文档,一边写代码。在Windows7里我们可以把两个窗口贴到左右边框,就像这样:
 
代码编辑区就变的很小. 但是在VS2010里我们可以把代码窗口拖出来:
这样一来,可编辑窗口顿时多出了不少,如果你有多个显示器,还可以一个屏幕放一个代码编辑器。这样的功能在VS2008里是做不到的。

2. 代码高亮

代码高亮功能在读代码的时候特别有用,看这张截图:
也就是说,当你点击某个对象的引用的时候,指向同一个对象的其他引用也同时会显示出来。

3. 代码批量修改

写程序的时候经常会遇到批量改变量名的情形,如果变量已经存在于代码的各个角落里,然后再去手动一个一个改过来那是一件非常非常痛苦的事 情,而且很容易出错!,在VS2010里我们可以点击一个变量名让其高亮,然后直接修改变量名,在提示框里点击"Rename 'bookmarkName' to 'bkName'" 即可.

4. 代码块选取

这个功能用到的不多,但是在某些场景下确非常实用,比如,拷贝一段带行号的代码的时候,这个功能就发挥作用了。在下面这个场景中,我们只 要按住Alt 键,然后拖动鼠标就可选取行号,然后delete 删除:

5. 代码提示和自动注释

这两个功能在VS2008 里就有,但感觉在VS2010 里速度更快一些。很多时候你会忘记了某个类名的拼写,这个时候你只要按住Alt+ ->(右方向键) 就可以弹出提示框。在方法(Method)前面输入/// , 编辑器就会自动生成注释:

6. 矢量字体

因为WPF 界面是基于矢量的,因此VS2010 的代码字体也拥有了矢量特性。矢量字体意味着你的代码字体不管放大多少倍都不会出现颗粒化或者锯齿。
这个功能在做演示的时候特别有用,当然编程的时候代码看起来也更加舒服。
   

WF4 工作流设计器

这篇文章说的是VS2010 为什么说到WF4 去呢?因为WF4 的设计器在VS2010 里才有,VS2008 里没有。Windows Workflow Foundation 4 - WF4 是.NET4的一大精华,其设计器也是VS2010 的一大亮点。
微软在技术上有一个战略:用WF工作流来处理逻辑,WCF 处理通讯,WPF/Silverlight 和ASP.NET 处理表现层,画一张图的话应该是这样的:
   
也因为WF工作流在现代软件开发中的重要作用,微软甚至放弃了对WF3(WF3.5) 进行升级,转而重新设计一套工作流框架-WF4. 这不能不说是冒了很大的风险的。但是,到底是什么原因促使微软做出这样的决定呢?WF3的推广已经不错,很多人花了很多精力和时间去学习WF3。现在却要 重新学习WF4,难道不怕用户倒戈?就我个人而言,我一开始是非常排斥WF4的,因为好不容易学会这么复杂的WF3,现在又要学一套新的东西,太折磨人 了。但是经过"折磨"之后,我还是认为WF4 非常的棒,值得一学。现在让我来思考这件事的话,我认为应该是以下三个原因推动了微软作出这样大胆的决定:
1. WF3 太慢,WF3真的挺慢的,每次的状态转换都要把整个活动进行序列化,我们知道,序列化是非常消耗资源的。
2. WF3 的设计器是基于Win Form 的,没有WPF那么容易自定义作出漂亮的界面。
3. WF3 的标记语言使用的是XOML 而不是现在微软正在努力推广的XAML。
而WF4 恰恰是在这三点上有了巨大的提升,不仅更容易学习,运行的速度也更加快。目前WF4 支持三种工作流,分别是:
顺序工作流(Sequence Workflow):
图表工作流(Flowchart)
以及最新推出的WF4 状态机工作流(WF4 State Machine, 目前还处于CTP1阶段 ):
伴随.NET Framework4 和VS2010 而来的WF4 不是一篇文章能讲的完的,有兴趣的朋友可以在MSDN上找到更多资料。 

开始支持UML

长久一来,微软都不大喜欢UML, 在以前版本的VS里也只提供类设计器,却没有 UML设计器。但作为业界标准的UML的确比类设计器的要强大。在表示不同类,接口之间关系的时候也更加的清晰。说实话,VS2010 的UML的设计功能让我兴奋不已。VS2010 的UML设计器不仅支持设计而且还支持逆向工程.。好吧,让我们来动手体验一下:

1. 创建UML工程

点击File->New Project, 然后如下图所示做出选择:
然后加入一个UML 类设计图(UML ClassDiagram):
我想,这次,做.NET 开发的朋友们该有动力去学习UML了。除了用这种方式创建UML 图意外你也可以通过点击Architecture 菜单下的New Diagram… 往某个工程里添加UML图。

2. 逆向工程

VS2010 的UML还支持逆向工程,同样是在Architecture菜单下面
比如我目前有一个工程,生成的图如下:
当你点击展开的时候,还会有动画效果,如果是在视频里我相信能展现更多的特性。

3. 根据代码生成时序图

任意打开一段代码,比如说下面这段异步发送Http 请求的代码:
然后在Run() 方法上点击右键,选 Generate Sequence Diagram
然后会弹出一个选项对话框,点确定,于是,很神奇的,一张时序图就生成了:

总结以及更多资源

Visual Studio 2010包含了太多的功能,一篇文章无法全部介绍完,如果你平常使用的是C++,你可以看这篇文章:
如果你对VS2010 的性能分析感兴趣,请看这篇文章:
如果你对 Entity Framework 4.0 和WCF Data Services 4.0 感兴趣, 请看这篇文章:
更多的关于SharePoint, Office 开发相关,请看这篇文章:
文章开头Scott Guthrie 的引言来自这里:

本文出自 “Xhinker” 博客,请务必保留此出处http://xhinker.blog.51cto.com/640011/313055

【转】让开发变得简单一点- Visual Studio 2010几个让人印象深刻的新功能的更多相关文章

  1. [转]基于Visual Studio 2010 进行敏捷/Scrum模式开发

    http://www.infoq.com/cn/articles/visual-studio-2010-agile-scrum-development 根据Forrester Research今年第二 ...

  2. 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序

    原文 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 在 Visual Studio 2010 中开发和部署 Windows Azure 应用程序 Jim ...

  3. Visual Studio 2010详细安装过程

    Visual Studio 2010在目前看来,应该是使用得比较多的一款微软的软件开发工具集合了,因为它具有以下优点:(1)启动速度快:在相同环境下,相比于Visual Studio 2015来说,2 ...

  4. [入门级] visual studio 2010 mvc4开发,用ibatis作为数据库访问媒介(一)

    [入门级] visual studio 2010 mvc4开发,用ibatis作为数据库访问媒介(一) Date  周二 06 一月 2015 By 钟谢伟 Tags mvc4 / asp.net 示 ...

  5. SharePoint 2010中使用Visual Studio 2010进行方便快速的Web Part开发

    转:http://www.cnblogs.com/fatwhale/archive/2010/02/24/1672633.html 在Visual Studio 2010中,  已经集成了用于Shar ...

  6. Visual Studio 2010 中的 Web 开发

    概述 Microsoft Visual Studio 2010 为 ASP.NET Web 应用程序的开发提供非常多新的功能.这些新功能旨在帮助开发者高速方便地创建和部署质量高且功能全的 Web 应用 ...

  7. 提高你开发效率的十五个Visual Studio 2010使用技巧

    提高你开发效率的十五个Visual Studio 2010使用技巧 相信做开发的没有不重视效率的.开发C#,VB的都知道,我们很依赖VS,或者说,我们很感谢VS.能够对一个IDE产生依赖,说明这个ID ...

  8. [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二)

    [入门级] 基于 visual studio 2010 mvc4 的图书管理系统开发初步 (二) Date  周六 10 一月 2015 By 钟谢伟 Category website develop ...

  9. visual studio 2010配置驱动开发环境

    visual studio 2010 配置驱动开发环境 ** 工具/材料 VS2010.WDK开发包 **  配置过程 以下将讲述VS2010驱动开发环境的配置过程,至于必要软件的安装过程这里不再赘述 ...

随机推荐

  1. Ubuntu16.04桌面系统如何配置和启动wireshark

    上一篇介绍了在Ubuntu系统中安装wireshark 本篇介绍在Ubuntu系统中配置和启动wireshark: 安装好后,直接在终端运行$ wireshark.出于安全方面的考虑,普通用户不能够打 ...

  2. tensorflow 安装GPU版本,个人总结,步骤比较详细【转】

    本文转载自:https://blog.csdn.net/gangeqian2/article/details/79358543 手把手教你windows安装tensorflow的教程参考另一篇博文ht ...

  3. POJ 2486 Apple Tree(树形dp)

    http://poj.org/problem?id=2486 题意: 有n个点,每个点有一个权值,从1出发,走k步,最多能获得多少权值.(每个点只能获得一次) 思路: 从1点开始,往下dfs,对于每个 ...

  4. Gym 101334F Feel Good

    http://codeforces.com/gym/101334 题意:给定一串数,求一个区间,使得该区间的所有数之和乘以该区间内最小的数的乘积最大. 思路:先预处理一下,计算出前缀和. 我们可以把每 ...

  5. Ubuntu server 禁止显示器休眠

    Linux不让显示器休眠的方法 # setterm -blank # setterm -blank n (n为等待时间)

  6. CMS收集器和G1收集器

    CMS收集器 CMS收集器是一种以获取最短回收停顿时间为目标的收集器.基于"标记-清除"算法实现,它的运作过程如下: 初始标记 并发标记 重新标记 并发清除 初始标记.从新标记这两 ...

  7. 一.UTF8字符集csv文件在oracle下乱码问题处理

    1.问题描述 在excel中生成了一个UTF-8编码格式的csv文件准备导入数据库,在notpad++下打开显示正常,编码集为UTF-8,通过pl/sql dev导入oracle是出现乱码,此时初步推 ...

  8. less 全局变量使用

    less 全局变量使用 忽然想定义一个变量,但是却需要每个 .vue 文件都需要单独引入这个全局变量才可以,导致很多重复不必要的工作,因而得寻找一种可以任何地方都可以访问的方法 借助换肤这个功能 sa ...

  9. History of programming language

    1940之前 第一个编程语言比现代的计算机还早诞生.首先,这种语言是种编码(en:code). 于1801年发明的提花织布机(或称甲卡提花织布机,英文:en:Jacquard loom),运用打孔卡上 ...

  10. LINQ 分页 和存储过程分页

    存储过程分页 SELECT * FROM ( SELECT ROW_NUMBER() OVER(ORDER BY CreateDate DESC) AS RowNo, EstateAddress, E ...