FlexPMD eclipse 插件是一个测试版本,针对不同目标的两种类型的用户. 1.代码评估工作流程:作为一个评估者我希望能根据PMD违例对一个整体项目或一些特定功能的区域进行审核及评估. 2.开发工作流程:作为一个开发者在工作时我想从文件中看到PMD违例.当文件被修改时这些违例将马上被更新. 如果你发现问题或想提交任何特性,请随时登陆到bugbase http://bugs.adobe.com/jira 如果你有任何问题请访问论坛.http://forums.adobe.com/community/opensource/flexpmd/ 1.安装 插件已经在下面的环境中被测试: FlashBuilder 4 Beta 2 standalone FlashBuilder 4 + Eclipse 3.5 FlashBuilder 4 + Eclipse 3.4 FlashBuilder 3 + Eclipse 3.4 按照普通Eclipse更新机制安装插件.打开eclipse跟随几个步骤: 1.Help > Install new software 2.使用下面的更新站点: http://opensource.adobe.com/svn/opensource/flexpmd/plugin/trunk/flex-pmd-eclipse-plugin-site 3.选择 FlexPMD feature进行安装. 2.配置FlexPMD插件 使用插件之前务必在eclipse参数选项面板配置FlexPMD以便FlexPMD 和FLexCPD库被正确引用. 从这里下载FlexPMD命令行工具 FlexPMD命令行.这是一个强制的字段。你必须从你的硬盘上选择flex-pmd-command-line.jar. FlexPMD custom ruleset.这个字段可以留空,这样将使用一个预设的规则. FlexCPD command line.你必须从你的硬盘上选择flex-pmd-cpd-command-line.jar. <ignore_js_op> 3.支持的工作流程 3.1 代码评估工作流程 一旦正确的配置好FlexPMD你就可以在任何目录执行FlexPMD和在FlexPMD View里查看违例. 1.在项目里选择一些源码目录 2.单击右键 3.选择FlexPMD > Run FlexPMD <ignore_js_op> 这时 FlexPMD View将显示出以违例分组的结果. <ignore_js_op> 在这个视图里你可以双击文件包含的违例,他们将被相应的FlashBuilder编辑器打开. 如果比起以违例分组你更喜欢它们以类来分组的话,这时双击这个类将打开这个文件,然后双击类里的子节点时将打开文件导航到受影响的行, <ignore_js_op> 当你想知道特定的区域里受影响代码的情况时,以类分组过滤器是一个不错的选择. 而以违例分组过滤器被用在你想知道违例分布你情况时.所有的违例将被标记器当作错误、警告或消息被添加到源码类中.在查看了报告之后你可以对项目单击右键选择FlexPMD > Clean FlexPMD markders来解除.此外你也可以对具体的错误单击右键删除它. 3.2 开发工作流程 如果你对一个更具交互性和综合开发工作流程感兴趣时你可以添加 FlexPMDNature到你的项目. 1.对项目单击右键 2.选择FlexPMD > Add FlexPMDNature <ignore_js_op> 提示:如果有时你想移除这个特性你可以选择FlexPMD >Remove FlexPMD Nature,之后构建你的项目(全部或增量构建)FlexPMD将被执行,违例将在标准问题视图里列出. <ignore_js_op> 双击错误,警告或信息,标记器将在FlashBuilder编辑器中打开文件 .你将看到标记器已内联在文件中. <ignore_js_op> 4.FlexPMD 大纲 在FlexPMD 大纲视图中你可以在当前打开的编辑器中查看违例. <ignore_js_op> 如果箭头按钮被切换,每当文件被保存时FlexPMD将被重新执行,同时大纲将以很快提供实时信息给开发者,而不用编译整个项目. 在任何违例上双击将在编辑器中找到它. 重要的提示:大纲视图工作在所有项目里,而不仅仅是使用FlexPMDNature的那些里.当你在一个项目里打开一个.as或.mxml文件时将没有FlexPMDNature,同时大纲对选项切换进行监测,在第一次保存后大纲将被更新. 5.FlexCPD集成 你可以在一个源码目录上单击右键选择FlexPMD > Find suspect cut & paste执行FLexCPD.FlexCPD视图将被自动打开并显示结果. <ignore_js_op> 6.使用策略 很有可能当你在项目开始使用FLexPMD将会得到大量的违例.这种情况可能有几个原因,在下面你将会找到一些使用时的技巧,这将使你可以避免不必要的干扰而让FlexPMD更加有用. 6.1微调你的规则集 如果你在你的规则集里面定义违例为一个错误,插件将通过暂停你创建的项目来加强管理.无论何时你要运行你的项目,你将会得到一个消息,这个消息告诉你项目里头有错误,然后提示你是否继续. 即使你可以继续执行程序,但这样不怎么好.如果你这样做的话,将会发生这样的情况,编译错误将被FlexPMD错误吞噬掉.确保你在你的规则集里面有一个好的flexPMD错误策略,并且确保你的团队会遵循它.如果根据你的策略有一个FlexPMD错误,那么再你继续之前,请修复好。 6.2过滤问题 一旦你添加了FlexPMD种类或者在任何文件夹上执行了FlexPMD,违例将在标准的Eclipse错误视窗中被报告为标准标记和错误.这意味着如果你的规则集里面定义了一个特定的违例为一个错误,你的项目将会有一个错误,并且当在你试图运行的时候就会回馈. 如下图片展示,FlexPMD错误,警告和info消息都和Flex编译器错误一起展示.这个,在很多的案例中,可以转移开发者的注意力和吞噬重要的编译器通知,尽管如此,在FlexPMD插件中建立并不是什么特别的事情,有一个更简单的方法去创建专门用来显示FlexPMD事件的视窗.遵照以下步骤即可: 1.打开问题视窗 2.创建一个 "new problems view" <ignore_js_op> 1.在对话框中指定它的名字为 "FlexPMD Problems" 2.在新建立的视窗中选取 "Configure contents..." <ignore_js_op> 在配置对话框中选取 •Severity: Error, Warning, Info •Types. 取消所有选择,保留 "FlexPMD error" 类型 <ignore_js_op> 然后在标准 "Problems View" 中遵照同样的流程过滤出 "FlexPMD errors"。在类型清单上无需检查它的类型。 6.3 有大堆违例的项目 大部分可能的情况是,即使你自定义和调整好你的规则集,在你的项目中你也会得到一个错误违例,这个将会在你开发的时候转移你的注意力。在大多数案例中,不值得投入时间去修补这些违例,因为这样做的话会减少FlexPMD的添加价值。 这里是在这些案例中这个插件可以帮你做的事情。 不要把 flexPMDNature 添加到你的项目里面去.这个将会阻止FlexPMD在你的整个项目里面扫描和报告违例. 1.打开大纲视图然后在 "Monitorize" 图标上设置断点。 2.开始编码 3.FlexPMD 将只报告你修改过的文件上的违例.外部视窗将仅在你第一次保存的时候组装和更新,基本上开发人员修改已知文件将对应的修补了此文件上的违例. 7.在未来的发行版中即将添加的特性. 1.在项目层次配置的能力,而不是在工作空间层次,这样每个项目可以使用不同的规则集(在团队中可以共享任何SCM系统). 2.改进的安装体验.这时FlexPMD命令行工具被单独下载安装.我们可以改进这样的体验,当我们想更新命令行工具而不是更新整个插件.例如:在参数选项页面一个按钮将被自动下载到工具同时自动的设定配置. 3.更好的集成FB,在源路径上删除源码目录. 4.快速修复. 8.已知问题 1.如果你在项目中选择了自动构建和在FlexPMD 大纲视图选择了监视,FlexPMD将被多次执行. 2.如果你发现问题,请随时登陆到bugbase http://bugs.adobe.com/jira |