我已经编写了一个自定义XML规则集,因此我使用以下命令运行phpmd:
phpmd /path/to/my/file.module xml ruleset.xml现在我已经下载并安装了用于netbeans的phpmd/CodeSniffer插件(http://sourceforge.net/projects/phpmdnb/files/),但是我找不到正确配置它的方法。
转到Tools -> Options -> PHP,我找到了phpMD选项卡,我可以在其中更改设置。
不知道在每个字段中放入什么。
如果我将二进制文件放在"phpMD批处理文件:“字段中,netbeans会抛出错误"The file /usr/bin/phpmd isn the right phpMD batch”。
有没有人成功安装了这个有趣的插件?
发布于 2011-11-09 16:42:30
您必须将规则集文件放入默认的phpmd文件夹"rulesets“中,该文件夹通常位于$PEAR/data/PHP_PMD/rulesets/.
现在,您可以简单地在NetBeans PHP-MD插件配置中设置规则集名称。
作为批处理文件,您必须从php二进制文件夹中选择phpmd。
如果您仍然收到任何错误,请在插件页面http://sourceforge.net/projects/phpmdnb/上提交错误报告
希望这能有所帮助。
发布于 2011-09-15 23:32:07
卡莱斯
我还没有尝试过这个插件。然而,我用来解决其他插件问题的方法在这里也有帮助。
因此,方法是创建一个包装器脚本。例如,在Linix/Mac上可以是bash,在Windows上可以是bar。在插件设置中使用此包装器作为主要可执行文件。使用这种方法,您可以获得完全的灵活性-您可以传递任何您想要的参数,等等。NetBeans可能(并且很可能会)将一些参数传递给该脚本(取决于插件)。这非常容易调试。以下是为PHPUnit编写的bash中此类包装器的示例:
#!/bin/bash
#
localInputFile=${7:4}
localJUnitLog=$2
localCoverageLog=$4
remoteInputFile=`echo $localInputFile | sed "s|$localPath|$remotePath|g"`
remoteJUnitLog=${remotePath}nb-phpunit-log.xml
remoteJUnitLoginLocalFilePath=${localPath}nb-phpunit-log.xml
remoteCoverageLog=${remotePath}nb-phpunit-coverageClover.xml
remoteCoverageLoginLocalFilePath=${localPath}nb-phpunit-coverageClover.xml
remoteCoverageLoginLocalFilePathNew=${remoteCoverageLoginLocalFilePath}new
ssh root@<remote-server> "phpunit --colors --log-junit $remoteJUnitLog --coverage-clover $remoteCoverageLog $remoteInputFile"
cp $remoteJUnitLoginLocalFilePath $localJUnitLog
sed "s|$remotePath|$localPath|g" $remoteCoverageLoginLocalFilePath > $remoteCoverageLoginLocalFilePathNew
cp $remoteCoverageLoginLocalFilePathNew $localCoverageLog这个我用来强制PHPUnit NetBeans插件不是在本地主机上使用phpunit,而是在远程服务器上使用phpunit。但这里需要的是捕捉参数的方式。您可以通过以下方式进行调试
echo $0 $1 $2并在Netbeans中打开输出窗口以查看结果。
希望这能有所帮助。
https://stackoverflow.com/questions/5727710
复制相似问题