開啟Window->Preferences->Java->Code Style->Code Templates
點擊"Import",匯入模板codetemplates.xml檔案。
codetemplates.xml內容是我們自己預先定義好的,在這裡先不詳細描述,我們可以看到Eclipse Code Templates介面中間Configure generated code and comments地區包含了兩個菜單樹:Comment、Code,如下圖所示:
Comments代表注釋模板,Code代表代碼模板,其中每一個子功能表代表子項的模板。
我們只要點擊某一個子項,就會在介面下方的Pattern地區看到該項我們所定義的模板內容和格式,如下圖所示:
如上圖所示,當我們點擊Comments下的Files子功能表時,下面的Pattern會顯示Java檔案的頭部注釋。
下面詳細列出每一個子項的模板格式:
Comments-->Files(Java檔案注釋) Java代碼 /** * Project Name:${project_name} * File Name:${file_name} * Package Name:${package_name} * Date:${date}${time} * Copyright (c) ${year}, chenzhou1025@126.com All Rights Reserved. * */
Comments-->Types(Java類注釋) Java代碼 /** * ClassName: ${type_name} <br/> * Function: ${todo} ADD FUNCTION. <br/> * Reason: ${todo} ADD REASON(可選). <br/> * date: ${date} ${time} <br/> * * @author ${user} * @version ${enclosing_type}${tags} * @since JDK 1.6 */
Comments-->Fields(類欄位注釋) Java代碼 /** * ${field}:${todo}(用一句話描述這個變數表示什麼). * @since JDK 1.6 */
Comments-->Constructors(建構函式注釋) Java代碼 /** * Creates a new instance of ${enclosing_type}. * * ${tags} */
Comments-->Methods(Java方法注釋) Java代碼 /** * ${enclosing_method}:(這裡用一句話描述這個方法的作用). <br/> * ${todo}(這裡描述這個方法適用條件 – 可選).<br/> * ${todo}(這裡描述這個方法的執行流程 – 可選).<br/> * ${todo}(這裡描述這個方法的使用方法 – 可選).<br/> * ${todo}(這裡描述這個方法的注意事項 – 可選).<br/> * * @author ${user} * ${tags} * @since JDK 1.6 */
Comments-->Overriding methods(重寫方法注釋) Java代碼 /** * ${todo} 簡單描述該方法的實現功能(可選). * ${see_to_overridden} */
Comments-->Delegate methods(代理方法注釋) Java代碼 /** * ${tags} * ${see_to_target} */
Comments-->Getters(Java Getter方法注釋) Java代碼 /** * ${bare_field_name}. * * @return the ${bare_field_name} * @since JDK 1.6 */
Comments-->Setters(Java Setters方法注釋) Java代碼 /** * ${param}. * * @param ${param} the ${bare_field_name} to set * @since JDK 1.6 */
Code-->New Java files(建立java檔案代碼模板) Java代碼 /** * Project Name:${project_name} * File Name:${file_name} * Package Name:${package_name} * Date:${date}${time} * Copyright (c) ${year}, chenzhou1025@126.com All Rights Reserved. * */ ${filecomment} ${package_declaration} /** * ClassName:${type_name} <br/> * Function: ${todo} ADD FUNCTION. <br/> * Reason: ${todo} ADD REASON. <br/> * Date: ${date} ${time} <br/> * @author ${user} * @version * @since JDK 1.6 * @see */ ${typecomment} ${type_declaration}
Code-->Method body(方法體模板) Java代碼 // ${todo} Auto-generated method stub ${body_statement}
Code-->Constructor body(建構函式模板) Java代碼 ${body_statement} // ${todo} Auto-generated constructor stub
Code-->Getter body(欄位Getter方法樣板) Java代碼 return ${field};
Code-->Setter body(欄位Setter方法樣板) Java代碼 ${field} = ${param};
Code-->Catch block body(異常catch代碼塊模板) Java代碼 // ${todo} Auto-generated catch block ${exception_var}.printStackTrace();
其中codetemplates.xml內容如下: Xml代碼 <?xml version="1.0" encoding="UTF-8" standalone="no"?><templates><template autoinsert="false" context="gettercomment_context" deleted="false" description="Comment for getter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name="gettercomment">/** * ${bare_field_name}. * * @return the ${bare_field_name} * @since JDK 1.6 */</template><template autoinsert="false" context="settercomment_context" deleted="false" description="Comment for setter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.settercomment" name="settercomment">/** * ${param}. * * @param ${param} the ${bare_field_name} to set * @since JDK 1.6 */</template><template autoinsert="false" context="constructorcomment_context" deleted="false" description="Comment for created constructors" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name="constructorcomment">/** * Creates a new instance of ${enclosing_type}. * * ${tags} */ </template><template autoinsert="false" context="filecomment_context" deleted="false" description="Comment for created Java files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.filecomment" name="filecomment">/** * Project Name:${project_name} * File Name:${file_name} * Package Name:${package_name} * Date:${date}${time} * Copyright (c) ${year}, chenzhou1025@126.com All Rights Reserved. * */</template><template autoinsert="false" context="typecomment_context" deleted="false" description="Comment for created types" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.typecomment" name="typecomment">/** * ClassName: ${type_name} <br/> * Function: ${todo} ADD FUNCTION. <br/> * Reason: ${todo} ADD REASON(可選). <br/> * date: ${date} ${time} <br/> * * @author ${user} * @version ${enclosing_type}${tags} * @since JDK 1.6 */</template><template autoinsert="false" context="fieldcomment_context" deleted="false" description="Comment for fields" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name="fieldcomment">/** * ${field}:${todo}(用一句話描述這個變數表示什麼). * @since JDK 1.6 */</template><template autoinsert="false" context="methodcomment_context" deleted="false" description="Comment for non-overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name="methodcomment">/** * ${enclosing_method}:(這裡用一句話描述這個方法的作用). <br/> * ${todo}(這裡描述這個方法適用條件 – 可選).<br/> * ${todo}(這裡描述這個方法的執行流程 – 可選).<br/> * ${todo}(這裡描述這個方法的使用方法 – 可選).<br/> * ${todo}(這裡描述這個方法的注意事項 – 可選).<br/> * * @author ${user} * ${tags} * @since JDK 1.6 */</template><template autoinsert="false" context="overridecomment_context" deleted="false" description="Comment for overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name="overridecomment">/** * ${todo} 簡單描述該方法的實現功能(可選). * ${see_to_overridden} */</template><template autoinsert="true" context="delegatecomment_context" deleted="false" description="Comment for delegate methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name="delegatecomment">/** * ${tags} * ${see_to_target} */</template><template autoinsert="false" context="newtype_context" deleted="false" description="Newly created files" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.newtype" name="newtype">/** * Project Name:${project_name} * File Name:${file_name} * Package Name:${package_name} * Date:${date}${time} * Copyright (c) ${year}, chenzhou1025@126.com All Rights Reserved. * */ ${filecomment} ${package_declaration} /** * ClassName:${type_name} <br/> * Function: ${todo} ADD FUNCTION. <br/> * Reason: ${todo} ADD REASON. <br/> * Date: ${date} ${time} <br/> * @author ${user} * @version * @since JDK 1.6 * @see */ ${typecomment} ${type_declaration} </template><template autoinsert="true" context="classbody_context" deleted="false" description="Code in new class type bodies" enabled=&