调用层次
我们关注的另一个场景是重审依赖关系。比方说,如果我对一个方法作了点改动,我可能会想知道调用这个方法的所有实例。在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!