9

Oftentimes I want to bring up a system class in a source view, so that I can browse the properties and methods exposed by the class. Below is the screenshot of what I mean:

Srting from metadata http://img443.imageshack.us/img443/940/stringfrommetadata.png

Usually I do this by selecting the class name and pressing F12 (or right click>Go To Definition). However, if I haven't got it anywhere ready, i have type it up and then do Go To Definition. Most of the time I have to delete what I typed later on.

Is there a way to bring up this view without having to type the class name? The VS2010 Navigate To dialog doesn't support this.

EDIT: When I posted the question I didn't use any Visual Studio plugins. Now that I realised that I have full CodeRush license (thanks to StackOverflow promotion for users with 10K rep) I will accept answers that use CodeRush or Refactor!.

EDIT: At this stage I haven't really got anywhere with trying to answer this question. I am going to leave it open and let the bounty auto-award itself to Rory as he explained what's happening the best. In the meantime(schedule allowing) I will investigate doing this with DXCore as I think it should be possible.

4

4 回答 4

7

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

不过,请允许我提出一些替代方案。

免责声明:我作为 CodeRush 社区布道者在 DevExpress 工作。

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

更新:如果您使用 ( Ctrl+ K, Ctrl+ R) 快捷方式启动对象浏览器,那么它将以搜索框为中心启动。这是无价的。

有许多 CodeRush 功能在尝试定位代码时非常有用。

TabToNextReference ( Tab)当插入符号被定位在一个类型中时,敲击 Tab 键并定位到该类型的下一个引用。更多细节

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

QuickNav ( Ctrl+ Shift+ Q) : 这个特性在风格上最接近 VS2010 的 NavigateTo 特性。QuickNav 将找到与您在其过滤器框中键入的任何内容相匹配的符号。该工具还支持骆驼案例搜索。更多细节

QuickNav 也比它的 VS 对应物更具可配置性

最后

还请记住,CodeRush 是基于 DXCore 构建的,DXCore 是一个允许用户创建自己的插件以供彼此和 CodeRush 一起使用的框架。

社区已多次利用此框架来添加其他功能。因此,即使您没有看到任何符合您需求的东西,也可以考虑通过论坛向社区提出建议,甚至直接联系我DevExpress dot Com 的 RoryB

我相信我们可以做些什么来帮助你:)

于 2010-08-17T23:01:38.913 回答
3

我不知道新的“导航到”功能,但我曾经使用反射器来处理这类事情。专业版提供了与 Visual Studio 的一些集成(右键单击该方法并选择“在 .NET Reflector 中打开”)。它将打开反射器窗口,并且不会在 VS 本身中显示代码。您可以观看展示此功能和其他一些功能的演示。
这不是我期望的最佳答案,但却是一个很好的选择。

于 2010-08-17T15:25:47.083 回答
2

我不知道在 Visual Studio 2010 中执行此操作。但是,您可以在ReSharper中通过“导航到”菜单执行此操作。我建议你从他们那里尝试 30 天试用,然后如果你真的需要这个然后购买它。

于 2010-08-12T08:37:12.720 回答
0

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

但是,要考虑的一个加载项(因为它是免费的)是 VS Productivity Power Tools。它添加了一个解决方案导航器窗口,可以像解决方案资源管理器一样查看您的解决方案,但是(以及其他增强功能):

  • 可以搜索和过滤列出的文件,例如只显示那些名为Test的文件。
  • 可以“扩展”任何文件条目以显示其中的类型和成员。
于 2010-08-19T05:43:16.657 回答