Детектор PHP Messenger для Eclipse

У меня установлен плагин PTI Eclipse.

Существует возможность изменить PDepend, CodeSniffer и UnitTest

Когда я пытаюсь щелкнуть правой кнопкой мыши по любому файлу, у меня есть опция Mess Detector, но ничего не происходит, когда я нажимаю на нее. И после поиска всех параметров конфигурации я и не могу найти никаких настроек для PHPMD.

Кто-нибудь знает, как его решить?

Ответ 1

Старый вопрос, но поскольку в нем все еще кажется интересным... Я только что установил плагин PTI и не упоминал PHPMD, поэтому мне интересно, откуда вы получаете пункт меню "Обнаружение беспорядка"?

Для меня фактически ничего из PTI не работает с Eclipse Kepler SR2. Что бы я ни старался, ничего не происходит.

Я бы порекомендовал вам MakeGood для запуска тестов PHPUnit в Eclipse и настройки Jenkins (включая PHPMD) для вашего проекта, требуется немного времени для настройки, но как только он работает, это просто замечательно: Шаблон для Jenkins Jobs для проектов PHP

Ответ 2

Когда PHPMD запускается, он сначала ищет исполняемый файл PHP по умолчанию, который должен существовать, и это не, установленный в "PHP Tools", но в "PHP":

Window > Preferences > PHP > PHP Executables > (choose one) > [SET DEFAULT]

Но если вы этого не сделали, вы получили бы ошибку.

В этот момент PHPMD запускается и помещает свой вывод в представление PHPMD (не в представлении Консоли), которое обычно отображается внизу. Если он вообще не отображается, он может быть закрыт или проигнорирован. Итак:

Window > Show View > PHP Tools (Others?) > PHPMD

Другое дело, что PHPMD ничего не обнаруживает (представление появляется, но оно пусто). В этом случае вы можете просмотреть представление консоли, чтобы узнать, что произошло. В противном случае вы можете попробовать и изменить phpmd.php script, который запускается PTI, чтобы он регистрировал то, что он делал (например, вы могли бы обернуть основную процедуру в try/catch), либо в stdout, либо путем открытия временного файл где-нибудь в вашей системе.