研發團隊中的人大多剛工作一年,每次review代碼都是一件頭痛得事情,代碼的注釋也很亂,所以我決定,讓他們們是用注釋模板,和格式化模板,來增強代碼的統一性和可讀性。本篇文章介紹如何設置 Code Template,具體步驟如下:
一、設置步驟
1、打開Window->Preferences->Java->Code Style->Code Templates
2、點擊"Import",導入模板codetemplates.xml文件(后續給出樣例)
二、設置詳解
1、上圖中Comments下是具體的一下子項,可以根據自己的需求,可以只對一些子項設置,下面是子項設置的樣例。
①:文件頭(Files)注釋標簽 /** * @Title: ${file_name} * @Package ${package_name} * @Description: ${todo}(用一句話描述該文件做什么) * @author A18ccms A18ccms_gmail_com * @date ${date} ${time} * @version V1.0 */ ②:類型(Types)注釋標簽(類的注釋): /** * @ClassName: ${type_name} * @Description: ${todo}(這里用一句話描述這個類的作用) * @author A18ccms a18ccms_gmail_com * @date ${date} ${time} * * ${tags} */ ③:字段(Fields)注釋標簽: /** * @Fields ${field} : ${todo}(用一句話描述這個變量表示什么) */ ④:構造函數標簽: /** * <p>Title: </p> * <p>Description: </p> * ${tags} */ ⑥:方法(Constructor & Methods)標簽: /** * @Title: ${enclosing_method} * @Description: ${todo}(這里用一句話描述這個方法的作用) * @param ${tags} 設定文件 * @return ${return_type} 返回類型 * @throws */ ⑦:覆蓋方法(Overriding Methods)標簽: /* (非 Javadoc) * <p>Title: ${enclosing_method}</p> * <p>Description: </p> * ${tags} * ${see_to_overridden} */ ⑧:代表方法(Delegate Methods)標簽: /** * ${tags} * ${see_to_target} */ ⑨:getter方法標簽: /** * @return ${bare_field_name} */ ⑩:setter方法標簽: /** * @param ${param} 要設置的 ${bare_field_name} */
2、codetemplates.xml模板樣例如下:
<?xml version="1.0" encoding="UTF-8"?> <templates> <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"> /** * @Title: ${file_name} * @Package ${package_name} * @Description: ${todo} * Copyright: Copyright (c) ${year} * Company:上海叄陸伍網絡科技 * * @author Comsys-${user} * @date ${date} ${time} * @version V1.0 */ </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} * @Description: ${todo}(這里用一句話描述這個類的作用) * @author ${user} * @date ${date} * * ${tags} */ </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"> /** * @Fields ${field} : ${todo}(用一句話描述這個變量表示什么) */ </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"> /** * 創建一個新的實例 ${enclosing_type}. * * ${tags} */ </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"> /** * @Title: ${enclosing_method} * @Description: ${todo}(這里用一句話描述這個方法的作用) * @param ${tags} 參數 * @return ${return_type} 返回類型 * @throws */ </template> <template autoinsert="true" context="overridecomment_context" deleted="false" description="Comment for overriding methods" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name="overridecomment"> /* (非 Javadoc) * <p>Title: ${enclosing_method}</p> * <p>Description: </p> * ${tags} * ${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="gettercomment_context" deleted="false" description="Comment for getter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name="gettercomment"> /** * @return ${bare_field_name} */ </template> <template autoinsert="true" context="settercomment_context" deleted="false" description="Comment for setter method" enabled="true" id="org.eclipse.jdt.ui.text.codetemplates.settercomment" name="settercomment"> /** * @param ${param} the ${bare_field_name} to set */ </template> </templates>
關注我的公眾號,精彩內容不能錯過