Visual Studio 2015高级编程(第6版)
上QQ阅读APP看书,第一时间看更新

4.2 代码导航

Microsoft认为,Visual Studio是一个给开发人员使用的高效工具,而不只是编辑代码的地方。因此,有大量的特性来帮助开发人员更快地完成常见任务。Visual Studio 2015的重点是帮助开发人员更有效地理解和发现代码。本节介绍了这些特性,以及使用它们的最佳方式。

4.2.1 Peek Definition

在研究代码时,经常需要迅速检查所调用的方法。当右击方法,并从上下文菜单中选择Go to Definition时,会打开包含该方法的文件,并在代码编辑器中显示该方法本身。然而,当前编辑的文件不再是焦点。虽然这并非无法克服的问题,但会带来不便。

Peek Definition命令允许开发人员查看方法的定义,而不必退出当前的编辑环境。和之前一样右击方法,但从上下文菜单中选择Peek Definition选项。如图4-15所示,方法定义是可见的,左侧的蓝条表示方法在可见代码中的位置。

图4-15

除了允许查看代码之外,Peek Definition还允许在查看代码的同时编辑它。在peek窗口中,把鼠标悬停在一个方法上时,可以右击它,并选择Peek Definition,向下钻取到该方法。当有多个层次时,会显示一个蓝圈和白圈集合(见图4-16)。单击圆圈,很容易在调用层次结构之间来回导航。

图4-16

最后,如果想把所查看的文件放到主编辑器窗口中,可以在Peek Window选项卡的文件名右边选择Promote to Document图标。

4.2.2 增强的滚动条

增强的滚动条是Visual Studio Productivity Power Tools的一个比较流行的组件。使用增强的滚动条,滚动条上的可视线索提供了当前编辑的文件的信息,包括错误的位置和警告、断点、书签和搜索结果。图4-17说明了增强滚动条上一些不同的标记。

图4-17

在Visual Studio 2015中,滚动条可以做更多的工作来改进导航体验,包括默认关闭的映射模式功能。要启用它,应在Tools | Options对话框中选择Text Editor | All Languages | Scroll Bars节点,如图4-18所示。该节点控制了每一种语言的映射模式。然而,进入某种语言的Scroll Bars节点,就可以开启或关闭该语言的映射模式。

图4-18

在Behavior部分,有一个单选按钮允许在垂直滚动条模式和映射模式之间切换。当启用映射模式时,还可以配置预览工具提示,指定源代码映射的大小(也可以确定滚动条有多宽)。图4-19显示启用了所有这些功能的工具栏。

图4-19

源代码映射的目的是为正在编辑的代码提供高层次的可视化表示。用户不需要辨认出代码本身,只要能识别代码的样子即可。这种样子的目的是在用户浏览文件时提供帮助。

也可以看到预览提示。在滚动条上上下移动鼠标(不是单击拖动鼠标,只是悬停)时,会显示一个工具提示窗口,显示鼠标所在位置的代码预览(参见图4-20)。

图4-20

预览功能的目标是允许快速识别所查找的代码,而不必滚动整个代码窗口。在体验层面,这非常适用于确定鼠标是否悬停在接下来要编辑的代码部分。如果正在查找的是特定的变量或函数,它就没有什么用(也不适合使用它)。要查找特定的变量或函数,可采用更好的方式来浏览代码文件。

单击滚动的能力内置于预览窗口。鼠标悬停在代码文件的不同部分时,可以通过单击改变整个代码窗口的视图,例如,不是上下移动滚动条,而可以在文件中单击要移到的位置。

Navigate To

Microsoft定期执行的一个操作是安装遥测技术。这允许(当然要得到用户的允许)收集用户当前使用的各种特性的详细数据。用户参与Visual Studio客户体验改进程序时,就成为提供这些数据的人。Microsoft使用这些信息来改进现有功能提供的体验。

在一些早期版本的Visual Studio中,Navigate To函数会显示一个模态对话框。如果正在开发,该函数会退出当前正在执行的操作。另外,还可能使用鼠标关闭对话框,这要求把手从键盘上移开。

在Visual Studio 2015中,Navigate To的界面更流畅。按下适当的键盘键时(Ctrl +是默认的,但如果该键无效,也可以使用Edit | Navigate菜单项),在编辑器窗口的右上角会出现一个小窗口,如图4-21所示。

图4-21

开始输入时,Visual Studio使用语义搜索功能来显示一个匹配的列表(换句话说,Visual Studio不是直接搜索文本,而是利用其对代码项目中类和方法的理解,作为相关的指导)。根据之前的遥测,第一项是以前最常查找的项,所以会自动选择该项,并把相应的文件显示为预览。如果选择另一个文件(使用光标或鼠标来选择),该文件就显示在预览选项卡中。按Escape键会关闭导航窗口,返回最初的位置。