【IT168资讯】Visual Studio 2010RC版本之后,我们最期待的就是4月12日发布的正式版。在VS2010中大家比较关心的,肯定还是代码提示,本文将为大家解释这方面的改进。
在11月份的一篇博文中,我提到了一个叫做“快速搜索”的功能—Visual Studio 2010中关注代码的功能之一。在过去的岁月中我们在这一领域中已经有所滞后,而在Visual Studio 2010中,我们想专注于这方面并视其为关键。今天,我想分享更多关于我们关注代码开发方面的投资和功能的细节。
高亮引用(Highlight Reference)
高亮引用是一种看似简单却易于使用的方式,帮助我们快速理解一段代码并导航到相应的引用。这个功能在一小段延迟之后被自动激活 – 所有在鼠标指针下的引用都被高亮显示。只要按下Ctrl + Shift + UpArrow (或者DownArrow作反向导航),就可以轻松导航到下一个引用。在下面这个例子里,你可以看到该项功能的实际运作;你可能也注意到它推断出哪项重载绑定到当前的选择,而不是使用纯文本匹配的方式。
快速搜索
快速搜索是我先前提到过的专注于代码的功能。它作用于C++、C#和VB的所有符号,以及所有文件类型。它是一种非常轻量的作增量搜索的方式,可以很快的过滤结果并拥有诸如子字符串这样强大的启发式搜索。让我们简单的看一下我可能会怎样使用快速搜索。
假设我要寻找一个事件句柄,我已不太记得它的名字,但知道我使用了典型的命名规则,快速搜索可以帮上我的忙。我的第一步是在快速搜索中输入“Click”来寻找所有带有“Click”的方法签名。
这时候,我可能记得它还包含了“Enter”。我再输入一个字母“E”,我就能对所有同时包含“Click”和“E”的结果进行快速过滤。两次输入之间的空格被当作通配符搜索。现在我已经把结果缩减成一个很短的列表,我可以从里面选择我想要的结果。
快速搜索甚至还支持驼峰匹配。比如说,如果我输入大写的“SPF”,快速搜索会把结果过滤为那些驼峰匹配或者完全匹配的结果!
调用层次
我们关注的另一个场景是重审依赖关系。比方说,如果我对一个方法作了点改动,我可能会想知道调用这个方法的所有实例。在VS2010中,我们改进了C++中调用浏览器的使用体验,并为C#和VB添加了一个新的调用层次的工具。这些功能让调用方法和被调用方法之间的导航变得更容易(如下所示)。
调用层次工具还允许你察看一个方法的所有重载方法以及接口方法的任意一种实现。比如,如果我想看看谁实现了MakeSound()这个接口方法,我可以通过调用层次看到在Cat和Dog中一共有两个实现。
消耗先行的开发
在Visual Studio中有很多诸如智能感应和快速搜索的功能适用于用户消耗的API定义好之后。然而,我们注意到有很多时候你需要对一个还未完全定义好的API进行开发。比如,在测试驱动开发(TDD)中,我们可以看到测试先行的模式。因此,在VS2010中,我们使消耗先行的开发变得更简单。
我之前谈过关于“从使用中生成”的功能。该功能通过代码中的符号使用推断出各种类型、方法、属性和构造方法并生成一小段代码。在下面的截屏中,你可以看见“从使用中生成”这一功能的实际运作。
生成构造方法将会生成以下代码:
而且,我们为智能感应也开发了一套“消耗先行”的模式,从而使你可以轻松的触发智能感应中的功能。在现在的Visual Studio中,你可能已经有这样的经历,IDE会自动完成一个标示符,但其实你并不想让它这样做的,因为它还并不存在(考虑一下范式方法返回类型)。在下面的例子里,如果你输入“Puzzle”,智能感应为预先选择“PuzzleTest”。敲击空格或回车键将会插入“PuzzleTest”。
取而代之的,通过敲击Ctrl + Alt + 空格键,你将能触发“消耗先行”的模式。现在,当你输入“Puzzle”,列表中仍然包含了“PuzzleTest”,但却不会主动选择它。你真正输入的内容才是会被插入的内容。
这些是我们在Visual Studio 2010中所作的工作的一些例子。我们的工作旨在让你的工作更简单更高效。
Namaste!