F12 - 转到接口实现

时间:2015-09-16 17:12:22

标签: visual-studio interface keyboard-shortcuts

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

是否存在任何关键组合(或者我可以制作的组合),这将允许我提供跳转到的默认实现,或者允许我快速选择要执行的实现?

我们的应用程序中有几个层,它可以节省大量时间,以便能够直接跳转到MockReal实现,而不是在源代码管理中导航到它们。

6 个答案:

答案 0 :(得分:25)

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

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

答案 1 :(得分:11)

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

See answer below

  

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

     

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

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

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

问题是这个工具不是免费的(当然这是合理的,因为它提供的功能远远超过上述功能)。

如果没有这个,我使用查找所有引用并通过查看路径快速识别实现(我们有接口,实现和模拟很好地隔离)。但是你可能已经自己发现了这种可能性。

此外,您可以考虑this answer中提到的选项(虽然它适用于界面的方法,而不是整个实现):

  • 将光标移到方法
  • 键入 CTRL + K CTRL + T 以打开调用层次结构窗口
  • 向下移动到 Implements 节点
  • 键入返回以转到所选实施

答案 2 :(得分:10)

Visual Studio 2015有一个" Edit.GoToImplementation"命令,您可以应用键盘快捷方式。

工具/选项/环境/键盘,然后输入" Edit.GoToImplementation"进入show命令文本框。我使用Shift + F12,所以我改变"在"中使用新的快捷方式。到文本编辑器,然后在"按快捷键"我按Shift + F12并单击"分配"。

答案 3 :(得分:7)

只需按 CTRL + F12 而不是 F12 。这将直接带您进行实施。

答案 4 :(得分:0)

如果设置了键绑定,但仍然不能带您进入实现,请确保没有其他应用程序具有相同的键绑定。就我而言,DeskPins也使用了CTRL + F12。花了我几分钟时间才找到它。

答案 5 :(得分:-1)

一个非常简单的解决方案是将实现与接口放在同一文件中! ;-)

namespace Foo.Services
{
    public interface IService
    {
        ...
    }

    public class Service : IService
    {
        ...
    }
}