如何:搜索对象、定义和引用(符号)

更新:2007 年 11 月

通过在“对象浏览器”工具栏的 <搜索> 列表中选择或输入搜索字符串,可以在“对象浏览器”中筛选在“对象”窗格中显示的当前浏览范围内的符号的名称。单击“搜索”可显示包含搜索字符串的当前浏览范围内的所有符号名称。例如,搜索字符串“MyObject”将返回名称“MyObject”、“MyObjectTest”和“CMyObject”。搜索不区分大小写。

也可以使用“查找和替换”窗口的“查找符号”选项卡或“对象浏览器”快捷菜单上的“查找所有引用”命令搜索符号。这些搜索将在“查找符号结果”窗口中显示其结果。有关这些窗口的参考信息,请参见 “查找和替换”窗口 ->“查找符号”“查找符号结果”窗口 窗口。您还可以通过单击代码编辑器上下文菜单中的“转到定义”命令来搜索定义。

使用搜索字符串搜索符号

“对象浏览器”工具栏上的“搜索”菜单使用在“浏览”菜单中选择的当前浏览范围。有关划分搜索范围的更多信息,请参见 如何:查看和更改浏览范围

使用搜索字符串搜索当前浏览范围

  1. 在“对象浏览器”工具栏上的“搜索字符串”字段中,选择以前的搜索字符串或输入某个符号名称的全部或部分内容。

  2. 单击“搜索”。

    “对象”窗格仅显示名称包含“搜索字符串”的“浏览”范围中的那些项。每个符号名称中匹配的字符串将突出显示。

清除结果

  • 单击“对象浏览器”工具栏上的“清除搜索”按钮。

    “对象”窗格现在显示当前浏览范围内的所有对象。

使用“查找符号”搜索符号

使用“查找和替换”窗口的“查找符号”选项卡或“对象浏览器”快捷菜单上的“查找所有引用”命令,在项目代码中定位定义、引用或使用了符号的行。

“查找符号”用于:

  • 在项目中搜索符号的定义,或发现一个符号的多个定义。

  • 搜索对符号的引用,以及在代码中使用该引用的实例。

  • 浏览引用组件和外部组件中的对象层次结构,由此可以了解其功能。

“查找符号”与查找文本不同,在“查找符号”中:

  • 允许将搜索范围限制为仅包含符号。

  • “查找符号结果”窗口 中指示定义和对符号的引用(可用时)。

  • 可以在没有源代码的外部组件中搜索。

显示“查找符号”选项卡

  1. 在“编辑”菜单上展开“查找和替换”。

  2. 选择“查找符号”。

    - 或 -

  3. 如果“查找和替换”窗口已经打开,请在工具栏的左侧下拉列表中单击三角形“查看”按钮,然后选择“查找符号”。

查找与搜索字符串匹配的符号名称

  1. 签出要搜索的在源代码的管理下存储的任何文件。

  2. 将在“设计”视图编辑器中打开的所有文档切换到“源”视图。

  3. 从“编辑”菜单中选择“查找和替换”,然后选择“查找符号”。

    “查找和替换”窗口打开,并显示“查找符号”选项。

  4. 在“查找范围”下拉列表中选择预定义的搜索范围。

    • “所有组件”- 针对“查找内容”字符串搜索所有可用组件,包括当前解决方案及其引用的组件、整个 .NET Framework,以及使用“添加其他组件”添加的任何组件。

    • “.NET Framework”- 搜索整个 .NET Framework 类库。

    • “我的解决方案”- 在打开的解决方案中搜索已定义或已引用的符号名称。

    - 或 -

    选择一个“自定义组件集”搜索范围。

    • “自定义组件集(对象浏览器)”- 搜索当前添加到“对象浏览器”的“自定义组件集”搜索范围中的组件。

    • “自定义组件集(查找符号)”- 搜索当前添加到“查找符号”的“自定义组件集”搜索范围中的组件。

    - 或 -

    单击浏览(“...”)按钮显示 “编辑自定义组件集”对话框,并选择自定义搜索文件夹集。有关更多信息,请参见 如何:查看和更改浏览范围

  5. 根据需要设置“查找选项”。可以选择以下匹配方式:

    • “全字匹配”- 选择此选项后,“查找符号结果”窗口将仅显示与“查找内容”字符串全字匹配的实例。例如,搜索“MyObject”将返回“MyObject”,而不会返回“CMyObject”或“MyObjectC”。

    • “前缀”- 选择此选项后,“查找符号结果”窗口将显示名称以“查找内容”字符串开头的任何符号。例如,搜索“MyObject”将返回“MyObject”、“MyObjectTest”等,而不会返回“CMyObject”。

    • “子字符串”- 选择此选项后,“查找符号结果”窗口将显示名称在任何位置包含“查找内容”字符串的所有符号。例如,搜索“MyObject”将返回“MyObject”、“MyObjectTest”和“CMyObject”。

    对于任何这些选项,可选择:

    • “大小写匹配”- 选择此选项后,“查找符号结果”窗口将仅显示与“查找内容”字符串的内容和大小写都匹配的实例。例如,如果在选择了“大小写匹配”的情况下搜索“MyObject”,则将只返回“MyObject”,而不会返回“myobject”或“MYOBJECT”。
    说明:

    “查找”和“替换”选项是全局选项,所以它们在所有搜索中都有效。有关更多信息,请参见“查找和替换”窗口 ->“查找符号”

  6. 在“查找内容”文本框中输入想要查找的字符串或表达式。注意: 在“查找符号”搜索中不能使用通配符和正则表达式。

  7. 选择“全部查找”开始搜索。若要取消正在进行的搜索,请选择“停止”。

    找到的匹配项将在 “查找符号结果”窗口 中列出。若要跳转到某个搜索匹配项,请双击它的项。

导航到定义

通过代码编辑器上下文菜单中的“转到定义”命令,可以直接定位到所选代码元素的原始定义。或者可以按 F12 键调用“转到定义”命令。

“转到定义”对成员、类型、变量、局部变量等代码元素起作用。即使代码使用了大量的重载或类型推断,“转到定义”也会使用编译器信息帮助您直接定位到最初定义代码元素的位置。但是,为了使“转到定义”能够正确工作,Visual Studio 必须能够使用定义元素的代码。

导航到定义

  • 在代码编辑器中右击代码元素,然后单击“转到定义”。

    如果最初定义代码的模块可用,它会显示在代码编辑器的一个新选项卡中。如果定义不可用,您会收到错误消息“无法导航到定义”。

请参见

任务

如何:在对象浏览器中定位

参考

“查找符号结果”窗口

“查找符号”命令

“代码定义”窗口