开发人员通常需要查看他们在代码中使用的类型或类成员的源代码定义。 在 Visual Studio 中, “转到定义 ”和 “速览定义 ”功能可让你轻松查看类型或成员的定义。 如果源代码不可用,Visual Studio 将改为显示元数据。
转到定义
使用 “转到定义 ”功能时,Visual Studio 会找到所选类型或成员的源代码。 如果源代码位于其他文件中,该文件将在新窗口中打开。 Visual Studio 将更改当前焦点以突出显示相关条目。
可通过多种方式访问 “转到定义”:
将光标置于符号名称内并使用 F12 函数键
右键单击符号名称,然后选择“ 转到定义”
在符号名称上使用 Ctrl+单击 键盘/鼠标快捷方式
更改操作快捷键
可以通过在工具>选项>文本编辑器>常规下使用启用鼠标单击以执行转到定义选项来启用或禁用Ctrl+Click快捷方式。
若要更改快捷方式的修饰键,请展开 “使用修饰符”键 下拉列表,然后选择 Ctrl (默认值)、 Alt 或 Ctrl+Alt:
查看定义
“ 速览定义 ”功能允许预览类型的定义,而无需在编辑器中更改当前文件中的焦点。 Visual Studio 使用当前文件打开源文件的精简 速览 视图窗口。 可以更改 “速览 视图”窗口的大小,以查看更多源定义:
关闭 “速览 视图”窗口时,当前代码文件在编辑器中保持打开状态。
可通过多种方式访问 速览定义:
将光标置于符号名称内,然后选择 Alt+F12 函数键
右键单击符号名称并选择 “速览定义”
在符号名称上使用 Ctrl+单击 键盘/鼠标快捷方式
更改操作快捷键
你可以为“转到定义”配置 +Click 键盘/鼠标快捷方式,以在“速览”视图中打开源代码文件。 使用“工具>>>”下的“查看视图”选项中的“打开定义”。
使用面包屑路径管理多个文件
如果从打开的 “速览 视图”窗口查看另一个定义,则启动痕迹导航路径。 可以使用 “窥视视图” 窗口上方的圆圈和箭头沿着路径向前或向后查看:
关闭 “速览 视图”窗口时,Visual Studio 会关闭痕迹导航路径中的所有打开的文件。 有关详细信息,请参阅 使用速览定义(Alt+F12)查看和编辑代码。
将元数据视为源代码 (C#)
当您尝试查看 C# 类型或成员的定义,而源代码不可用时,Visual Studio 会显示符号的元数据。 可以看到类型和成员的声明,但看不到它们的实现。 窗口的选项卡标签包括符号名称,后跟 [from metadata]:
注释
如果您尝试查看internal类型或成员的定义,无论引用的程序集是否为友元程序集,Visual Studio 都不会将元数据显示为源代码。 有关详细信息,请参阅 Friend 程序集。
查看反编译的源定义 (C#)
当所选 C# 符号的源代码不可用时,可以设置一个选项来查看反编译的源定义,而不是元数据。 使用工具>选项>文本编辑器>C#>高级中的启用对反编译源的导航选项。
注释
Visual Studio 使用 ILSpy 反编译重新构造方法主体。 首次访问此功能时,必须同意有关软件许可和版权和商标法的法律免责声明。