Eclipse的PHP混乱检测器


68

我安装了PTI Eclipse插件。

有可能进行更改PDependCodeSniffer并且UnitTest

当我尝试右键单击任何文件时,我也有一个Mess Detector选项,但是单击该文件时没有任何反应。在搜索所有配置选项后,我也找不到的任何设置PHPMD

有人知道如何解决吗?


4
您是否已使用PEAR或Composer安装了PHP Mess Detector?我不使用Eclipse,但我相信PDT捆绑包包括这些,因此您可以安装和使用该工具。
史蒂文·斯科特

1
@StevenScott我已将其安装在PEAR上
Ilia Shakitko 2013年

1
@IliaShakitko对此有任何更新吗?
Jonast92

1
@ Jonast92尚无更新。
Ilia Shakitko 2014年

5
每个人都只是固定语法,没有人张贴答案:(
MTM

Answers:


1

老问题了,但是既然仍然有兴趣...我刚刚安装了PTI插件,却没有提到PHPMD,所以我想知道您从哪里获得“ Mess Detection”菜单项?

对我来说,PTI实际上与Eclipse Kepler SR2无关。无论我尝试什么,都不会发生任何事情。

我建议您使用MakeGood来在Eclipse中运行PHPUnit测试并为您的项目设置Jenkins(包括PHPMD),这会花费一些时间,但是一旦运行它就很棒了:Jenkins Jobs for PHP Projects的模板


我确实有UnitTests,Jenkins运行我的build.xml并经过诸如混乱检测,复杂性分析,codeniffer等之类的东西。我什至写了一篇文章:leaseweblabs.com/2012/12/… 但我想在我的IDE中突出显示了PHPMD错误:)我在另一个IDE中发现了它,但是仍然可以在Eclipse中找到它。
Ilia Shakitko 2014年

Jenkins的@IliaShakitko +1 。在那里,您可以拥有所有想要的东西。PHPMD + CPDCodeCoverage等。配置方面可能有些麻烦,但是配置与Eclipse插件相同。而詹金斯为您提供了宝贵的经验,持续集成:)。
Paul T. Rawkeen 2014年

-1

当PHPMD运行时,它首先搜索一个必须存在的默认PHP可执行文件,这不是在“ PHP工具”中而是在“ PHP”中设置的:

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

但是,如果您没有这样做,那么您将得到一个错误。

此时,PHPMD运行,并将其输出放置在PHPMD视图中(而不是在控制台视图中),该视图通常显示在底部。如果根本没有出现,则可能是已关闭或忽略了它。所以:

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

可能发生的另一件事是PHPMD没有检测到任何东西(该视图出现但为空)。在这种情况下,您可以检查“控制台”视图以查看发生了什么。否则,您可以尝试修改由PTI运行的phpmd.php脚本,以便它记录正在执行的操作(例如,您可以将主例程包装在try / catch中),以将其输出为stdout或在某个位置打开临时文件在您的系统上。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.