2010-10-18 62 views
7

Eclipse的一個我最喜歡的功能是能夠打開方法的caller/callee hierarchy將Eclipse的「Open Call Hierarchy」過濾到我的公司/項目

默認情況下,該視圖顯示了對我的代碼庫之外的類的調用......這是我通常不關心的。

有過濾我不想具體包名的選擇,但我需要做相反的事情......過濾所有軟件包除了一個我想要的。在這裏用什麼合適的正則表達式「匹配除以com.mycompany.開頭的所有字符串?」

alt text

回答

1

看來,「過濾呼叫」使用的glob語法過濾模式,而不是正則表達式。你不能指定應該而不是匹配的全局模式。抱歉。

+1

在Eclipse中打開增強請求的時間......這聽起來像是一個有用的添加(即添加對正則表達式的支持) – Isaac 2010-10-21 01:39:37

1

這不完全是你在找什麼,但它是一個替代解決方案。看看nWire for Java。這是一個代碼探索插件。在許多其他事情中,它將呈現調用層次結構。但是,它只會顯示來自您自己的代碼的呼叫,因此它應該符合您的需求。

0

一個解決方案(儘管有點蠻力)是從Eclipse的範圍中刪除其他代碼。要麼將它們放在單獨的工作區中,要麼有時在一個工作區中需要它們,而在不想看到它們時關閉其他項目。

-1

您可以嘗試向該方法添加參數,而不是所有調用都會在重建時顯示爲錯誤。

10

最近我有同樣的問題,並探索調用層次結構的選項,導致我搜索選項。它是通過點擊三角激活

View Menu

的過濾選項是非常簡單而有效: Search In options

1

另一種方法是打開「類型層次」視圖的視圖菜單中選擇「選擇工作設置「,然後選擇一個現有的或新的工作集,其中只包含您當前感興趣的項目(如果需要,可以創建一個用於此目的的工作集,例如稱爲」TypeHierarchyFilterWorkingSet「)。

我只是用Eclipse Indigo做了這個,順便說一下,不確定其他版本是否有類似的東西。

+0

這對我來說是訣竅,謝謝。下面的回答也有助於縮小範圍。 – radsdau 2016-10-18 00:31:28

0

你可以過濾出組織。 ,淨重。,java。*等等。這(對我來說)降低了名單極大

1

後「打開調用層次結構」右鍵點擊結果的根源,並選擇在「參考」或「聲明」的項目,你的興趣:

enter image description here