日期:2014-05-20  浏览次数:20911 次

[散分支持MS]Visual Studio 2010鲜为人知的新特性
Visual Studio 2010鲜为人知的新特性
本文Tag: 微软 Visual Studio Express 
  【IT168技术】Visual Studio 2010的新特性已经讲过很多了,但本文所介绍的都是我辛辛苦苦探索后总结的,你看后应该有点不一样的感觉,这些新功能放在产品开发中都是非常有用的,本文的主要阅读对象是Visual Studio 2010新手,但我想即使你是高手也应该看一看。
  介绍
  大家都知道Microsoft Visual Studio 2010将在4月12日全球同步发布,目前已经进入候选发布(Release Candidate,RC)阶段,自Beta 2以来我就一直在研究他,发现这个版本比旧版本确实实用得多,有大量的新功能加入到了Visual Studio 2010中,应用程序开发生产力将会进一步得到提高。开发人员可以使用它进行更快的编码,整个团队的协作效率会更好。
  1、多目标应用程序开发
  使用Visual Studio 2010不仅可以开发.Net 4.0程序,还可以开发旧版本.Net程序,在IDE中创建一个新项目时,你会看到一个选项可以选择不同版本的.Net Framework(如2.0,3.0,3.5和4.0),如下图所示。

  图 1 可以选择不同的.Net Framework版本
  根据你的选择,它将会在“新建项目”对话框中过滤项目模板,如果你选择.“Net Framework 4.0”,它会显示所有项目类型,如果你选择“.Net Framework 2.0”,它只会显示.Net Framework 2.0支持的项目。

  图 2 .Net Framework 2.0支持的项目类型
  不仅如此,由于Visual Studio 2010是建立在Window显示基础(Windows Presentation Foundation,WPF)之上的,当你检索一个具体的项目类型时,你会发现更多有用的东西。假设你想使用WPF开发一个客户端应用程序,你会发现在一个庞大的项目类型集中找到它是多么的困难。不要担心,现在在对话框右上角有一个搜索框,只需要输入关键字(如WPF),快速过滤的结果一定会让你满意。


图 3 根据关键字快速过滤需要的项目类型



  2、更快的智能感应(Intellisense)支持
  Visual Studio现在带来了更快速的智能感应支持,与旧版本相比速度大约提升了2-5倍。假设你想创建一个“WeakReference”实例,由于Visual Studio 2010改进了搜索算法,你不用再输入完整的类名,你只需要输入“WR”,它将会自动过滤,显示你想要的“WeakReference”,不信你就立即体验一下吧。

  图 4 更快速,更智能的智能感应支持
  3、编辑器缩放功能
  当你在做演示或做直播时,你会发现这个功能非常有用,Visual Studio 2010之前的版本不得不打开“选项”面板,通过修改编辑器的字体大小来实现,显得非常繁琐,现在这个问题已经不复存在了,只需要在编辑器窗口内,按住CTRL键,然后滚动鼠标滚轮即可放大/缩小编辑器中的字体大小。

  图 5 方便的编辑器缩放功能
  4、在“添加引用”中程序集载入速度更快了
  在Visual Studio 2010“添加引用”对话框中程序集的载入速度更快了,在旧版本中,在载入程序集时持续会被冻结住一段时间。在Visual Studio 2010中,焦点默认落在“项目”标签上,但后台在默默地载入其它标签,如果焦点落在打开的“.Net”标签上,你会发现不是一次载入所有的程序集,而是以后台线程进行载入的,因此载入时间更快一点了。

  图 6 更快的程序集载入速度


  5、将窗口分离到IDE外
  你工作时是使用的双显示器吗?如果是,你会发现这个功能超级有用,Visual Studio 2010现在支持将窗口分离到编辑器外,假设你想将“错误”,“输出”,“解决方案资源管理器”或“属性”窗口分离到第二个显示器,你可以将它们直接拖动到第二个显示器即可,这样在第一个显示器中留给编辑器的空间就很大了。

  图 7 将窗口分离出IDE
  6、突出显示引用内容
  Visual Studio 2010 IDE的另一大特色是突出显示引用内容,通过此功能,你可以很容易地找出所有引用的位置。

  图 8 突出显示引用
  7、更快的代码生成速度
  在讨论这个功能之前,请允许我问你一个问题“你在使用TDD,即测试驱动开发吗?”,如果在使用,你会发现这个功能不仅很有用,而且很具吸引力,你可能会觉得很奇怪,为什么会这样呢?请允许我再问你一个问题“在执行测试驱动开发时如何编写代码的呢?”,是的,你必须先实现类和方法的骨架,然后编写单元测试用例实现真实的逻辑,Visual Studio 2010带来了出色的代码生成功能,来看一组截图吧。

  图 9 快速自定义类
  正如你所看到的,在我的项目中不存在一个叫做“Person”的类,因此编辑器使用红色突出显示,表示它是未知的类。如果你仔细观察左边的截图,你就会发现即使在我的命名空间或项目中不存在Person类,但在智能感应列表中已经创建了一个引用,如果你将鼠标移到Person上,按下F10键,同时按下ALT+Shift,你会看到弹出一个菜单,一个是询问你是否为Person生成一个类,另一个是询问你是否创建一个新类型。
  如果你选择第一个选项,将在你的项目中生成一个名叫“Person”的类文件,这没什么好说的。我们还是来看看第二个选项,如果你选择了第二个选项,将会打开一个新对话框“生成新类型”,有更多的参数需要设置,在这里你可以选择访问方式(包括private/public/protected/internal),你可以选择生成不同类型的代码(包括enum/class/struct/interface),当然也可以修改类文件的位置,你可以选择放在相同的项目中,也可以选择一个不同的项目,不仅如此,你还可以为类创建一个新文件,或者将类追加到另一个文件中。总之,此功能为你自定义提供了各种选项。


  

这个功能同样适用于产生方法。
  8、超酷的框选
  Visual Studio 2010中还有另一个超酷的功能,我直接以一个例子进行介绍吧,假设你声明了一些公共属性,但后来你又想将它们标记为内部属性,你要怎么做呢?你是不是准备一个个地去替换呢?在Visual Studio 2010中,要完成这项工作简直太容易了,按下ALT+Shift,然后使用鼠标画一个框选中要选择的内容,如下图左边的截图所示,然后输入要替换的文本即可。

  图 11 代码任意框选
  在上图所示的例子中,public关键字通过框选功能已经被选中了,这时输入任何字符都将替换掉所有选中行的内容,右边的截图是输入inter进行替换后的效果。
  9、用户体验更好的导航
  现在你想导航到你指定的代码变得非常容易了,由于Visual Studio 2010是构建在WPF之上的,因此它现在具有边输入边过滤的功能,按下CTRL+,打开“定位到”对话框,当你在“搜索词”字段输入任意字符,它将显示一个匹配清单。

  图 12 边输入边过滤,实现快速匹配
  10、更好的工具箱支持
  Visual Studio现在带来了更好的工具箱支持,现在你可以更容易地搜索工具箱项目,只需输入工具箱项目的名字,IDE将会把焦点跳转到匹配的元素,按下TAB键焦点将会转移到下一个匹配的元素。

  图 13 更好的工具箱支持
  11、断点书签也玩协作
  现在在书签上有更好的功能,一个团队现在可以通过书签导入导出功能进行协作,你现在可以固定调式值,因此你可以在以后访问它,并且可以给书签添加一个标签。

  图 14 编辑断点标签
  


  我简单给你介绍一下这个功能的用法。假设你正在调试你的模块,在调试时你发现其他人负责模块中的问题,你想告诉对方他的代码存在bug,并导致你的模块也产生了问题。在Visual Studio 2010中,你可以固定调式值,然后将书签加上适当的注释导出为一个XML文件,将其发送给另一个团队成员,当它将这个XML文件导入到他的IDE中后,他将会看到书签和最后会话的调试值,因此他可以接着往下找,找出问题的根源,而不是要从头开始找问题的根源,这个功能在团队开发协作调试过程中非常有用。

  图 15 断点书签导出导入,实现协作调试
  这里我唯一不喜欢的是,XML使用行号存储的断点信息,如果其他成员已经修改了代码,它将无法正常工作,导入导出要能正常工作的唯一要求是“不应该修改共享代码文件”。
  12、智能跟踪(IntelliTrace)
  Visual Studio现在有一个功能叫做智能跟踪(IntelliTrace),通过它你可以跟踪每一个调试步骤,你可以在智能跟踪(IntelliTrace)窗口中找到调用线程信息。