F12 - 转到接口的实现
F12 - Go to Implementation of Interface
当不是 运行 应用程序时,在接口类型的方法上按 F12(转到定义)将转至接口本身。
是否存在任何键组合(或我可以制作的键组合)允许我提供一个默认实现以跳转到,或允许我快速选择一个实现以转到?
我们的应用程序中有多个层,如果能够直接跳转到 Mock
或 Real
实现而不是在源代码管理中导航到它们,将会节省大量时间。
如果使用 VS 2015 及以上版本:
:
Visual Studio 2015 Update 1 added Edit.GoToImplementation which appeared in the context menu, but there was no keyboard shortcut associated with it by default.
In Visual Studio Update 2, we added a default shortcut of Ctrl+F12.
如果使用 VS 2013 及以下版本:
我们遇到了同样的问题并开始使用 Resharper。它有一个很好的 Goto Implementation 功能,我记得它工作得很好。
问题是这个工具不是免费的(这当然是有道理的,因为它提供的功能远远超过上述功能)。
没有这个,我使用查找所有引用并通过查看路径快速识别实现(我们有接口、实现和模拟很好地隔离)。但您可能已经自己确定了这种可能性。
此外,您可以考虑 this answer 中提到的选项(尽管它用于接口方法,而不是实现):
- 将光标移到方法上
- 键入 CTRL+K CTRL+T 打开 Call Hierarchy window
- 向下移动到实施节点
- 键入 Return 以转到所选实施
只需按 CTRL+F12 而不是 F12。这将带您直接进入实施。
Visual Studio 2015 有一个 "Edit.GoToImplementation" 命令,您可以对其应用键盘快捷键。
工具/选项/环境/键盘,然后在显示命令文本框中输入"Edit.GoToImplementation"。我使用 Shift+F12,所以我将 "Use new shortcut in" 更改为文本编辑器,然后在 "Press shortcut keys" 中我按 Shift+F12 并单击 "Assign"。
Visual Studio 2015 - Update 1
添加了出现在上下文菜单中的 Edit.GoToImplementation
,但默认情况下没有与其关联的键盘快捷键。
Visual Studio 2015 - Update 2
添加了默认快捷键 Ctrl + F12
如果设置了键绑定但仍未将您带到实现中,请确保没有其他应用程序具有相同的键绑定。在我的例子中,DeskPins 也使用了 CTRL+F12。我花了几分钟才找到它。
正如其他人在这篇 post 中提到的,CTRL+F12 将带您进入实施。但是,如果您使用的是没有专用功能键的笔记本电脑或设备,请不要忘记同时按下功能键,以绕过 F12 可能具有的辅助控件。
例如:FN+CTRL+F12
就我而言,我以为我按的是 CTRL+F12,但实际上是按了 CTRL+end。这花了我几分钟的时间才弄明白,所以我想其他人也可以使用它。
当不是 运行 应用程序时,在接口类型的方法上按 F12(转到定义)将转至接口本身。
是否存在任何键组合(或我可以制作的键组合)允许我提供一个默认实现以跳转到,或允许我快速选择一个实现以转到?
我们的应用程序中有多个层,如果能够直接跳转到 Mock
或 Real
实现而不是在源代码管理中导航到它们,将会节省大量时间。
如果使用 VS 2015 及以上版本:
Visual Studio 2015 Update 1 added Edit.GoToImplementation which appeared in the context menu, but there was no keyboard shortcut associated with it by default.
In Visual Studio Update 2, we added a default shortcut of Ctrl+F12.
如果使用 VS 2013 及以下版本:
我们遇到了同样的问题并开始使用 Resharper。它有一个很好的 Goto Implementation 功能,我记得它工作得很好。
问题是这个工具不是免费的(这当然是有道理的,因为它提供的功能远远超过上述功能)。
没有这个,我使用查找所有引用并通过查看路径快速识别实现(我们有接口、实现和模拟很好地隔离)。但您可能已经自己确定了这种可能性。
此外,您可以考虑 this answer 中提到的选项(尽管它用于接口方法,而不是实现):
- 将光标移到方法上
- 键入 CTRL+K CTRL+T 打开 Call Hierarchy window
- 向下移动到实施节点
- 键入 Return 以转到所选实施
只需按 CTRL+F12 而不是 F12。这将带您直接进入实施。
Visual Studio 2015 有一个 "Edit.GoToImplementation" 命令,您可以对其应用键盘快捷键。
工具/选项/环境/键盘,然后在显示命令文本框中输入"Edit.GoToImplementation"。我使用 Shift+F12,所以我将 "Use new shortcut in" 更改为文本编辑器,然后在 "Press shortcut keys" 中我按 Shift+F12 并单击 "Assign"。
Visual Studio 2015 - Update 1
添加了出现在上下文菜单中的 Edit.GoToImplementation
,但默认情况下没有与其关联的键盘快捷键。
Visual Studio 2015 - Update 2
添加了默认快捷键 Ctrl + F12
如果设置了键绑定但仍未将您带到实现中,请确保没有其他应用程序具有相同的键绑定。在我的例子中,DeskPins 也使用了 CTRL+F12。我花了几分钟才找到它。
正如其他人在这篇 post 中提到的,CTRL+F12 将带您进入实施。但是,如果您使用的是没有专用功能键的笔记本电脑或设备,请不要忘记同时按下功能键,以绕过 F12 可能具有的辅助控件。
例如:FN+CTRL+F12
就我而言,我以为我按的是 CTRL+F12,但实际上是按了 CTRL+end。这花了我几分钟的时间才弄明白,所以我想其他人也可以使用它。