Более интеллектуальное затмение "Открытая иерархия вызовов"?
Если у меня есть проект Java в Eclipse, я могу щелкнуть правой кнопкой мыши на имени метода и "Открыть иерархию вызовов". Предположим, у меня есть два интерфейса, A и B, которые оба определяют метод x(). Могу ли я сделать так, чтобы Eclipse использовал "Открытую иерархию вызовов" более разумным образом, чтобы показывать только вызовы x () из A, а не из B?
3 ответа
Затмение уже должно сделать это. Если вы хотите проверить его, перейдите в интерфейс A, выберите метод x() и запустите на нем "Open Call Hierarchy". Сделайте то же самое для вашего метода x() в интерфейсе B. Вы должны получить различные местоположения кода, если у вас нет класса, который реализует оба, что вы никогда не должны делать. Это не нарушит компиляцию или выполнение, вы просто дважды объявите одну и ту же сигнатуру метода.
Я пробовал это с часто переопределенным методом, toString(). Когда я щелкаю по нему правой кнопкой мыши и выбираю "Открыть иерархию вызовов", Eclipse с радостью просматривает всю мою рабочую область и возвращает все ссылки на сигнатуру этого метода.
Я часто полагаюсь на Eclipse, который идет противоположным путем: я выбираю вызов метода и нажимаю F3, чтобы открыть объявление. Но я не думаю, что Eclipse может идти в нужном вам направлении, от объявления до вызова.
Это может помочь удалить "Потенциальные совпадения" из результатов поиска. Попробуй это:
Preferences -> General -> Search
И проверьте "Игнорировать потенциальные совпадения".