技术开发 频道

VS2010让开发者受益新功能深入解读

  【IT168技术文档】每个开发人员都值得拥有一个美妙的开发环境。这个环境可以让他们尽可能高效地编写、理解、浏览和调试代码。毕竟,开发人员的大部分时间都花费在IDE中。

  我们在设计和构建Visual Studio 2010时,一直遵循着这一原则。我们已经发布的IDE显着地改善了开发的体验。从今天开始到今后几个星期中,我将重点介绍Visual Studio 2010中我最喜爱的用于提高生产力的新功能。其中有些是小的新功能,有些需要协调整个团队的努力,但每个功能都让开发人员的生活变得更轻松。

  多显示器支持

 Visual Studio 2010的新功能

  许多开发人员已经投入了大量的时间和金钱来营造一个良好的编码环境:恰到好处的椅子,合手的键盘,当然,两个或三个显示器,以便最大限度地利用屏幕的每寸空间。在VS 2010版本之前,Visual Studio的单一窗口不允许您将编码分放到多台显示器上,但现在这一切都变了。Tear-off tabs允许你拖动编码窗口和工具窗口到Visual Studio的窗口框架以外,到您的屏幕上的另一个地方或另一个监视器。您可以把任意多个窗口拖拽出Visual Studio窗口框架,也可根据您的喜好再将它们放回到编辑器标签带或固定回Visual Studio框架内。

  多目标 (Multi-Targeting)

  即使您已经开始使用最新的.NET运行时版本,您的客户可能还没有,或者您的应用程序可能是在以前的运行时版本上开发的,还没有准备好升级到.NET 4。使用Visual Studio 2010您可以选择将应用构建在.NET 2.0、.NET 3.0、.NET 3.5、或.NET 4上。新建项目对话框提供了选择目标.NET框架的版本或者在线寻找其他.NET框架的版本和配置的功能:

 Visual Studio 2010的新功能

  您还可以在项目属性中更改现有项目针对的版本:

 Visual Studio 2010的新功能

  一旦为您的项目设置了一个特定的.NET目标版本,您会得到与所选择的版本相应的IntelliSense、工具箱控件和调试器,剖析器和编译器也都被更新以支持多目标的配置。并且.NET4和Visual Studio 2010与以前的版本可以Side by Side运行,因此您可以自由挑选适合您的项目的工具和框架。

  代码导航

  这个方法的名称是什么?好像是叫什么”state custom”

  当您在一个大型代码库上工作时,有时您记得一段您要找的代码的大概,但不记得具体细节了。新的导航工具(Navigate To),能帮助您根据您记得的内容来找到任何代码。

  您可以使用“Ctrl +逗号”调出新的导航工具,然后把任何您记得的内容输入搜索框中。 Visual Studio将做一个模糊搜索,列出所有匹配的成员、函数、宏等,以及它们的位置和范围。
 

 Visual Studio 2010的新功能

  引用的库的匹配项也将出现在搜索结果中。但如果您只对您的项目代码感兴趣,您可以选中“隐藏外部项目”复选框,过滤器将只显示您的代码。
 

 Visual Studio 2010的新功能

  更多即将推出

  这仅仅是对Visual Studio 2010提高生产力的相关功能一次初探。接下来将着重介绍代码编辑器的改进。  

  你可以说代码编辑器是所有开发体验中最重要的功能,毕竟它让你创建、查看和更改你的代码。没有代码编辑器,一个IDE中任何其他功能都无从谈及,而开发环境中的其余部分都是围绕编辑器创建的。

  上面我们谈到了3个Visual Studio 2010中的新功能:多显示器支持,Multi-Targeting,和代码导航。接下来我想花点时间来谈Visual Studio 2010中关于代码编辑器的改进。

  改进的智能提示

 VS2010中关于代码编辑器的改进

  从某些方面讲,智能提示是提供类型和其成员最方便访问的文档。在有智能提示之前,开发通常意味着你要把你最喜欢的类浏览器打开在旁边帮助你查找那些你想要的类型和类型成员。有了智能提示,输入一个句点或者通过快捷键Ctrl-J就可以弹出你想要知道的类型和其成员的任何信息。

  在Visual Studio 2010中,智能提示的改进允许你查找类型和其成员中的任何子字符串,而不是严格按照字母顺序。就像下面你看到的,当我输入”Aircr”,我除了获得”Aircraft”和”AircraftStatus”的提示,还有”AddToAircraft”和其他包含这个字符串但不是以”Aircr”开头的方法。

  智能提示现在也支持通过大写字母查找成员,下面,我可以输入”ATP”来查找”AddToPassengers”, “AddToPassengerStatus”和”AddToPeople”.

 VS2010中关于代码编辑器的改进

  块选择和块编辑

  有时你需要一次性对很多连续的、相似的代码做相同的改动。或许你正改动C#、VB或者C++代码中的一个访问修饰符或字符串,亦或你正改动HTML或ASP.NET代码中的属性值。块选择可以让你选择一列文本并且以组的方式编辑它们,而不是一次一行。你可以按住Alt键同时使用鼠标来选择数列文本。

 VS2010中关于代码编辑器的改进

  一旦文本块选中了,你可以在所有选中的文本行上删除或者插入需要的文本。如果你想要简单的插入一些东西(比如路径字符串中的文件夹或者一个关键字),你可以先建立一个0宽度的选择块然后开始输入,你输入的内容将会被插入到所有选中的代码行上。你也能用这个功能向代码块中快速的添加或者删除一个Tab。

  缩放

  你可能已经在Word、Internet 浏览器、或其他应用程序中使用过缩放功能,并利用这个功能能大幅内容中快速查找你想要的内容或者向其他人突出一个区域。现在,你可以在Visual Studio的代码编辑器中使用相同的指令来缩放。按住Ctrl键并且滚动你的鼠标滚轮来调整缩放系数。同时你将会在编辑器窗口的左下角看到缩放系数的变化。

 VS2010中关于代码编辑器的改进

  如果你有时要向他人做演示,在投影仪上组织代码评审、使用LiveMeeting或者其他程序共享应用程序、或者使用屏幕转换工具比如Camtasia创建视频,缩放可以说是一个必不可少的方式来帮助你的听众清楚的查看你的代码。缩放可以用来在大文件中快速查找一些代码或阅读大文件的内容。同时,我们还能进行代码折叠,虽然这一并不是Visual Studio 2010中新加入的功能,但它也可以用来帮助快速阅读代码。
 

 VS2010中关于代码编辑器的改进

  我下面有关Visual Studio 2010的生产效率提高的篇幅,将会集中在一些为特定语言和任务设计的功能,如果你为Web编写代码或者创建C++ MFC应用程序,请不要错过下面。

  我以前关于Visual Studio 2010生产力提升的帖子里着重介绍了所有VS开发者都能受益的功能。有些时候,最有用的功能是那些针对您正在使用的特定开发语言或平台的。毕竟C++开发者经常需要与C#开发者不同的功能,web开发者的需求也与Windows开发者的需求有所不同。

  今天将着重于一些专为Windows C++和web开发者提供的功能。

  MFC类向导

  如果您是一位Microsoft Foundation Classes (MFC)的开发者,您可能对以前的MFC类向导有美好的回忆。现在又一次,您在MFC类设计时可以键入Ctrl+Shift+x来启动MFC类向导,并看到适合您设计的类的选项。向导会显示类名,位置,项目,继承关系和其他信息。它也能让您添加消息处理,函数和成员变量,重写虚函数。

 VS2010为C++和web开发者提供的功能

  MFC类向导也能帮助您导航到包含类定义,声明,函数和成员的源文件。以下是MFC类向导提供的导航到您的代码的一些方式。

 VS2010为C++和web开发者提供的功能

  Web代码摘录

  即使您经常构建网站,有时还是会想不起来某个HTML标记或者ASP.NET控件。在Visual Studio 2010的网页标记编辑器中,最快的加入HTML,MVC,ASP.NET控件的方法是使用web代码摘录功能。键入Ctrl+K+X您就能够看到一个小窗口提供ASP.NET,MVC和HTML摘录的列表。
 

 VS2010为C++和web开发者提供的功能

  您能通过鼠标或者键入字母在列表中迅速的寻找,并键入tab来插入标记或者控件。下图是插入一个ASP.NET ListView控件的实例。
 

 VS2010为C++和web开发者提供的功能

  JavaScript IntelliSense 的增强

  由于JavaScript是一种动态类型语言,它在IntelliSense和工具支持方面比静态类型语言落后一些。我们已经在Visual Studio 2010中做了一些JavaScript IntelliSense的增强来提升JavaScript编程的效率。
 

 VS2010为C++和web开发者提供的功能

  现在JavaScript对动态类型变量(type-inferred)有更丰富的IntelliSense支持。在下例中,bike是一个文字对象申明,IntelliSense在我下一行中使用它时引入了它的成员。您可以看见make,model和type都出现在下面的列表中了,year也是一样的,虽然我们在图中没看到。

  那么对动态原型呢?如果我有一个动态原型变量,IntelliSense将会把原型成员加入选择下拉列表。在下面的例子中,我把函数createNewBike加入了Object。createNewBike把一个object对象作为输入参数并把它当作输出对象原型,把所有成员加到object里面。IntelliSense中返回的newbike显示了bike的所有成员。
 

 VS2010为C++和web开发者提供的功能

  下级预告…

  我的下一个Visual Studio 2010生产力提升的文章将着重介绍Visual Studio 2010帮助按需定制IDE的扩展。

0
相关文章