如何:搜索对象、定义和引用(符号)
更新:2010 年 8 月
使用**“对象浏览器”、“定位到”、“查找符号”或“转到定义”**,可以搜索解决方案中的对象、定义或引用(符号)。
通过在**“对象浏览器”**中键入搜索字符串,可以筛选在当前浏览范围的对象窗格中显示的符号的名称。 例如,键入字符串 MyObject 将返回“MyObject”、“MyObjectTest”和“CMyObject”。
使用**“定位到”**功能可以在源代码中搜索符号或文件。
若要执行更高级的搜索,可以使用**“查找和替换”窗口的“查找符号”选项卡。 结果将显示在“查找符号结果”**窗口中。 有关更多信息,请参见“查找和替换”窗口 ->“查找符号”和“查找符号结果”窗口。
提示
右击“对象浏览器”对象窗格中的符号,然后单击“查找所有引用”,查找结果也显示在“查找符号结果”窗口中。
您还可以按下面的方式搜索代码元素的原始定义:在编辑器中右击元素的实例,然后单击**“转到定义”**。
使用对象浏览器搜索符号
在**“对象浏览器”的“搜索”框中键入搜索字符串时,只搜索当前浏览范围。 使用“浏览”**列表可选择浏览范围。 有关如何进行范围搜索的更多信息,请参见如何:在对象浏览器中修改浏览范围。
在对象浏览器中使用搜索字符串来搜索符号
在**“对象浏览器”的“浏览”**列表中,选择浏览范围。
在**“搜索”**框中,键入全部或部分要搜索的符号名,或者从下拉列表中选择一个符号名。
提示
搜索不区分大小写。
单击**“搜索”**。
对象窗格仅显示浏览范围内包含搜索字符串的符号名。 每个匹配项中的该字符串都将突出显示。
清除结果
在**“对象浏览器”中,单击工具栏上的“清除搜索”**按钮。
对象窗格现在显示当前浏览范围内的所有对象。
使用“定位到”功能搜索符号
通过使用**“定位到”**功能,可在解决方案中查找并定位到特定位置,也可以浏览解决方案中的元素。 该功能可帮助您从查询中选出一组适当的匹配结果。
使用“定位到”功能搜索符号或文件
在**“编辑”菜单上,单击“定位到”**。
在上部的框中,键入搜索字符串。
请注意,在键入时,结果将显示在下部的框中,随着键入更多的内容,框中的结果将相应变化。 例如,如果键入 Click,则会显示所有包含“Click”的符号名;如果再键入一个空格和字母 E,则列表将进行筛选,只显示包含“Click”和“E”的符号(空格视为 and 关系)。
搜索结果可能包含解决方案中的符号定义和文件名,但不包含命名空间或局部变量。
一个搜索字符串可以包含多个搜索词,搜索词之间必须使用空格分隔。 如果搜索词包含大写字母,则对该词的搜索区分大小写;否则,搜索不区分大小写。 对于文件名的第一个字符,文件名始终不区分大小写。
通过使用 Camel 大小写格式和下划线字符,可以将符号分为多个关键字,这样可搜索包含在符号中的关键字。 例如,若要查找“AddOrderHeader”符号,可以搜索“add”、“order”、“header”、“order add”、“AOH”以及其他组合,如下表所示。
符号名 |
关联的关键字 |
匹配搜索字符串示例 |
---|---|---|
AddOrderHeader |
Add、Order、Header |
“add”、“order”、“header”、“order add”、“AOH”、“a o”、“add ord”、“OrderH” |
update_customer |
update、customer |
“update”、“customer”、“customer upd”、“update c” |
**“定位到”**语法不支持如下的特殊逻辑或特殊字符:
通配符匹配
布尔逻辑运算符,包括 and、or、& 和 |
正则表达式
双击某个结果可以在代码中查看其定义。
若要进行增强查询,请使用**“查找符号”**。
使用“查找符号”功能搜索符号
使用**“查找和替换”窗口的“查找符号”选项卡,可定位到项目代码中定义、引用或使用某个符号的行。 具体而言,“查找符号”**适用于以下情况:
搜索符号的定义,或查找某个符号的多个定义。
搜索对某个符号的引用,以及代码中用到该符号的地方。
浏览所引用组件和外部组件中的对象层次结构,以便了解其功能。
使用**“查找符号”**不同于查找文本,区别如下:
使用**“查找符号”**时,搜索范围仅限于符号。
在**“查找符号结果”**窗口中,会指示符号的所有可用定义以及对该符号的引用。
可以在没有源代码的外部组件中搜索。
在“查找和替换”窗口的“查找符号”选项卡上,使用搜索字符串来搜索符号
如果有任何要搜索的文件采用源代码管理的方式来存储,请将其签出。
将所有打开的文档都切换到**“源”**视图。
在**“编辑”菜单上,单击“查找和替换”,再单击“查找符号”**。
在**“查找范围”**列表中,选择以下搜索范围之一。
如果选择**“所有组件”,搜索范围将限定于所有可用组件,包括当前解决方案、当前解决方案中被引用的组件、.NET Framework 类库,以及通过“添加其他组件”**添加的所有组件。
如果选择**“.NET Framework”**,搜索范围将限定于 .NET Framework 类库。
如果选择**“我的解决方案”**,搜索范围将限定于打开的解决方案中定义或引用的符号名。
如果选择**“自定义组件集(对象浏览器)”,搜索范围将限定于当前已添加到“对象浏览器”的“自定义组件集”**搜索范围中的组件。
如果选择**“自定义组件集(查找符号)”,搜索范围将限定于当前已添加到“查找符号”的“自定义组件集”**搜索范围中的组件。
单击“浏览”(“...”)按钮,以显示“编辑自定义组件集”对话框,然后选择自定义搜索文件夹集。 有关更多信息,请参见如何:在对象浏览器中修改浏览范围。
在**“查找选项”**下,设置所需选项,具体如下:
**“全字匹配”**选项:对结果进行筛选,只显示与搜索字符串完全匹配的项。 例如,搜索 MyObject 将返回“MyObject”,而不会返回“CMyObject”或“MyObjectC”。
**“前缀”**选项:对结果进行筛选,只显示以搜索字符串开头的项。 例如,搜索 MyObject 将返回“MyObject”和“MyObjectTest”,而不会返回“CMyObject”。
**“子字符串”**选项:返回所有包含搜索字符串的结果。 例如,搜索 MyObject 将返回“MyObject”、“MyObjectTest”和“CMyObject”。
使用上述任一选项时,还可以选择**“大小写匹配”。 此选项可进一步筛选结果,只显示与搜索字符串的大小写相匹配的项。 例如,如果在选中“大小写匹配”**的条件下搜索 MyObject,将返回“MyObject”,而不会返回“myobject”或“MYOBJECT”。
提示
“查找和替换”设置在不同搜索之间保持有效。 有关更多信息,请参见“查找和替换”窗口 ->“查找符号”。
在**“查找内容”**框中,输入要查找的字符串或表达式。
提示
在“查找符号”搜索中,不能使用通配符和正则表达式。
单击**“全部查找”**开始搜索。
结果显示在“查找符号结果”窗口中。 双击某个结果可以跳转到代码中的相应匹配项。
导航到定义
在编辑器中,如果需要搜索代码元素的原始定义,请右击该元素,然后单击**“转到定义”**。 可以针对成员、类型、变量、局部变量等元素进行搜索。
即使代码使用重载或类型推理,**“转到定义”**也会使用编译器信息查找和显示原始定义,只要其位置对 Visual Studio 可用。
搜索代码元素的定义
在编辑器中,右击要查找其定义的代码元素,然后单击**“转到定义”**。
最初在其中定义该元素的模块如果可用,将显示在编辑器的新选项卡上。 如果定义不可用,将显示错误消息。
请参见
任务
参考
其他资源
修订记录
日期 |
修订记录 |
原因 |
---|---|---|
2010 年 8 月 |
修改了“定位到”功能信息。 |
内容 Bug 修复 |