VS 2010 和 .NET 4.0 系列之《VS 2010代码智能提示的改进》篇
【原文地址】VS 2010 Code Intellisense Improvements (VS 2010 and .NET 4.0 Series)
【原文发表日期】 Thursday, October 22, 2009 11:47 PM
这是我针对即将发布的VS 2010 和 .NET 4所撰写的 贴子系列的第十篇。
在今天的博客中,我将讨论一个VS 2010中对代码智能提示(intellisense)的很小,但是非常棒的改进,就是更好地过滤类型和成员代码完成的能力,这使你在编写代码时更容易找到和使用APIs。
VS 2008中的代码智能提示
为帮助示范这个VS 2010中的智能提示的改进,让我们先来在VS 2008中做一个简单的例子,我们想要编写一些代码来启用GridView控件的编辑场景:
我们也许会开始键入“GridView1.Edit”,调出智能提示来看一下该控件都有些什么Edit成员。在VS 2008中这么做的话,会调出智能提示下拉框,并在下拉框中将当前位置移到起始字母为“Edit”的成员处:
如果我们想要使用的方法/属性/事件的起始字母为“Edit”的话,这当然很好,但如果我们正寻找的“Edit”成员的起始字母是别的词的话(譬如,“RowEditing” 事件或 “SetEditRow()” 辅助方法),这帮不了我们。我们只能手工上下卷动寻找其他的Edit成员,或者调出对象浏览器或帮助系统来找到它们。
VS 2010中的代码智能提示
现在让我们在VS 2010中试一下同一个例子。当我们在VS 2010中键入“GridView1.Edit”时,我们会发现EditIndex属性依然会被高亮显示,但智能提示列表也被过滤过了,使你能很快地定位名称中任何地方含有“Edit”一词的所有其他成员:
这允许我们很快地看到与Edit(编辑)相关的所有方法/属性/事件,更快地找到我们在找的东西。
搜寻关键词
VS 2010的这个新的智能提示过滤特性在搜寻任何成员时都会非常有用,无论成员的起始字母是什么。例如,如果我们想要在datagrid上启用分页,但记不起来该怎么做,我们只要键入“GridView1.Paging”,它就会自动地过滤掉其他的成员,而只留下含“paging”一词的成员。注意下面,GridView类上没有哪个成员的起始词为“Paging”,但我还是找到了2个名称后面含有“paging”的成员:
搜寻类型
VS 2010的这个新的智能提示过滤功能在快速寻找类和类型时也非常有用。例如,当我们键入“List”来声明一个变量时,编辑器会提供自动的过滤,显示名称中含有“List”一词的所有类型(包括IList<> 和 SortedList<>,它们的起始字母并不是“List”):
这将极大地方便你找到记不全的类型名称,而不必诉求于在对象浏览器中搜寻或者使用帮助文档。
Pascal Case命名法智能提示
.NET框架命名指引指出类型和成员名称在默认情形下应该使用“Pascal Cased”命名法,这意味着类型或成员名称中的每个词应该是以大写字母起头(例如,PageIndexChanged)。
VS 2010中的智能提示过滤支持现在允许你利用这个特性,基于Pascal命名模式很快地找到和过滤方法。例如,如果我们键入“GridView1.PIC”,VS 2010会过滤智能提示,显示名称中含有PIC的成员,以及那些用了Pascal命名法并且各个词段的起始字母含有那个字母顺序的成员:
注意上面,PIC 致使 “PageIndexChanged” 和 “PageIndexChanging” 也显示了出来。这在决定成员或类型名称时,可以省我们几个击键次数。
结束语
我想你会发现VS 2010中这个新的智能提示过滤方法在编写代码时,可以方便你很快地找到和使用类和成员,你在VB和C#中都可以利用该特性。
希望本文对你有所帮助,
Scott
除了写博客外,最近我一直在使用Twitter发短贴和共享链接。你可以在Twitter上通过www.twitter.com/scottgu(@scottgu是我的twitter名)跟随我。
推荐文章
- 博客堂源代码发布已经发布于Codeplex,邀请您来捉臭虫
- Silverlight学习笔记--绘制与着色(上)
- WPF,Silverlight 中的 xmlns,xmlns:x(2)
- WPF,Silverlight 中的 xmlns,xmlns:x
- 诡异的Microsoft Silverlight 4 Tools for Visual Studio 2010 Beta 2 新建Silverlight 4项目出错
- 下载 SharePoint Server 2010 Public Beta (包含中文版)
- Teamprise:开创TFS跨平台协作
- Silverlight 版的电子表
- VS2010中的Silverlight项目中的文件
- 使用VS 2010和.NET 4进行web开发