F12 - 转到接口实现

34

当未运行应用程序时,在接口类型的方法上按 F12(转到定义)将带您进入接口本身。

是否存在任何键组合(或我可以创建的组合)可让我提供默认实现以跳转,或者让我快速选择要跳转的实现?

我们的应用程序中有几个层次结构,如果能够直接跳转到Mock或Real实现,而不是在源代码控制中浏览它们,将节省大量时间。


看起来这个功能在15.8.2版本中已经消失了。有人知道如何恢复它吗? - Kjeld Poulsen
6个回答

32

Visual Studio 2015 - 更新1

添加了Edit.GoToImplementation,可以在上下文菜单中找到,但默认情况下没有与之相关联的键盘快捷键。

Visual Studio 2015 - 更新2

添加了一个默认快捷键Ctrl+F12


23
如果使用VS 2015及以上版本:

查看其他答案

Visual Studio 2015 Update 1增加了“Edit.GoToImplementation”功能,出现在上下文菜单中,但默认情况下没有与之关联的键盘快捷键。

在Visual Studio Update 2中,我们添加了默认快捷键:Ctrl+F12。


如果使用VS 2013及以下版本:

我们曾经遇到相同的问题,并开始使用Resharper。它有一个很好的“Goto Implementation”功能,我记得它工作得非常好。

问题是这个工具不是免费的(当然,这是合理的,因为它提供的远比所提到的功能多得多)。

在没有这个工具的情况下,我使用“查找所有引用”,通过查看路径快速识别实现(我们将接口、实现和模拟清晰地分开)。但是你可能已经自己找到了这种可能性。

此外,您可以考虑这个答案中提到的选项(虽然它是针对接口方法而不是实现的):

  • 将光标移到方法上
  • 键入CTRL+KCTRL+T打开“调用层次结构窗口”
  • 移动到“Implements”节点
  • 键入Return跳转到所选的实现

15
只需按下CTRL+F12,而不是只按F12。这将直接带您到实现部分。

2
那个快捷键只是找到所有的引用。 - Hélder Gonçalves
1
截至2016年8月的VS 2105版本中,SHIFT+F12可以查找所有引用,CTRL+F12可以跳转到实现。如果存在多个实现,则CTRL+F12将列出所有实现,以供选择。 - Dr Rob Lang

13

Visual Studio 2015提供了一个“Edit.GoToImplementation”命令,可以为其分配一个键盘快捷键。

步骤如下:在“工具/选项/环境/键盘”中输入“Edit.GoToImplementation”到“显示命令”文本框中。我使用Shift+F12,所以我将“使用新的快捷键”更改为“文本编辑器”,然后在“按下快捷键”文本框中按下Shift+F12并点击“分配”按钮。


对我有用,谢谢。 如果快捷键CTRL+F12已经设置,请删除它,关闭“选项”对话框,然后使用相同的快捷键组合再试一次。 - Mohammad

2
如果设置了键绑定,但仍无法跳转到实现,请确保没有其他应用程序使用相同的键绑定。在我的情况下,CTRL+F12 也被 DeskPins 使用。花费了我几分钟才发现这个问题。

0
正如其他人在这篇文章中提到的那样,CTRL+F12将带您进入实现。但是,如果您使用的是笔记本电脑或没有专用功能键的设备,请不要忘记按下功能键以获取F12所具有的辅助控制功能。

例如:FN + CTRL + F12

在我的情况下,我以为我按的是CTRL + F12,但实际上我按的是CTRL + end。这花了我几分钟的时间才想出来,所以我想其他人也可能会用到这个技巧。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接