【问题标题】:Visual Studio 2010 extension for Go To Interface Implementation? [duplicate]转到接口实现的 Visual Studio 2010 扩展? [复制]
【发布时间】:2011-09-09 00:33:32
【问题描述】:

可能重复:
How do you quickly find the implementation(s) of an interface’s method?

我喜欢 ReSharper 的 Go To Implementation 功能,但我经常禁用 ReSharper。是否有适用于 Visual Studio 2010 的等效扩展?

【问题讨论】:

  • “但我经常禁用 ReSharper。” - 为什么?
  • 不幸的是,我经常崩溃
  • ReSharper 很棒,但如果您没有一台出色的开发 PC(我上一份工作中使用的是六年前的硬件。经济太糟糕了。)ReSharper 可以将事情拖到爬行,所以我可以理解禁用它。

标签: visual-studio-2010 keyboard-shortcuts resharper go-to-definition visual-studio-extensions


【解决方案1】:

我也在寻找这个小小的“实施”的扩展。但不幸的是,我找不到任何东西。可能我们将不得不等待下一个版本的 Visual Studio 或重新启用 ReSharper(在我看来,这会占用太多资源)

现在对我来说最好的解决方案是使用 VS2010 的“调用层次结构”功能。只需按照下面的说明操作即可

  1. 将光标移至目标方法名称
  2. 按“Ctrl K, Ctrl T”(这将弹出“调用层次结构窗口”)
  3. 按“Down”、“Down”、“Right”、“Down”、“Enter”(这将转到您的实现方法)
    • 看起来很有趣,但它实际上是使用键盘导航到您想要的项目的方式
  4. [更多解释]
    • "Down", "Down" --> 转到"Implements 'xxx'"
    • "Right" --> 展开子项
    • "Down" --> 重点介绍实现方法
    • "Enter" --> 导航到它

希望有帮助

【讨论】:

    【解决方案2】:

    Ctrl + F12 - 转到声明

    【讨论】:

    • 我在键盘绑定屏幕上看到了这个,但它实际上并没有在我的电脑上做任何事情。也许我的设置很糟糕
    • @qntmfred:假设您正确使用了快捷方式(必须选择正确的编辑器上下文 - 选择单词、窗口焦点等):如何重置您的设置 - msdn.microsoft.com/en-us/library/ms247075(v=VS.100).aspx
    • 这是标准快捷方式。您可能有不同的键盘架构。您可以转到Tools => Options => Environment => Keyboard 并检查Edit.GoToDeclaration 命令的快捷方式。您可以设置快捷方式。
    • @Alex 是的,我将 Edit.GoToDeclaration 设置为 ctrl+f12。只是似乎没有做任何事情。在 2 台计算机上尝试过,其中一台安装了全新的 VS
    • Ctrl-F12 仅在启用 Resharper 时有效。我敢说它和 Alt-End 做同样的事情。
    【解决方案3】:

    对我来说,在 VS2010(以及 VS2008 中)获得“Go to implementation”功能的最简单和免费的方法是

    1. 安装免费的 CodeRush Xpress http://msdn.microsoft.com/en-us/vstudio/ee663901

    2. 安装 Miha Markic 的“转到实施者”Code Rush 扩展。就在今天,作者更新了他的扩展以使用最新的 CodeRush Xpress 11.2.11 http://blog.rthand.com/page/Go-To-Implementator.aspx

    效果很好。

    【讨论】:

      【解决方案4】:

      简短的回答,不。

      在我看来,您应该致力于保持 100% 的时间启用 Resharper。确保关闭解决方案范围分析,使用最新的 resharper(Resharper 6 现已推出)和/或升级您的 PC。

      【讨论】:

        【解决方案5】:

        老实说,我对 Resharper 并不太熟悉,但如果您所说的“转到实现”是指您可以单击方法调用并且它会将您带到该方法的代码,那么我建议您使用“生产力工具”由微软创建。

        private void foo()
        {
         // does stuff
        }
        
        private void main()
        {
         // hold down CTRL, foo() below will turn into 
         // a hyperlink that you can click on
         foo();
        }
        

        这是链接http://visualstudiogallery.msdn.microsoft.com/d0d33361-18e2-46c0-8ff2-4adea1e34fef/

        这将允许您按住 CTRL 键,该键将方法和变量转换为超链接,单击这些超链接将带您到最初定义它们的位置。

        这些工具还可以清理代码隐藏/类文件顶部未使用的 Imports/using 语句。还有我最喜欢的自动支架完成

        【讨论】:

        • 虽然与问题没有直接关系,但我也将 PowerCommands 用于 VS2010,让您通过 VS 更好地访问您的文件系统visualstudiogallery.msdn.microsoft.com/…
        • 感谢 Jeremy - 电动工具功能执行 Go To Definition 命令,也可以通过 F12 轻松执行。我正在寻找的是 Go To Implementation,在 Resharper 中,您感兴趣的变量是接口而不是具体类型。 Go To Definition 将打开接口,而 Go To Implementation 将找出(或询问您)您要查看的接口的哪个实现。
        【解决方案6】:

        不是键盘快捷键,但是 Noah Richards 的 Go To Definition 是 Visual Studio 的一个有用的轻量级扩展。

        【讨论】:

        • 这不去实现,它只是在当前窗口中弹出一个定义。这在处理接口时是没用的,为什么“转到实现”这么好
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-04-17
        • 2011-09-26
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多