Visual studio VisualStudio-将类型定义作为源代码的简单方法

Visual studio VisualStudio-将类型定义作为源代码的简单方法,visual-studio,intellisense,code-navigation,Visual Studio,Intellisense,Code Navigation,通常,我希望在源代码视图中打开一个系统类,以便浏览该类公开的属性和方法。下面是我的意思的截图: 通常,我通过选择类名并按F12键(或右键单击>转到定义)来执行此操作。然而,如果我还没有准备好,我必须把它打出来,然后再去定义。大多数时候,我不得不删除我后来键入的内容 有没有一种方法可以在不必键入类名的情况下打开此视图?VS2010对话框不支持此操作 编辑:当我发布问题时,我没有使用任何Visual Studio插件。现在我意识到我拥有完整的CodeRush许可证(多亏了针对10K rep用户的S

通常,我希望在源代码视图中打开一个系统类,以便浏览该类公开的属性和方法。下面是我的意思的截图:

通常,我通过选择类名并按F12键(或右键单击>转到定义)来执行此操作。然而,如果我还没有准备好,我必须把它打出来,然后再去定义。大多数时候,我不得不删除我后来键入的内容

有没有一种方法可以在不必键入类名的情况下打开此视图?VS2010对话框不支持此操作

编辑:当我发布问题时,我没有使用任何Visual Studio插件。现在我意识到我拥有完整的CodeRush许可证(多亏了针对10K rep用户的StackOverflow推广),我将接受使用CodeRush或Refactor!的答案


编辑:在这个阶段,我还没有尝试回答这个问题。我会让它打开,让赏金汽车奖自己给罗里,因为他解释了什么发生的最好。同时(时间表允许),我将研究使用DXCore进行此操作,因为我认为这应该是可能的。

我知道在Visual Studio 2010中没有方法进行此操作。但是,您可以通过“导航到”菜单在中执行此操作。我建议你试用他们的30天试用版,如果你真的需要,那么就购买它。

我不知道新的“导航到”功能,但我曾经用过这种功能。pro版本提供了与Visual Studio的一些集成(右键单击该方法并选择“在.NET Reflector中打开”)。它将打开反射器窗口,并且不会在VS中显示代码。您可以选择显示此功能和其他一些功能的选项。

这不是我期望的最佳答案,但却是一个很好的选择。

您正在查看的视图似乎是通过对框架的IL进行某种分析而构建的。如果不知道你要看的类型,就无法进行解构。因此,我觉得,你不太可能准确地找到你所说的你正在寻找的东西

不过,请允许我提出一些备选方案

免责声明:我作为CodeRush社区传道者为DevXPress工作

对象浏览器(Ctrl+Alt+J)将加载此屏幕,而不尝试显示任何特定类型,因此,您将自行查找相关类型。但是,所有类型都可用,并提供完整的搜索功能。一旦找到您正在查找的类型,所有成员都将列出并可用

更新:如果使用(Ctrl+K,Ctrl+R)快捷方式启动对象浏览器,则它将在搜索框上启动。这是无价的

当试图定位代码时,有许多CodeRush特性可以证明是有用的

TabToNextReference(Tab)当插入符号位于某个类型中时,按Tab键,将找到该类型的下一个引用

引用工具窗口(Shift+F12)激活时,引用工具窗口将显示对当前类型或成员的任何引用。此工具窗口还可用于导航所述引用。“引用”工具窗口可用于按需和实时模式。这允许您在导航代码时(通过鼠标或键盘)更新窗口,并找到插入符号所在的任何符号的所有引用

快速导航(Ctrl+Shift+Q):此功能在风格上与VS2010的NavigateTo功能最接近。QuickNav将找到与您在其筛选器框中键入的内容匹配的符号。该工具还支持驼峰案例搜索

QuickNav也比它的VS对手更强大

最后

还请记住,CodeRush是基于DXCore构建的,DXCore是一个允许用户创建自己的插件,以便与其他插件和CodeRush一起使用的框架

该框架已被反复修改以添加附加功能。所以,即使你看不到任何符合你需要的东西,也可以考虑向社区提出一些建议,甚至直接与我联系。
我确信我们可以做些什么来帮助您:)

许多附加模块允许您浏览对象(尽管通常是以对象浏览器树视图的方式,而不是以“头”文件的形式-我相信Resharper、CodeRush和Visual Assist X在这个主题上都有不同)

然而,一个附加的考虑(因为它是免费的)是VS。它添加了一个“解决方案导航器”窗口,与“解决方案资源管理器”一样,可以查看您的解决方案,但(除其他增强功能外):

  • 可以搜索和筛选列出的文件,例如,仅显示名为Test的文件
  • 可以“展开”任何文件条目以显示其中的类型和成员

感谢Rory的精彩帖子。然而,我确实觉得我应该能够找到我想要的东西,因为我想要的只是“转到定义”功能(我假设它是由VS扩展性公开的),同时提供完整的类型名。想想QuickNav对话框,它将索引所有引用的程序集并执行到给定类型的定义。对不起,Igor,看起来我误解了/误读了您的原始请求。似乎您只是想找到您的类型信息,而没有实际提供类型。现在我重读一遍,您似乎很乐意提供此类型,但您不希望在以后从编辑器中删除它。不幸的是,解决方案导航器没有真正执行解决方案中没有的引用类型(即
System.String
)。是的。对于我请求帮助的任何类,我都希望有一个“元数据视图”(如问题中所述)。也许是我在试图退出的C++程序员,但我发现一个“头文件”是最有用的和可读的。