Eclipse 的 PHP 混乱检测器
Posted
技术标签:
【中文标题】Eclipse 的 PHP 混乱检测器【英文标题】:PHP Mess Detector for Eclipse 【发布时间】:2013-01-20 06:04:52 【问题描述】:我已经安装了 PTI Eclipse 插件。
PDepend
、CodeSniffer
和 UnitTest
有可能更改
当我尝试右键单击任何文件时,我也有一个 Mess Detector
选项,但是当我单击它时没有任何反应。在搜索所有配置选项后,我并找不到phpMD
的任何设置。
有人知道怎么解决吗?
【问题讨论】:
您是否使用 PEAR 或 Composer 安装了 PHP Mess Detector?我不使用 Eclipse,但我相信 PDT 包包含这些,因此您可以安装和使用该工具。 @StevenScott 我已经用 PEAR 安装了它 @IliaShakitko 对此有何更新? @Jonast92 还没有更新。 每个人都只是修复语法,没有人发布答案:( 【参考方案1】:老问题,但似乎仍有兴趣...我刚刚安装了 PTI 插件,没有提到 PHPMD,所以我想知道你从哪里得到“Mess Detection”菜单项?
对我来说,实际上 PTI 无法与 Eclipse Kepler SR2 配合使用。无论我尝试什么都没有发生。
我建议您使用 MakeGood 在 Eclipse 中运行 PHPUnit 测试并为您的项目设置 Jenkins(包括 PHPMD),这需要一些时间来设置,但一旦运行它就很棒了:Template for Jenkins Jobs for PHP Projects
【讨论】:
我确实有 UnitTests,Jenkins 运行我的 build.xml 并通过诸如混乱检测、复杂性分析、codesniffer 等一切...我什至写了一篇文章:leaseweblabs.com/2012/12/… 但我会喜欢在我的 IDE 中突出显示 PHPMD 错误 :) 我在另一个 IDE 中找到了它,但仍然可以在 Eclipse 中使用它。 @IliaShakitko +1 为 Jenkins。在那里你可以拥有你想要的一切。 PHPMD + CPD, CodeCoverage 等。配置可能有点让人头疼,但配置与 Eclipse 的插件相同。 Jenkins 为您提供了持续集成方面的宝贵经验:)。【参考方案2】:当 PHPMD 运行时,它首先搜索一个 default 必须存在的 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或通过打开系统上某处的临时文件。
【讨论】:
以上是关于Eclipse 的 PHP 混乱检测器的主要内容,如果未能解决你的问题,请参考以下文章
安装 jdk-8u121( jdk1.8 ) Eclipse jee neon java EE 4.6 并配置 中国科学技术大学 http://mirrors.ustc.edu.cn/eclips