查看类型和成员定义

开发人员经常需要查看他们在代码中所使用的类型或类成员的源代码定义。 在 Visual Studio 中,转到定义速览定义功能有助于轻松查看类型或成员的定义。 如果源代码不可用,Visual Studio 将显示元数据。

转到定义

使用转到定义功能时,Visual Studio 会找到所选类型或成员的源代码。 如果源代码位于其他文件中,此文件将在新窗口中打开。 Visual Studio 会将更改当前焦点以突出显示相关条目。

显示“转到定义”如何在新窗口中打开所选符号的源文件的屏幕截图。

可通过以下多种方式访问转到定义

  • 将光标放在符号名称内并使用 F12 功能键

  • 右键单击符号名称,再选择转到定义

  • 在符号名称上使用 Ctrl+单击键盘/鼠标快捷方式

更改操作快捷方式

您可以通过工具>选项>文本编辑器>常规下的启用通过鼠标单击执行“转到定义”选项,启用或禁用转到定义Ctrl+单击快捷键。

要更改快捷方式的修改键,请展开使用修改键下拉列表,然后选择 Ctrl(默认值)、AltCtrl+Alt

“转到定义”功能的文本编辑器选项的屏幕截图,其中包括“使用修改键”设置。

速览定义

速览定义功能有助于预览类型的定义,而无需在编辑器中更改当前文件上的焦点。 Visual Studio 会使用当前文件打开源文件的精简速览视图窗口。 你可以更改速览视图窗口的大小,以查看更多源定义:

显示“速览定义”如何在当前视图的速览视图窗口中打开所选符号的来源的屏幕截图。

关闭速览视图窗口时,当前代码文件会在编辑器中保持打开状态。

可通过以下多种方式访问速览定义

  • 将光标放在符号名称内,然后选择 Alt+F12 功能键

  • 右键单击符号名称,再选择速览定义

  • 在符号名称上使用 Ctrl+单击键盘/鼠标快捷方式

更改操作快捷方式

你可以配置转到定义Ctrl+单击键盘/鼠标快捷键,以在速览视图中打开源代码文件。 使用工具>选项>文本编辑器>常规下的在速览视图中打开定义选项。

速览定义功能的文本编辑器选项的屏幕截图。

对多个文件使用痕迹导航路径

如果从打开的速览视图窗口速览另一个定义,则你将启动痕迹导航路径。 你可以使用速览视图窗口上方的圆圈和箭头沿着路径向前和向后查看:

此屏幕截图显示“速览定义”的开放源代码文件的痕迹导航路径和用于向后查看的选项。

关闭速览视图窗口时,Visual Studio 会关闭痕迹导航路径中的所有打开的文件。 有关详细信息,请参阅使用“查看定义”(Alt+F12) 查看和编辑代码

查看作为源代码的元数据 (C#)

当你尝试查看 C# 类型或成员的定义并且源代码不可用时,Visual Studio 会显示该符号的元数据。 可以看到类型和成员的声明,但不能看到其实现。 窗口的选项卡标签包括后跟 [来自元数据] 的符号名称:

此屏幕截图显示仅当所选符号的源代码不可用时 Visual Studio 如何显示元数据。

注意

如果你尝试查看内部类型或成员的定义,则无论引用程序集是否为友元,Visual Studio 都不会将元数据显示为源代码。 有关详细信息,请参阅友元程序集

查看反编译的源定义 (C#)

当所选 C# 符号的源代码不可用时,你可以设置一个选项来查看反编译的源定义,而不是元数据。 使用工具>选项>文本编辑器>C#>高级下的启用导航到反编译源选项。

此屏幕截图显示当所选符号的定义不可用时 Visual Studio 如何显示反编译源代码。

注意

Visual Studio 使用 ILSpy 反编译重建方法体。 第一次访问此功能时,必须同意有关软件授权以及版权和商标法律的法律免责声明。