博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《VS 2010代码智能提示的改进》篇
阅读量:6800 次
发布时间:2019-06-26

本文共 1529 字,大约阅读时间需要 5 分钟。

本系列文章导航

  在今天的博客中,我将讨论一个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

转载地址:http://bquwl.baihongyu.com/

你可能感兴趣的文章
理解RESTful架构
查看>>
详解docker中容器devicemapper设备的挂载流程
查看>>
head first python 6 class 扩展
查看>>
大数据,多大算“大
查看>>
「镁客·请讲」前知智能唐宝:中国金属3D打印最大的挑战是软硬件的自研与国产化 ...
查看>>
EMNLP2018 - 语言理解+对话系统的最新进展
查看>>
如何解决移动电商平台中的“伪曝光”?
查看>>
迁云工具版本更新(1.3.2.5)
查看>>
使用golang编写prometheus metrics exporter
查看>>
基于python开发的股市行情看板
查看>>
linux进程管理总结
查看>>
Linux学习笔记(1)--基本命令
查看>>
Longhorn:实现Kubernetes集群的持久化存储
查看>>
阿里云 Aliplayer高级功能介绍(三):多字幕
查看>>
Data Lake Analytics: 以SQL方式查询Redis数据
查看>>
一条查询sql的执行流程和底层原理
查看>>
ActiveMQ多个消费者消费不均匀问题
查看>>
ovirt自承载引擎安装配置 安装过程中的FQDN问题
查看>>
小米进军欧洲智能手机市场:一面是狂欢,一面是考验
查看>>
提高IO性能(只需要设置 noatime)
查看>>