2011-05-12 94 views
0

有没有办法让我要求Resharper找到给定类型或接口的所有实例?我需要快速搜索我们使用IDataReader的每个地方。Resharper - 搜索类型实例

[编辑] 为了澄清,我想知道是否有可能确定类型的显式和隐式用法。所以IDataReader x = GetDataReader()以及var y = GetDataReader()应该在结果中。

回答

3

右键单击代码中某处的IDataReader并选择“查找用法”或“查找用法高级”。还是有什么我失踪?

+0

是的,这让我成为那里的一部分,但我很确定它只搜索文本或显式的用法。数据读取器是我们的代码中很多被'var'引用的东西之一。因此,理想情况下,我也能够拾取'var dr = GetDataReader()'的实例,而无需搜索GetDataReader()的所有用法。如果我错了,我很乐意这样。 – 2011-05-12 13:44:11

+0

这不是一个文本搜索。 R#搜索类型的实例。所以它应该在你的情况下工作 – Noffls 2011-05-12 13:58:00

+0

无论我如何执行“查找用例”或“查找高级用法”,我都无法看到隐式类型的实例。 – 2011-05-12 14:06:41

2

这对于ReSharper来说是不可能的。以下是ReSharper问题跟踪器中的report on this problem - 请随时为其投票。 虽然我们几乎没有机会为即将到来的版本6.0修复它。

解决方法可能是也可能不是,这取决于您的特定代码库 - 例如,您可以配置ReSharper的代码清理,将“var”更改为显式类型用法,然后通过搜索用法进行跟踪,但是我不是真的相信你想立即做到这一点。另一种方法是搜索GetDataReader()的用法,但有可能你有多种方法返回这种类型。

总而言之,这是ReSharper的一个不幸的限制。

0

您可以使用结构搜索解决此缺失功能。

  • 与VS菜单打开对话框 - > ReSharper的 - >查找 - >查找与模式
  • 确保C#选择在对话框
  • 类型var $identifier$ = $expression$;顶到编辑框中查找声明语句与隐式类型
  • 在对话框的右侧,双击expression占位符来编辑它的意义
  • 将最上面的组合框Expression Placeholder
  • 将表达式类型设置为您正在寻找的类型
  • 按确定返回到模式编辑器
  • Find执行实际搜索。

这种方法比在声明中的类型名称上按Alt + F7更复杂。不过,如果你绝望,你可以做到。