Visual Studio 2010提高的生产力

来源:百度文库 编辑:神马文学网 时间:2024/04/28 02:29:54

Visual Studio 2010提高的生产力:

 

 

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

我们在设计和构建Visual Studio 2010时,一直遵循着这一原则。我们已经发布的IDE显着地改善了开发的体验。从今天开始到今后几个星期中,我将重点介绍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框架的版本和配置的功能:

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

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

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

当您在一个大型代码库上工作时,有时您记得一段您要找的代码的大概,但不记得具体细节了。新的导航工具(Navigate To),能帮助您根据您记得的内容来找到任何代码。
您可以使用“Ctrl +逗号”调出新的导航工具,然后把任何您记得的内容输入搜索框中。 Visual Studio将做一个模糊搜索,列出所有匹配的成员、函数、宏等,以及它们的位置和范围。

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

  

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

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

改进的智能提示

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

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

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

块选择和块编辑

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

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

缩放

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

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

  

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

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

MFC类向导

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

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

Web代码摘录

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

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

JavaScript IntelliSense 的增强

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

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

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


  

最近我陆续发表了若干关于Visual Studio 2010生产力提升的帖子,主要展示的功能都是Visual Studio自身集成的。今天我会着重介绍Visual Studio的扩展,这些扩展将提升Visual Studio 2010 专业版、高级版和旗舰版用户的编码体验。

几个月前我曾经介绍过,VS 2010中得到极大改善的领域之一就是可扩展性。新的支持扩展的API使第三方能够定制IDE或者给IDE添加新的功能;新的扩展管理器(Extension Manager)和Visual Studio Gallery则简化了扩展的发布和搜索流程。就在本周,Visual Studio Gallery上的Visual Studio 2010扩展数量突破了一千个,Visual Studio用户的扩展下载量也超过了75万!以下是一些我比较喜欢的扩展。

颜色主题编辑器(Color Theme Editor

觉得Visual Studio默认的颜色配置不太合您的口味?您可以下载Visual Studio Color Theme Editor来定制VS的颜色配置。您可以从扩展包中发布一些预置的主题中选择您想要的,也可以下载安装其他人的主题,或者修改已有的主题。您也可以白手起家创建自己的主题,然后导出并共享您的主题。

我最喜欢的主题之一是Blend-like theme,设计者是Roland Auer。为了让VS的外观更加统一,我还导入了Shades of Grey这一编辑器样式。您可以在这里找到更多的编辑器样式来匹配VS的外观。以下是我配置的结果:

生产力工具集(Productivity Power Tools

Visual Studio 2010 Productivity Power Tools来自Visual Studio团队。这个工具集提供了一系列很好的、针对编辑器和IDE的功能。无法在这里一一详述所有的功能,但以下是我最喜欢的几个:

  • 改善document well

Document well指的是编辑器上方区域,您打开的文件都以选项卡的形式展示在那里。安装了工具集后,这些选项卡根据它们所在项目的不同,被赋予不同的颜色。比如下面这个截图表示的,我打开的文件来自于三个不同的项目。About.aspx和Index.aspx来自于同一个项目,About.aspx的选项卡颜色比较亮,表示这是当前被激活的文档。您也可以直接从选项卡直接关闭一个文档,就像Internet Explorer支持的那样。

选项卡也可以被固定。如果您有一些文件是经常会用到的,您可以把它们的位置固定,这样它们就不会因为您打开的文件过多而被滚动到视线之外。对于那些没有固定的选项卡,现在您可以利用滚动按钮将它们找到。下面这幅截图中,我固定了AssemblyInfo.cs,您可以看到在其他的未被固定的文件选项卡旁边,有一个左箭头和右箭头。我通过右箭头将文件选项卡滚动到最右边,隐藏了原本在左边的BlueYonderAirlinesEntities.cs文件。

  • 三击

选中当前所在代码行的最快的方法是什么?这件事可能很小,但我相信一旦您知道了三击这个简单的方法,您一定无法离开它——是的,只要在编辑器里某一行代码上三次点击鼠标左键,就可以将这行代码高亮选中。

  • 变量赋值的排版对齐

想让代码从这样:

变成这样:

只要按Ctrl+Alt+]!

排版对齐变量赋值可能会与您的代码格式设定相冲突。比如在C#代码中,您需要取消“在声明语句中忽略空格”以使用此功能(Tools->Options->Text Editor->C#->Formatting->Spacing->"Ignore spaces in declaration statements")。VB用户则需要关闭整齐排列代码(pretty listing)。

  • 修正缩进(tab)

您可能在一个团队里工作,和若干程序员一起改写同一个文件;或者您的设定出现了不一致,总之有时候您会发现文件中空格和缩进被混杂用于排版。当您打开这种代码文件的时候,工具集会提醒您是否要修正这个问题,使用统一的排版方法:

  • 添加引用(Add Reference)对话框

通过对程序集进行缓存,添加引用对话框的性能得到了显著提升。您也可以利用搜索功能,更快地找到您想要引用的程序集。

Team Foundation Server工具集

如果您使用TFS来托管您的源代码或追踪工作项目,TFS Power Tools使得您与TFS的交互体验更加顺畅,更加个性化。这个工具集是由TFS团队开发的,通过这个工具集,您不但可以从Windows shell访问TFS,还可以通过一个强大的命令行工具。另外它还提供通知功能,以及一个协作工具。以下是几个精选功能:

  • 团队成员

需要利用即时通信软件或email与团队成员们时刻保持联络么?如果您平时使用Microsoft Communicator来与团队进行沟通,那么现在您可以利用团队成员(Team Members)插件,从团队浏览器(Team Explorer)中直接启动Communicator。

  • 最优实践分析器(Best Practices Analyzer)

最优实践分析器帮助您确保您的Team Foundation Server部署是最优配置,并帮助您找到可能引起性能问题的原因。您可以快照当前的部署配置,并将其存档。通过查看历史数据比照使用情况来优化TFS的部署配置。

  • Windows Shell扩展

Windows Shell扩展使您可以直接从Windows浏览器中执行许多对TFS源码操作的任务,这样您就不需要打开VS或者使用Team Foundation命令行工具了。当您在常用的Windows文件对话框中工作时,这些扩展同样使您与服务器的交互更加简单便捷。