FlexPMD - eclipse 插件

 

 

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>Capture.jpg 
3.支持的工作流程
3.1 代码评估工作流程
一旦正确的配置好FlexPMD你就可以在任何目录执行FlexPMD和在FlexPMD View里查看违例.
  1.在项目里选择一些源码目录
  2.单击右键
3.选择FlexPMD > Run FlexPMD
<ignore_js_op>runFlexPMDAction.png 

这时 FlexPMD View将显示出以违例分组的结果.
<ignore_js_op>flexPMDView.png 

在这个视图里你可以双击文件包含的违例,他们将被相应的FlashBuilder编辑器打开.

如果比起以违例分组你更喜欢它们以类来分组的话,这时双击这个类将打开这个文件,然后双击类里的子节点时将打开文件导航到受影响的行,
<ignore_js_op>flexPMDViewGrouping.png 

当你想知道特定的区域里受影响代码的情况时,以类分组过滤器是一个不错的选择. 而以违例分组过滤器被用在你想知道违例分布你情况时.所有的违例将被标记器当作错误、警告或消息被添加到源码类中.在查看了报告之后你可以对项目单击右键选择FlexPMD > Clean FlexPMD markders来解除.此外你也可以对具体的错误单击右键删除它.

3.2 开发工作流程
如果你对一个更具交互性和综合开发工作流程感兴趣时你可以添加 FlexPMDNature到你的项目.
1.对项目单击右键
2.选择FlexPMD > Add FlexPMDNature
<ignore_js_op>flexPMDAddNature.png 

提示:如果有时你想移除这个特性你可以选择FlexPMD >Remove FlexPMD Nature,之后构建你的项目(全部或增量构建)FlexPMD将被执行,违例将在标准问题视图里列出.
<ignore_js_op>flexPMDProblemsView.png 

双击错误,警告或信息,标记器将在FlashBuilder编辑器中打开文件 .你将看到标记器已内联在文件中.
<ignore_js_op>flexPMDEditorMarkers.png 

4.FlexPMD 大纲
在FlexPMD 大纲视图中你可以在当前打开的编辑器中查看违例.
<ignore_js_op>flexPMDOutlineView.png 

如果箭头按钮被切换,每当文件被保存时FlexPMD将被重新执行,同时大纲将以很快提供实时信息给开发者,而不用编译整个项目.

在任何违例上双击将在编辑器中找到它. 
重要的提示:大纲视图工作在所有项目里,而不仅仅是使用FlexPMDNature的那些里.当你在一个项目里打开一个.as或.mxml文件时将没有FlexPMDNature,同时大纲对选项切换进行监测,在第一次保存后大纲将被更新.

5.FlexCPD集成
你可以在一个源码目录上单击右键选择FlexPMD > Find suspect cut & paste执行FLexCPD.FlexCPD视图将被自动打开并显示结果.
<ignore_js_op>flexCPD.png 

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>newProblemsView.png 

  1.在对话框中指定它的名字为 "FlexPMD Problems" 
  2.在新建立的视窗中选取 "Configure contents..."
<ignore_js_op>flexPMDCustomProblemsView.png 

在配置对话框中选取
  •Severity: Error, Warning, Info
   •Types. 取消所有选择,保留 "FlexPMD error" 类型
<ignore_js_op>problemsViewFilter.png 

然后在标准 "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

转载于:https://www.cnblogs.com/tinytiny/archive/2012/07/30/2615090.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值