转自:http://blog.csdn.net/jackiehff/article/details/8181945
以下是我整理的自己开发过程中的常用Eclipse插件,按字母排序:
(1)????AmaterasUML
??????? 介绍:Eclipse的UML插件,支持UML活动图,class图,sequence图,usecase图等;支持与Java class/interface之间的相互导入导出。
????????官方网站:http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=AmaterasUML
????????插件下载URL:http://sourceforge.jp/projects/amateras/downloads/56447/AmaterasUML_1.3.4.zip/? (目前最新版本)
????? ? 注:安装时需要GEF插件的支持。
(2)??? Bravo JSP
??????? 介绍:Bravo JSP编辑器是一款WYSIWYG(所见即所得的)JSP/html页面编辑器。Code Editor(代码编辑器)与Eclipse Web Tools的JSP编辑器相同,所以支持代码建议,代码模板和其它相同的功能。可视化部分:支持CSS样式、图片、JSP表达式/标签库/标签文件、外部included的文件。改变HTML/CSS/JSP代码可以立即看到效果。提供DOM查找/替换对话框。JSTL的变量查看功能。
????????官方网站:http://bravo.comxa.com/index.php
????????Eclipse在线安装URL:http://bravo.comxa.com/update
(3)?? Checkstyle
??????? 介绍:CheckStyle是SourceForge下的一个项目,提供了一个帮助JAVA开发人员遵守某些编码规范的工具。它能够自动化代码规范检查过程,从而使得开发人员从这项重要,但是枯燥的任务中解脱出来。CheckStyle检验的主要内容有:Javadoc注释、命名约定、标题、import语句、体积大小、空白、修饰符、块、代码问题、类设计以及混合检查(包括一些有用的比如非必须的System.out和printstackTrace)等。
????????官方网站:http://checkstyle.sourceforge.net/
????????Eclipse在线安装URL:http://eclipse-cs.sourceforge.net/update/
(4)??? Easy Explorer
??????? 介绍:如果你经常需要在Eclipse里打开相关资源文件所在的文件夹,比较麻烦,要右键,属性,在Location一栏中把所在的文件夹拷贝一下,然后再去资源管理器里输入这个路径,回车,然后打开它,比较麻烦。Easy Explorer是一个Eclipse的小插件,它能直接打开选中文件所在的目录,很方便好用.
????????官方网站:http://sourceforge.net/projects/easystruts/
(5)??? EasySQL?
???????? 介绍:EasySQL:Eclipse SQL插件。包含SQL编辑器和执行器,表格编辑器,数据导出工具。EasySQL设计成易于与其它插件相集成。如果在你的项目中需要数据库
操作功能,可以考虑该插件。
????????官方网站:http://easysql.sourceforge.net/
????????插件下载URL:http://sourceforge.net/projects/easysql/files/latest/download?source=files
(6) ?? EclEmma
??????? 介绍:提到 EclEmma 首先就要说到著名的 Java 覆盖测试工具 Emma。从某种程度上说,EclEmma 可以看作是 Emma 的一个图形界面。EclEmma的出现弥补了 Emma 用户一个大的遗憾 ---- 缺乏图形界面以及对集成开发环境的支持。将 Eclipse 和 Emma 这两个在各自领域最为优秀的工具结合起来,这就是 EclEmma 为我们提供的。
????????官方网站:http://www.eclemma.org/
????????Eclipse在线安装URL:http://update.eclemma.org/
(7)??? Eclipse SWT Designer Plugin?
??????? 介绍:Eclipse SWT Designer Plugin是一个用于快速构建J2SE的桌面化GUI开发的Eclipse插件。
????????官方网站:http://sourceforge.net/projects/eclipsedesigner/
????????插件下载URL:http://sourceforge.net/projects/eclipsedesigner/files/latest/download
(8)??? FindBugs
??????? 介绍:Findbugs 是一个静态分析工具,它检查类或者 JAR 文件,将字节码与一组缺陷模式进行对比以发现可能的问题。了静态分析工具,就可以在不实际运行程序的情况对软件进行分析。它可以帮助改进代码的质量。它是寻找代码缺陷的,很多我们写的不好的地方,可以优化的地方,它都能检查出来。例如:未关闭的数据库连接,缺少必要的null check,多余的 null check,多余的if后置条件,相同的条件分支,重复的代码块,错误的使用了"==",不同数据类型的比较,建议使用StringBuffer代替字符串连加等等。
????????官方网站:http://findbugs.sourceforge.net/
????????Eclipse在线安装URL:http://findbugs.cs.umd.edu/eclipse?
(9)??? FreeMarker IDE?
??????? 介绍:FreeMarker IDE是一个FreeMarker(模板引擎)感知编辑器,支持:语法高亮显示(Syntax Hilighting)、内容辅助(Content Assist)、大纲视图(Outline View)。其主页上提供了如何使用该插件进行开发的Flash视频。FreeMarker还有另外一个插件FreeMarker Eclipse Plugin。
????????官方网站:http://freemarker-ide.sourceforge.net/
????????插件下载URL:http://sourceforge.net/projects/freemarker-ide/files/
(10) Spket?
??????? 介绍:Spket IDE是功能强大的JavaScript 和XML开发工具包。这个强大的编辑器可以进行JavaScript、XUL/XBL以及Yahoo! Widget开发。其中JavaScript编辑器具有代码完成(code completion)、语法标记以及内容概览等功能,协助开发人员创建高效的JavaScript代码。
????????官方网站:http://www.spket.com
????????Eclipse在线安装URL:http://www.agpad.com/update
(11)? JadClipse?
??????? 介绍:JadClipse是一个Eclipse插件,无缝地集成了Jad(快速Java反编译器)与Eclipse。通常,当打开一个类文件,类文件查看器将显示一个简短的API类的轮廓。如果你安装这个插件,JadClipse类文件查看器将替换类文件查看器并显示了类的反编译源代码。这个任务可以通过在后台使用Jad反编译相应的类文件来完成。可以支持正常的Java语法高亮以及大纲视图。
????????官方网站:http://sourceforge.net/projects/jadclipse/
????????Eclipse在线安装URL:http://feeling.sourceforge.net/update
(12) Javascript Debug Toolkit
??????? 介绍:JSDT(Javascript Debug Toolkit)是一个用于javascript调试的Eclipse 插件,用于调试javascript。JSDT可以跨浏览器调试,支持在IE,Firefox,Safari,Chrome等主流浏览器中调试javascript。JSDT支持设置断点,单步调试等调试工具的基本特性。
????????官方网站:http://code.google.com/p/jsdt/
????????Eclipse在线安装URL:http://jsdt.googlecode.com/svn/trunk/org.ayound.js.debug.update
(13) Mybatis Editor
??????? 介绍:MyBatis Editor是一个Eclipse的插件,用来编辑MyBatis的配置文件。
????????官方网站:http://code.google.com/a/eclipselabs.org/p/mybatiseditor/
????????Eclipse在线安装URL:http://mybatiseditor.eclipselabs.org.codespot.com/git/org.eclipselabs.mybatiseditor.updatesite
(14) MAT?
??????? 介绍:Eclipse Memory Analyzer(MAT)是著名的跨平台集成开发环境 Eclipse Galileo 版本的 33 个组成项目中之一,它是一个功能丰富的JAVA 堆转储文件分析工具,可以帮助你发现内存漏洞和减少内存消耗。对于大型 JAVA 应用程序来说,再精细的测试也难以堵住所有的漏洞,即便我们在测试阶段进行了大量卓有成效的工作,很多问题还是会在生产环境下暴露出来,并且很难在测试环境中进行重现。JVM 能够记录下问题发生时系统的部分运行状态,并将其存储在堆转储 (Heap Dump) 文件中,从而为我们分析和诊断问题提供了重要的依据。
????????官方网站:http://www.eclipse.org/mat/
????????Eclipse在线安装URL:http://download.eclipse.org/mat/1.2/update-site/
(15) m2eclipse
??????? 介绍:这是一个在Eclipse环境中集成的Maven插件。?
????????官方网站:http://www.sonatype.org/m2eclipse/
????????Eclipse在线安装URL:?http://m2eclipse.sonatype.org/sites/m2e
(16) PatternBox
??????? 介绍:PatternBox是一个Java设计模式编辑器。它提供一个基于模板的代码生成器。这个基于XML的模板机制使得你能够定义自己的代码模板。PatternBox当前能够为16种GoF设计模式生成代码。
????????官方网站:http://www.patternbox.com/
????????插件下载URL:http://www.patternbox.com/eclipse-plugin.html
(17) PMD?
??????? 介绍:PMD是一种开源分析Java代码错误的工具。与其他分析工具不同的是,PMD通过静态分析获知代码错误。也就是说,在不运行Java程序的情况下报告错误。PMD附带了许多可以直接使用的规则,利用这些规则可以找出Java源程序的许多问题。此外,用户还可以自己定义规则,检查Java代码是否符合某些特定的编码规范。PMD是一款采用BSD协议发布的Java程序代码检查工具。该工具可以做到检查Java代码中是否含有未使用的变量、是否含有空的抓取块、是否含有不必要的对象等。该软件功能强大,扫描效率高,是Java程序员debug的好帮手。?
????????官方网站:http://pmd.sourceforge.net/
????????Eclipse在线安装URL:http://pmd.sf.net/eclipse
(18) Properties Editor
??????? 介绍:Properties Editor 编辑java的属性文件,并可以自动存盘为Unicode格式。
????????官方网站:http://propedit.sourceforge.jp/index_en.html
????????Eclipse在线安装URL:http://propedit.sourceforge.jp/eclipse/updates/
(19) Regex Util?
??????? 介绍:正则表达式测试插件。它能够高亮显示正则表达式语法、括号匹配、错误检测。能够提醒正则表达式的功能详细描述等。
????????官方网站:http://myregexp.com/eclipsePlugin.html
????????Eclipse在线安装URL:http://regex-util.sourceforge.net/update/
(20) Smelly
??????? 介绍:Smelly这个插件能够自动探测Java代码中的Bad Smells。Smelly在软件开发中非常有用,它当前能够探测以下这些Bad Smells:
?? ??? 1.Data Class(纯数据类):Class只有fields或get/set属性,没有任何行为。
?? ??? 2.Large Class(庞大的类):单一类做过多的事情。
?? ??? 3.Long Method(过长的Method):过长的代码会使得Method难以理解和维护,应该将该Method分解成多个独立功能的Method。
?? ??? 4.High Comment Density(过多的注释):注释过多意味着该段代码难于理解。
?? ??? 5.Long Parameters List(过长的参数列表):一个Method中传入过长的参数列表,使得参数列难以理解。修改参数列时将会使得参数前后不一致。
?? ??? 6.Switch Statements(Switch语句):同样的Switch语句出现在不同的方法或不同的Class中,这样当需要增加新的CASE分支或者修改CASE分支内语句时,就必须找到所有的地方,然后进行修改。?
????????官方网站:http://smelly.sourceforge.net/english.html
????????插件下载URL:http://smelly.sourceforge.net/download2.html
(21) SpringIDE
??????? 介绍:Spring IDE是一系列Eclipse插件,目的开发基于Spring的应用。Spring IDE增强了普通Eclipse IDE自带工具构建基于Spring的应用程序的能力。它使你的Eclipse IDE能够感知Spring,并给各种不同类型的Spring相关构件(Spring配置文件,Spring注解等)添加代码完成,验证,内容辅助,快速修复等功能。它也包含了对重构、Spring自动装配、Spring AOP和AspectJ、Spring Batch、Spring集成、Spring Security以及Spring WebFlow的支持,并集成了Eclipse Mylyn。它同时还包含了Spring UAA(用户代理分析),帮助我们收集一些使用数据的一个可选组件。这是完全匿名的,并且有助于我们更好地理解如何使用工具,如何在未来改进它。它还附带了SpringSource面板这个可选组件,可以给你带来有关SpringSource相关项目的最新信息以及一个易于使用的扩展安装来为Eclipse集成像VMware vFabric TC Server或Cloud Foundry这样的额外的工具附加组件。
????????官方网站:https://github.com/SpringSource/spring-ide
????????Eclipse在线安装URL:http://dist.springsource.com/release/TOOLS/update/e4.2?(for Eclipse Juno 4.2)
?? ??? ??? ??? ??????????????????????????????? ??http://dist.springsource.com/release/TOOLS/update/e3.7?(for Eclipse Indigo 3.7)
?? ??? ??? ??? ??????????????????????????????????http://dist.springsource.com/release/TOOLS/update/e3.6?(for Eclipse Helios 3.6)?
(22) StrutsIDE
??????? 介绍:Struts开发辅助工具。提供struts-config.xml的图形编辑界面;提供Action, ActionForm, JSP等的创建向导。
????????官方网站:http://amateras.sourceforge.jp/cgi-bin/fswiki_en/wiki.cgi?page=StrutsIDE
????????插件下载URL:http://sourceforge.jp/projects/amateras/downloads/48176/tk.eclipse.plugin.struts_2.0.7.jar/
(23) Subclipse
??????? 介绍:Subclipse 是一个为 Eclipse IDE 添加 Subversion 支持的项目。支持几乎所有版本的Eclipse。
????????官方网站:http://subclipse.stage.tigris.org/
????????Eclipse在线安装URL:http://subclipse.tigris.org/update_1.8.x
(24) XMLBuddy
??????? 介绍:一个XML的Eclipse插件,支持XML,DTD,XML Schema,XSLT等。XMLBuddy分了2个版本,一个是免费的,XMLBuddy Pro是收费的。
????????官方网站:http://www.xmlbuddy.com/??
?
?
==================================================================================
转自:http://blog.csdn.net/sxqem/article/details/1515885
如果能在构建代码前发现代码中潜在的问题会怎么样呢?很有趣的是,Eclipse 插件中就有这样的工具,比如 JDepend 和 CheckStyle,它们能帮您在软件问题暴露前发现这些问题。在?让开发自动化的本期文章中,自动化专家 Paul Duvall 将带来一些关于 Eclipse 插件的例子,您可以安装、配置和使用这些静态分析插件,以便在开发生命周期的早期预防问题。
|
开发软件时,我的主要目标之一是:要么防止将缺陷引入代码库,要么限制缺陷的生存期;换言之,要尽早找到缺陷。很显然,越是了解如何编写更好的代码以及如何有效测试软件,就越能及早地捕捉到缺陷。我也很想要一张能发现潜在缺陷的安全之网。
在本系列?八月份?的那期文章中,我得出了这样的结论:将检验工具集成到构建过程(例如,使用 Ant 或 Maven)中,能够建立起一种寻找潜在缺陷的方法。尽管这种方法使一致性成为可能并超越了 IDE,但它也有一点反作用。必须在本地构建软件或等待 Continuous Integration 构建的运行。如果使用 Eclipse 插件,就可以在通过 Continuous Integration 构建或集成前?发现一些这样的冲突。这就促成了我称为渐进编程?的编程方式,在这种方式下,允许在编码过程中进行一定程度的质量检验 —— 再也不能比这个更早了!
本文涵盖了我所认为的 “五大” 代码分析领域:
- 编码标准
- 代码重复
- 代码覆盖率
- 依赖项分析
- 复杂度监控
可以用接下来的几个灵活的 Eclipse 插件来揭示这些分析领域:
- CheckStyle:用于编码标准
- PMD 的 CPD:帮助发现代码重复
- Coverlipse:测量代码覆盖率
- JDepend:提供依赖项分析
- Eclipse Metric 插件:有效地查出复杂度
|
安装 Eclipse 插件
安装 Eclipse 插件再简单不过了,只需要几个步骤。在开始之前,最好把该插件下载站点的 URL 准备好。表 1 是本文用到的插件的列表:
表 1. 代码改进插件和相应的下载站点 URL
CheckStyle | 编码标准分析 | http://eclipse-cs.sourceforge.net/update/ |
Coverlipse | 测试代码覆盖率 | http://coverlipse.sf.net/update |
CPD | 复制/粘贴检验 | http://pmd.sourceforge.net/eclipse/ |
JDepend | 包依赖项分析 | http://andrei.gmxhome.de/eclipse/ |
Metrics | 复杂度监控 | http://metrics.sourceforge.net/update |
知道了这些有用插件的下载地址后,安装插件就是一个极简单的过程。启动 Eclipse,然后遵循下列步骤:
- 选择?Help | Software Updates | Find and Install,如图 1 所示:
图 1. 寻找并安装 Eclipse 插件
? - 选择?Search for new features to install?单选按钮,单击?Next。?
- 单击?New Remote Site,输入要安装的插件名和 URL(参见图 2),单击?OK,然后单击?Finish?来显示 Eclipse 更新管理器。
图 2. 配置新的远程站点
? - 在 Eclipse 更新管理器中,有一个查看插件各方面特性的选项。我通常选择顶级项,如图 3 所示。选择您需要的选项并单击?Finish。Eclipse 现在安装该插件。您需要重启 Eclipse 实例。?
图 3. 安装 Eclipse 插件
?
请遵循上述这些步骤来安装其他的 Eclipse 插件;只需改变插件名和相应的下载位置即可。
?
|
用 CheckStyle 校正标准
代码库的可维护性直接影响着软件的整个成本。另外,不佳的可维护性还会让开发人员十分头痛(进而导致开发人员的缺乏)—— 代码越容易修改,就越容易添加新的产品特性。像 CheckStyle 这样的工具可以协助寻找那些可影响到可维护性、与编码标准相冲突的地方,比方说,过大的类、太长的方法和未使用的变量等等。
|
使用 Eclipse 的 CheckStyle 插件的好处是能够在编码过程中了解到源代码上下文的各种编码冲突,让开发人员更可能在签入该代码前真正处理好这些冲突。您也几乎可以把 CheckStyle 插件视作一个连续的代码复查工具!
安装 CheckStyle 插件并做如下配置(参见图 4):
- 选择?Project,然后选择 Eclipse 菜单中的?Properties?菜单项。
- 选择?CheckStyle active for this project?复选框,单击?OK。?
图 4. 在 Eclipse 中配置 CheckStyle 插件?
?
Eclipse 重新构建工作空间,并在 Eclipse 控制台中列示已发现的编码冲突,如图 5 所示:
图 5. Eclipse 中 CheckStyle 的代码冲突列表?
?
使用 CheckStyle 插件在 Eclipse 内嵌入编码标准检验是一种很棒的方法,用这种方法可以在编码时?积极地改进代码,从而在开发周期的早期发现源代码中潜在的缺陷。这么做还有更多的好处,如节省时间、减少失败,也因此会减少项目的成本。没错,这就是一种积极主动的方式!
?
|
用 Coverlipse 确认覆盖率
Coverlipse 是一个用于 Cobertura 的 Eclipse 插件,Cobertura 是一个代码覆盖率工具,可以用它来评估具有相应测试的源代码的比率。Cobertura 也提供一个 Ant 任务和 Maven 插件,但用 Cobertura,您可以在编写代码时评估代码覆盖率。您见过这样的模式吗?
通过选择 Eclipse 菜单项?Run?安装 Coverlipse 插件并将其和 JUnit 关联起来,该操作会显示一系列运行配置选项,例如 JUnit、SWT 应用程序和 Java? 应用程序。右键单击它并选择?JUnit w/Coverlipse?节点中的?New。在这里,需要确定 JUnit 测试的位置,如图 6 所示:
图 6. 配置 Coverlipse 以获取代码覆盖率?
?
一旦单击了?Run,Eclipse 会运行 Coverlipse 并在源代码(如图 7 所示)中嵌入标记,该标记显示了具有相关 JUnit 测试的代码部分:
图 7. Coverlipse 生成的具有嵌入类标记的报告?
?
正如您所见,使用 Coverlipse Eclipse 插件可以更快地确定代码覆盖率。例如,这种实时数据功能有助于在将代码签入 CM 系统前?更好地进行测试。这对渐进编程来说意味着什么呢?
?
|
用 CPD 捕捉代码重复
Eclipse 的 PMD 插件提供了一项叫做 CPD(或复制粘贴探测器)的功能,用于寻找重复的代码。为在 Eclipse 中使用这项便利的工具,需要安装具有 PMD 的 Eclipse 插件,该插件具有 CPD 功能。
为寻找重复的代码,请用右键单击一个 Eclipse 项目并选择?PMD | Find Suspect Cut and Paste,如图 8 所示:
图 8. 使用 CPD 插件运行复制粘贴检验
?
一旦运行了 CPD,您的 Eclipse 根目录下就会创建出一个?report
?文件夹,其中包含一个叫做 cpd.txt 的文件,文件中列示了所有重复的代码。图 9 中是一个 cpd.txt 文件的例子:
图 9. Eclipse 插件生成的 CPD 文本文件
?
靠人工来寻找重复的代码是一项挑战,但使用像 CPD 这样的插件却能在编码时轻松地发现重复的代码。
?
|
使用 JDepend 进行依赖项检查
JDepend 是个可免费获取的开源工具,它为包依赖项提供面向对象的度量值,以此指明代码库的弹性。换句话说,JDepend 可有效测量一个架构的健壮性(反之,脆弱性)。
除了 Eclipse 插件,JDepend 还提供一个 Ant 任务、Maven 插件和一个 Java 应用程序,用以获取这些度量值。对于相同的信息,它们有着不同的传递机制;但 Eclipse 插件的特别之处和相应优点是:它能以更接近源代码(即,编码时)的方式传递这条信息。
图 10 演示了使用 Eclipse JDepend 插件的方法:通过右键单击源文件夹并选择?Run JDepend Analysis。一定要选择一个含源代码的源文件夹;否则看不到此菜单项。
图 10. 使用 JDepend Analysis 分析代码
?
图 11 显示了运行 JDepend Analysis 时生成的报告。左边显示包,右边显示针对每个包的依赖项度量值。
图 11. Eclipse 项目中的包依赖项?
?
正如您所见,JDepend 插件提供了有助于不断观察架构可维护性变化的大量信息 —— 这其中最大的好处是您可以在编码时看到这些数据。
?
|
用 Metrics 测量复杂度
“五大”代码分析最后的一项是测量复杂度。Eclipse 提供一种叫做 Metrics 的插件,使用该插件可以进行许多有用的代码度量,包括圈复杂度度量,它用于测量方法中惟一路径的数目。
安装 Metrics 插件并重启 Eclipse;然后遵循下列步骤:
- 右键单击您的项目并选择?Properties?菜单。在结果窗口中,选择?Enable Metrics plugin?复选框并单击OK,如图 12 所示:?
图 12. 为项目配置 Metrics
? - 从 Eclipse 中选择?Window?菜单打开 Metrics 视图,然后选择?Show View | Other...。
- 选择?Metrics | Metrics View?打开如图 13 中显示的窗口。您需要使用 Java 透视图并重新构建项目,从而显示这些度量值。
图 13. 打开 Eclipse 中的 Metrics View?
? - 单击?OK?来显示如图 14 中的窗口。
在此例中,我正在查看一个单独方法的圈复杂度。真正妙的是您可以双击 Metrics 列表中的方法,该插件会在 Eclipse 编辑器中为此方法打开源代码。这就让修正变得超级简单(如果需要的话)!
图 14. 查看方法的圈复杂度
?
正如我之前提到过的,Eclipse Metrics 插件还提供了许多功能强大的度量值,有助于您在开发软件的过程中改进代码 —— 可见,它是一个渐进编程意义上的插件!
?
|
合适的才是最好的
正如您从本文中看到的那样,将“五大”测量方法,即编码标准、代码重复、代码覆盖率、依赖项分析和复杂度监控,用于改进代码质量十分重要。但适合您的才是好的。请记住还有其他许多可用的 Eclipse 插件(比如 PMD 和 FindBugs)能够帮助您在开发周期的早期改进代码质量。不管您想要的工具或偏爱的方法是什么,重要的是:行动起来去积极改进代码质量并让手工代码检验的过程变得更加有效。我估计您使用这些插件一段时间后,就再也离不开它们了。
获得产品和技术
- Eclipse plugin for PMD:使用 PMD 插件在代码中寻找复制粘贴问题。
- Eclipse plugin for JDepend:此插件有助于分析代码库中的包依赖项。
- Eclipse plugin for Cobertura:Coverlipse 是 用于 Cobertura 的 Eclipse 插件,它提供代码覆盖率信息。
- Eclipse Metrics:此插件提供度量值,如圈复杂度,非常有助于寻找复杂代码。
- Eclipse plugin for CheckStyle:检验项目编码标准的遵循情况。
?