可以通过代码模板快速的录入Javadoc注释你也可以选择通过Javadoc对话框以一种形象化的方式录入Javadoc注释此外JBuilder还提供了各种Javadoc的辅助功能如JavadocInsight诱导录入沖突报告和更正特殊的todo标签等 Javadoc对话框 在编辑器中将光标放在类方法值域等元素定义处右击在弹出的菜单中选择Add>Javadoc for XXX将调出Javadoc对话框 打开Personjava文件将光标移到构造函数中依照上述操作步骤调出Javadoc对话框如下图所示 educitycn/img_///jpg> 图 Javadoc对话框 在Description中列出了构造函数的描述信息而Tags中列出构造函数所有Javadoc注释标签你可以通过对话框右下角的按钮新增编辑删除标签也可以调整它们的位置 下面我们为构造函数添加一个新的@see标签链接到Cardrive(int directionint speed)函数中 .点击Javadoc for Constructor Person对话框的Add按钮弹出Add Javadoc Tag对话框如图 所示 .从Tag下拉框中选择see选项 .在Description中录入javadoctoolCar#drive(intint) .按OK返回Javadoc for Constructor Person对话框再按OK在编辑器中生成这个新的标签 educitycn/img_///jpg> 图 Add Javadoc Tag对话框 实战经验 虽然使用Javadoc对话框可以以一种形象的方式创建Javadoc注释减少沖突概率但由于需要在多个弹出的对话框中操作且需要使用到键盘和鼠标所以在键入速度和操作连贯性都很差笔者在开发过程中几乎从未使用这种笨重的方法既然是己所不欲当然也不希望读者朋友使用但初学者却可以通过Javadoc对话框加强对Javadoc标签的理解 使用JavadocInsight 象MemberInsightParameterInsight等一样JavadocInsight以诱导的方式辅助你快速录入正确的Javadoc标签 由于Javadoc标签都带有@字符当你录入@字符后JavadocInsight诱导窗口自动弹出延时时间可以通过Tools>Perferences>Editor>CodeInsight设置页中调整默认为ms一个典型的JavadocInsight窗口如下图所示 educitycn/img_///jpg> 图 JavadocInsight 在注释块中除可以用JavadocInsight诱导窗口外可以通过Ctrl+Space使用MemberInsight诱导窗口录入类值域或方法通过Ctrl+Alt+Space使用ClassInsight录入类名JavadocInsightMemberInsight和ClassInsight有如三剑客保证快速和正确地录入Javadoc注释段 提示 JavadocInsight窗口中除todo外都显示为粗体样式todo标签不是Javadoc标准的标签而是JBuilder自定义的标签JBuilder允许定义自定义的Javadoc标签所有自定义的Javadoc标签显示为非粗体样式关于自定义Javadoc标签及todo标签的详细内容参见本文后续的内容 自定义的Javadoc标签 JBuilder允许你为了实现特殊的用途自定义扩展的Javadoc标签在这小节里我们来定义一个名为notice的自定义标签 .Project>Project Properties>Build>Javadoc在Javadoc设置页中列出了所有自定义的Javadoc标签由于todo标签是JBuilder本身自定义标签所以todo出现在列表中如下图所示 educitycn/img_///jpg> 图 Javadoc自定义标签设置页 .按New按钮弹出Create Custom Tag对话框如下图所示 educitycn/img_///jpg> 图 创建自定义Javadoc标签对话框 ·Tag namenotice标签名 ·Heading Text出现在Javadoc 文档中的标题 ·Placement options选择所有的选项表示这个标签可以对代码中的任何类型元素进行注释 .按OK创建这个notice自定义标签 打开Personjava用notice标签为sex值域写Javadoc注释 ) /**@notice 这是用于表示性别的变量合法值只能为MALE和FEMALE*/ ) protected int sex; 对应的Javadoc文档如下图所示的文档 educitycn/img_///jpg> 图 自定义Javadoc标签生成的文档 其中注意为Create Custom Tag对话框中的Heading text的内容在上图中我们特地标识出来 使用代码模板 在第章中我们曾经介绍过代码模板你同样可以为常用的注释块创建一个Javadoc模板多快好省地录入Javadoc注释 按照习惯方式每个类都需要一个类注释类注释都是相似的下面我们就来创建一个类注释代码模板这个代码模板如下所示 代码清单 类注释代码模板 /** * <pre>|</pre> * @see * @version $Version | * @author $Author * @since JDK */ ) Tools>Perferences>Editor>Templates>Common点击Common设置页的Add按钮弹出New Code Template对话框如下图所示 educitycn/img_///jpg> 图 创建新代码模板对话框 ·Template nameclscmt 模板的名字 ·Descriptionclasss comment 模板描述信息 ) 在Code中录入代码清单 的代码其中带$前缀的标识是一个宏操作符在调整模板录入注释块后宏将被替换成具体的值你可以通过Macro按钮在Insert Macro对话框中选择一个宏如下图所示 educitycn/img_///jpg> 图 插入宏对话框 ) 录入代码模板后按OK返回Common设置页再按OK后完成创建clscmt代码模板 创建完clscmt模板后你就可以在编辑器中用Ctrl+J调用这个模板了如下图所示 educitycn/img_///jpg> 图 调用clscmt代码模板 录入clscmt代码模板后将产生一个类注释块原$Author和$Version宏已经被替换成Project>Project Properties>General设置页的class Javadoc fields列表中所设置的值了如下图所示 educitycn/img_///jpg> 图 用代码模板录入Javadoc注释块 此时General设置页的class Javadoc fields列表的设置情况如下图所示 educitycn/img_///jpg> 图 Javadoc域设置 Javadoc注释沖突 Javadoc注释是对源码程序的说明所以注释必须和源程序保持一致假设一个方法共有两个入参但对应的Javadoc仅对其中一个入参用@param进行了说明两者出现了不一致这时就出现了注释沖突JBuilder能够检查出这种不一致的沖突结构窗格树中将出现一个Javadoc Conflicts的文件夹报告当前Java文件中所有的注释沖突如下图所示 educitycn/img_///jpg> 图 Javadoc沖突报告 每条沖突注释不但给出了沖突原因的简要描述还指定了沖突发生的位置你可以点击某沖突项在弹出的对话框中选择Fix Javadoc Conflict for XXX修复这个沖突你也可以右击Javadoc Conflicts文件夹在弹出的菜单中选择Fix Javadoc Conflicts修复全部的沖突 注意 Javadoc沖突只有在Errors文件夹中所有的语法错误都已经得到解决后才会报告出来 todo标签 todo是JBuilder自定义的标签但它并不用于生成Javadoc文档的内容它相当于一个助记符表示此处有一个未完成的工作或一个待改进的工作方便日后检索和处理这些未尽之事 当前程序文件中的所有todo标签归结在结构窗格的To Do文件夹下假设我们在Personjava中添加两个todo标签如下所示 … public class Person implements Serializable { public Person(String name int sex) throws PersonArgumentException { if(sex != MALE && sex != FEMALE) throw new PersonArgumentException(参数不正确); /** @todo 还需做更多的校验 */ thisname = name; thissex = sex; } … /** * 设置性别 * @param sex int */ public void setSex(int sex) { /** @todo 需要对入参做判断 */ thissex = sex; } } 在第行添加上两个todo标签todo标签可以放在程序的任何地方而不象Javadoc标签一样必须放置在类接口方法等定义语句的前面此时这两个todo标签都将出现在结构窗格的To Do文件夹下如下图所示 educitycn/img_///jpg> 图 To Do文件夹 点击To Do文件夹下的项目编辑器定位到代码中相应的位置 如果你在工程的许多地方都插入了todo标签如何查看检索查看它们呢? |