2011-05-12 57 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更復雜。不過,如果你絕望,你可以做到。