扩展JDT实现自动代码注释与格式化 - 编程入门网
Java 代码一旦打开,就会 产生一个工作副本,用户保存代码之前的所有操作均是对工作副本的操作。只有 进行关闭编辑器或保存代码等提交代码操作时,才会将文件保存到磁盘上。
本文中工具的实现是通过直接操作 Java 文件工作副本的缓存来修改 Java 文件的。首先,要根据编译单元获得工作副本,即将编译单元切换到工作副本模 式(参见 清单 5)。 清单 5. 得到编译单元的工作副本 parentCU.becomeWo***ngCopy(new SubProgressMonitor(monitor, 1)); 清单 5 中将编译单元切换到工作副本模式,就是在内存中创建一块存放 Java 代码副本的地方,即工作副本缓存。 工作副本模式下,工作副本可以得到工作副本缓存,一个 IBuffer 的实例。 该实例类似于 StringBuffer 的 API,对其修改就可以达到修改与之关联的 Java 元素的效果。在提交代码之前,对缓存修改一直保存在工作副本中,直至 被显示提交(参见 清单 6)。 清单 6. 得到工作副本缓存
修改代码 Eclipse 中 Java 代码包含的注释种类及顺序是由 Code >> New Java File模板决定,注释的具体内容由 Comments下相应的模板决定。为使工作空间 内的代码具有一致的注释风格,首先应按照代码构建模板的形式重新构建代码, 处理是否含有文件注释、类注释或其他的信息;接着,处理重新构建代码时丢失 的重要信息,如引用包;然后,处理重新构建代码时未处理的类体内部代码注释 ,如方法注释和字段注释;最后,将重新构建后的代码格式化。这样,Java 代 码就具有了规范的注释及良好的风格。 扩展JDT实现自动代码注释与格式化(4)时间:2010-11-20 IBM 孟潇 邵兵 王芹华重新构建 Java 代码 CodeGeneration(org.eclipse.jdt.ui)提供了获取 Code Templates首选项 页面的各类模板信息的重载静态方法,并以字符串的形式返回,如文件注释、类 注释、方法注释、字段注释、新 Java 文件等。开发人员可扩展其方法得到不同 的模板信息。 在重新构建 Java 文件时,按照模板格式重新生成代码,并替换原有代码, 最后与原文件进行同步(参见 清单 7)。 清单 7. 重新构建 Java 代码
清单 7重新构建 Java 代码的步骤是调用 CodeGeneration 的 getCompilationUnitContent() 方法得到新 Java 代码的内容,将其替换工作副 本缓存(IBuffer)中的 Java 代码,再调用 reconcile() 方法将修改与工作副 本同步。 getCompilationUnitContent() 方法主要功能是读取 Code >> New Java File模板,根据文件内容替换其中的表达式,返回一个具有格式(包含换 行符、空格)的字符串。该方法有 4 个参数,分别为编译单元,类注释 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |