5.1 Quick Find与Quick Replace

Visual Studio 2015中最简单的搜索方式是使用Quick Find对话框。

Visual Studio 2015中的查找和替换功能分为两个具有共享对话框和相似功能的广泛层次:Quick Find(快速查找)及关联的Quick Replace(快速替换),用于对集成开发环境当前打开的文档或项目执行快速搜索。这两种工具在过滤和扩展搜索方面只有有限的选项,但是这些选项提供了一个超越大多数应用程序中相关功能的强大搜索引擎。

需要执行基于文本的简单搜索/替换任务(而不是搜索符号)时,这个搜索工具最适合。

5.1.1 Quick Find

在Visual Studio 2015中,Quick Find这个术语指的是最基本的搜索功能。默认情形下,这个功能可以搜索当前文档中的一个简单的单词或短语,Quick Find也有一些其他选项,可以把搜索扩展到活动的模块外,甚至可以在搜索条件中使用正则表达式。

虽然在Quick Find中可以选择利用正则表达式,但并未提供从常用模式列表中选择的功能。这是因为开发人员认为(基于Microsoft收集的衡量标准)大多数快速查找都不会使用正则表达式。相反,在Find In Files功能中提供了从常用模式列表中选择的能力,本章后面将会介绍该功能。

为了启动查找操作,可以按下标准快捷键Ctrl+F或选择Edit | Find and Replace | Quick Find。Visual Studio将显示基本的Find窗口,并默认进入Quick Find状态(见图5-1)。

图5-1

该对话框自Visual Studio 2012以来就没有什么变化,但与以前版本的Find对话框相比,Visual Studio 2015中显示的对话框已经有了很大的改动。对话框的本质没有变化,执行搜索的机制依然是相同的。在Find文本框中输入搜索条件,或者单击下拉箭头并滚动以前使用的搜索条件列表来选择以前的搜索条件。默认情况下,搜索范围限制为当前正在编辑的文档和窗口,除非选择了一些代码行,此时这些代码行就是默认的搜索范围。

在搜索框中输入每个字符时,编辑器会移到所输入文本的下一个匹配项。例如,输入f将查找第一个字母f,而不考虑其是在某个单词(例如offer)中还是独立存在。继续输入o则会将光标移到fo的第一个实例,例如form等。

可改变搜索的作用范围。对话框底部有一个Scope字段。该下拉列表基于搜索自身的上下文提供了额外的选项,包括Selection、Current Block、Current Document、Current Project、Entire Solution和All Open Documents,如图5-2所示。

图5-2

查找和替换操作在选择范围内由始至终循环寻找搜索条件,当查找过程回到起始点时结束。Visual Studio找到每个结果时,都将突出显示匹配的结果,并滚动代码窗口以便查看。如果匹配结果在代码窗口中已经是可见的,Visual Studio就不滚动窗口,只是突出显示新的匹配结果。尽管如此,如果需要滚动窗口,系统将试图定位程序清单,使匹配结果显示在代码编辑窗口的中心。

执行了第一个Quick Find搜索后,就不再需要显示这个对话框。按F3键就可以重复前面的搜索。

如果习惯使用位于Standard工具栏中的Quick Find搜索框,那么需要知道它不再是默认配置的一部分。仍然可以将该搜索框添加到工具栏,但需要手动执行该操作。

5.1.2 Quick Replace

Quick Replace操作与Quick Find操作的执行方式类似。单击搜索文本框左侧的脱字号即可切换Quick Find和Quick Replace这两种功能。如果希望直接进入Quick Replace功能,就可以按快捷键Ctrl+H或选择菜单命令Edit | Find and Replace | Quick Replace。Quick Replace选项(见图5-2)与Quick Find选项相同,但多出来一个字段,可指定用于替换的文本。

删除同一个值的多个实例的简单方式是在使用替换功能时,在Replacement Term文本区域不指定任何内容,这可以查找搜索文本的所有实例,并确定是否该删除。

Replacement Term字段与Find字段的工作方式一样——既可以输入一个新的替换字符串,也可以从提供的下拉列表中选择以前输入的替换字符串。

5.1.3 查找选项

有时需要用不同方式指定搜索条件并对搜索结果进行过滤,此时可以单击搜索文本旁边的三角形图标。这会弹出一个下拉展开列表,用于显示最近使用的搜索值,如图5-3所示。

图5-3

此外,在搜索文本的下面有3个按钮(见图5-1)。这些按钮实际上是切换按钮,用于改进搜索以区分大小写(左边的按钮)或者必须完全匹配(中间的按钮);还可以指定正在执行更高级的搜索,即使用正则表达式(右边的按钮)。Visual Studio 2015中的Quick Find对话框包含一个常用正则表达式的列表。在本章后面会看到,这些正则表达式仍然可以在Find All Files对话框中找到,如果要在Quick Find中使用正则表达式,需要从头开始编写它们。

5.1.4 Find and Replace选项

可以在Tools | Options对话框中利用各个选项进一步定制查找和替换功能。Find and Replace选项位于Environment组,它可以启用/禁用显示信息和警告消息,还可以确定Find What字段是否应该自动填入编辑窗口中的当前选项。