Узнайте, где классы определенного пакета используются в проекте Java / Eclipse - PullRequest
1 голос
/ 19 октября 2011

У меня есть несколько проектов Eclipse, которые используют классы из определенного пакета, назовем его «gr.serafeim».Теперь я хочу найти, где (какие номера строк каждого файла) во всех моих исходных файлах используются члены gr.serafeim.Проблема в том, что я обычно использую импорт, а не полные имена классов, поэтому поиск «gr.serafeim» вернет мне только операторы импорта: (

Я не хочу ничего необычного, простобыстрое и грязное решение для поиска всех строк, содержащих классы пакета gr.serafeim (плагин eclipse?). В качестве дополнительного значения я не хочу только объявлений, но также и вызовов методов этих функций.

Вот пример того, что я действительно хотел:

// File main.java   
import gr.serafeim.*;
public static void main(String args[]) {
    // Test is a member of gr.serafeim !
    Test t = new Test(5);
    int i=3;
    t.add(i);
}

То, что я хотел бы получить в качестве возврата из предыдущего файла, было бы примерно таким

main.java: 5: Test t = new Test(5); 
main.java: 7: t.add(i); 

Если предыдущий не может быть сделан, то я мог бы также пойти с путем, чтобы массово назвать квалификацию всех моих классов.Таким образом, утверждение

Test t = new Test(5);

станет

gr.serafeim.Test t = new gr.serafeim.Test(5);

, а затемЯ бы просто взял grep за gr.serafiem. Это, конечно, не поможет найти строку t.add (i), но было бы хорошим первым шагом, и я мог бы сам оттуда проверить код ...

Это нето же самое с этим вопросом!

Ответы [ 3 ]

1 голос
/ 19 октября 2011

Вот хак:

Пометить пакет как устаревший с помощью файла package-info.java:

@Deprecated
package com.yourcompany.yourpackage;

Теперь вы должны видеть предупреждения компилятора везде, где вы используете пакет

1 голос
/ 01 июля 2013

Вы можете выбрать класс, конструктор, метод или поле и нажать «Ctrl + Alt + H».Откроется меню иерархии вызовов.

1 голос
/ 19 октября 2011

Щелкните правой кнопкой мыши -> Ссылки -> (в зависимости от того, что вы хотите). Для ссылок рабочей области Shift-Ctrl-G (по умолчанию, в любом случае).

Я думаю, список результатов по умолчанию - это дерево, которое можно изменить на список. Я не думаю, что он показывает номера строк, однако, по крайней мере, в слегка устаревшей версии Eclipse, которую я использую. Если вы конкретно ищете номера строк, я не думаю, что у инструментов по умолчанию есть экспорт, который включает их.

Вы можете попробовать IntelliJ Community Edition; его поиски do показывают номера строк, а результаты экспортируются в текстовый файл (фрагмент ниже).

Class
    server.UDPServer
Found usages  (44 usages)
    StartThread.java  (6 usages)
        (12: 19) private final UDPServer myserv;
        (14: 17) StartThread(UDPServer server){
        (18: 16) myserv.button1.setEnabled(false);
        (19: 16) myserv.button2.setEnabled(true);
        (30: 32) myserv.area.append("Server is started\n");
        (37: 36) myserv.area.append(" Received "
...