扩展 JDT 实现自动代码注释与格式化
2010-07-30 00:00:00 来源:WEB开发网清单 10. 重新添加引用包列表
List<String> allImports = getImport(parentCU, lineDelimiter);
……
// add import
for (String name : allImports) {
parentCU.createImport(name, null, monitor);
JavaModelUtil.reconcile(parentCU);
}
处理 Javadoc
由于代码重新构建时,将类声明体内容作为整体和其他内容重新组合,其内部并没有修改。因此,需要处理 Java 代码内部的方法、字段的 javadoc 注释。获取 Java 代码中所有方法、字段,并识别此类型元素是否含有 Javadoc 注释,若含有,将此类型元素对应的模板注释内容与原注释替换;否则,为此元素添加新的模板注释内容。
清单 11通过 IType 得到对方法、字段操作的对象,并返回 IMenber 类型的列表。
清单 11. 得到 Java 代码中的 method、field
public List<IMember> getAllMember(IType type) throws JavaModelException {
List<IMember> list = new ArrayList<IMember>();
// 得到所有方法,并添加到 list 中
for (IMethod method : type.getMethods()) {
list.add(method);
}
// 得到所有字段,并添加到 list 中
for (IField field : type.getFields()) {
list.add(field);
}
return list;
}
清单 12识别元素类型并针对类型得到不同的模板注释;通过 IMember 的 getJavadocRange() 方法,判断是否含有 javadoc,没有则为此元素添加注释;否则,用重新读取的模板注释替换原有注释内容。
更多精彩
赞助商链接