差不多2年前写过一个工具,web开发助手(http://www.iteye.com/topic/1118666),还算好用,不少朋友下载,但由于工作原因就停止了对那个产品的维护,实在对不起大家,今天再重新发布一个升级版本。另外,也开发一个可以扫描java类文件,提取公用库的工具,一起打包为“mytool”发布。
?
下载安装:mytool
安装方式:直接解压到eclipse的目录下即可,安装包里面含有links目录,选择覆盖即可。
?
?
在运行mytool时,第一步是要建立一个公共方法/脚本库工程,在工具栏上面有快捷按钮
?
建立公共库工程如下:
?
?
该工程下面有两个文件夹,分别是放置公用方法库和脚本库
?
一、先介绍脚本库:
脚本库用途,当然就是把标签啊,脚本啊,,集中在一起管理,从上面拖拽一下到jsp编辑器或者其他文本式的编辑器即能生成一段相关的字符串,试试就知道,不多说。
?
点击 工具栏上面的打开脚本库按钮(
?)即可, 先来一个截图:
??
上图为公用脚本库(以前叫做 web开发助手)
?
?设置要显示的标签集,包含定义的
上图为设置界面
?
如果定义自定义脚本库,则在公共库工程下面有一个 SCRIPTS 的文件夹,双击即可打开编辑
?
?
?
?二、公用方法库介绍:
先说下应用场景:
A、公司有自己的框架和一些常用的方法类,对于新人,要入手开发项目,要使用公司现有的方法库,一般都是看javadoc,或者其他形式的文档,以及例子。到调用里面的方法等的时候感觉力不从心,现在可以使用mytool公用库,扫一下方法库源码(扫下你框架也可以反正都是抽取可以对外用的),自动的把里面可调用的方法或属性抽取出来,形成树形的方法库,在方法库视图中,把鼠标放到相关的类,方法或者属性即可显示相关的注释。怎样用?只需要拖拽一下即可。如果你问,老大没给源码啊,只给了文档,也没问题,你让他帮你扫,扫完后,发方法库文件给你,你放到METHODS目录下,然后在设置面板里面设置要加载这个方法库文件即可。
?
B、很多公司都有自己的框架和方法库,估计不少公司都是停留在 jar+文档 的形式或者连文档都没有,就一个jar包,这样的弱方式来管理,是不是感觉不大友好呢?通过mytool方法库可以有效帮你管理你公司的公用代码资源。
?
先看截图:
?
?上面方法库视图 显示public 和 protected 的变量或者方法,不管是静态或是非静态。
图标和eclipse本身的图标表示一样,,例如 绿色实心的绿点表示公用的非静态的方法,加s则表示是公用的静态的方法等。
方法库放置的只是对外可通过类的方式进行调用的类或变量(public或protected? 方法或属性,会过滤接口和抽象类,具体往下看有说明)。
?
?功能也是拖拽一下生成 调用该变量或者方法的代码(含注释)
?
方法信息如何录入?
不用手工录入,通过扫描功能即可(注意扫描的是某个文件夹下的java源文件,而非class),点击右上角的“设置按钮”,弹出这样的设置界面:
?
?
?扫描导入方法库,会自动加入到公用工程里面的METHODS目录下。
如果扫描导入方法库或者 动态加载时,发现出现中文乱码的情况时,请注意检查java文件编码格式是否正确。
?
?被扫描的java文件如果想让java方法注释和属性注释都被扫描的话,要遵照标准的java注释,
也就是使用
/**
?*
?*/
?
这样的方式来标注,例如,如下这样注释(方法、属性、类):
?
package com.langsotech.methods.string; /** * * @author 广州朗数信息技术有限公司 * @copyright 广州朗数信息技术有限公司 * 2013-2-14 下午03:21:48 * version v1.0 * TODO 字符串操作类 */ public class StringDo { public static int id; /** * 用户年龄 */ protected int age; /** * 用户姓名 */ public String name; /** * 组合1、2 两个字符串 * @param str1 字符串1 * @param str2 字符串2 * @return 组合字符串 */ public static String join(String str1, String str2){ return str1 + str2; } /** * 组合 A 和 B 两个字符串 * @param strA 字符串A * @param strB 字符串B * @return 组合字符串 */ public String join2(String strA, String strB){ return strA + strB; } /** * 根据姓名获取其年龄 * @param name 姓名 * @return 年龄 */ protected int getAge(String name){ return 1; } }
?
?
拖拽被生成这样的代码:
?
//字符串A String strA = ...; //字符串B String strB = ...; //组合 A 和 B 两个字符串 String object = stringDo.join2(strA, strB);
?如果是静态方法或属性,类名是本有的大写类名,如 StringDo,,,
?
?
关于方法库扫描的继承显示:
在被扫描的目录内,如果A 类有方法a1(public或protected)、b1(public或protected),A类继承 B类,B类有方法a2(public或protected)、b2(public或protected)
那么A类将会被扫描出这样的结果,A类有方法,,a1、a2、b1、b2。。
类的属性也是以此类推!
?
扫描会过滤掉接口、或者私有类型的变量或方法等。。
另外,如果一个类继承什么spirng的框架类,,而该类的java文件却不在扫描的目录内,则不会被扫描出来。
?
扫描也会过滤抽象类,而该抽象类中含有的非抽象方法则被加入到继承者身上。
?
?
三、eclipse版本支持测试:
eclipse测试支持:
?
helios(3.6) |
ok |
indigo(3.7) |
ok |
juno(4.2) |
ok |
galileo(3.5) |
ok |
ganymede(3.4) |
ok |
?
?
居于以上版本的myeclipse应该也是支持的。
?
?
?
?
?
?
?
?
?