PHP Mess Detector für Eclipse

68

Ich habe das PTI Eclipse Plugin installiert.

Es besteht die Möglichkeit zu ändern PDepend, CodeSnifferundUnitTest

Wenn ich versuche, mit der rechten Maustaste auf eine Datei zu klicken, habe ich auch eine Mess DetectorOption, aber nichts passiert, wenn ich darauf klicke. Und nachdem ich alle Konfigurationsoptionen durchsucht habe, kann ich keine Einstellungen für finden PHPMD.

Weiß jemand, wie man es löst?

Ilia Shakitko
quelle
4
Haben Sie den PHP Mess Detector mit PEAR oder Composer installiert? Ich verwende Eclipse nicht, aber ich glaube, dass das PDT-Bundle diese enthält, und Sie könnten das Tool daher installieren und verwenden.
Steven Scott
1
@StevenScott Ich habe es mit PEAR installiert
Ilia Shakitko
1
@IliaShakitko Gibt es ein Update dazu?
Jonast92
1
@ Jonast92 Noch keine Updates.
Ilia Shakitko
5
Jeder korrigiert nur die Grammatik, niemand postet eine Antwort :(
MTM

Antworten:

1

Alte Frage, aber da es immer noch Interesse daran zu geben scheint ... Ich habe gerade das PTI-Plugin installiert und PHPMD wurde nicht erwähnt, also frage ich mich, woher Sie den Menüpunkt "Mess Detection" haben?

Für mich funktioniert eigentlich nichts von PTI mit Eclipse Kepler SR2. Was auch immer ich versuche, es passiert einfach nichts.

Ich würde MakeGood empfehlen, um PHPUnit-Tests in Eclipse auszuführen und Jenkins (einschließlich PHPMD) für Ihr Projekt einzurichten. Die Einrichtung dauert etwas, aber sobald es ausgeführt wird, ist es einfach großartig: Vorlage für Jenkins-Jobs für PHP-Projekte

Torsten Römer
quelle
Ich habe UnitTests, Jenkins, die meine build.xml ausführen und alles wie Message Detection, Komplexitätsanalyse, Codesniffer usw. durchlaufen. Ich habe sogar einen Artikel geschrieben: leaseweblabs.com/2012/12/… Aber ich würde gerne habe PHPMD-Fehler, die in meiner IDE hervorgehoben werden sollen :) Ich habe sie in einer anderen IDE gefunden, wäre aber trotzdem schön, sie in Eclipse zu haben.
Ilia Shakitko
@IliaShakitko +1 für Jenkins . Dort können Sie alles haben, was Sie wollen. PHPMD + CPD , CodeCoverage usw. Wahrscheinlich etwas mehr Kopfschmerzen bei der Konfiguration, aber die Konfigurationen sind die gleichen wie für Plugins für Eclipse. Und Jenkins gibt Ihnen wertvolle Erfahrungen in der kontinuierlichen Integration :).
Paul T. Rawkeen
-1

Wenn PHPMD ausgeführt wird, sucht es zuerst nach einer ausführbaren Standard- PHP-Datei, die vorhanden sein muss. Diese wird nicht in "PHP Tools", sondern in "PHP" festgelegt:

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

Aber wenn Sie dies nicht getan hätten, hätten Sie einen Fehler erhalten.

Zu diesem Zeitpunkt wird PHPMD ausgeführt und platziert seine Ausgabe in der PHPMD-Ansicht (nicht in der Konsolenansicht), die normalerweise unten angezeigt wird. Wenn es überhaupt nicht angezeigt wird, wurde es möglicherweise geschlossen oder ignoriert. Damit:

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

Eine andere Sache, die passieren kann, ist, dass PHPMD nichts erkennt (die Ansicht wird angezeigt, ist aber leer). In diesem Fall können Sie in der Konsolenansicht überprüfen, was passiert ist. Andernfalls Sie könnten das phpmd.php Skript versuchen und ändern , die von PTI ausgeführt wird , so dass er protokolliert , was es tut (Sie könnten beispielsweise die Hauptroutine in einem try / catch wickeln), entweder an stdout oder durch eine temporäre Datei irgendwo Öffnung auf Ihrem System.

LSerni
quelle