idea配置阿里格式化模板+注釋模板

[TOC]

1 背景

本文意在將idea中的代碼格式注釋格式進(jìn)行統(tǒng)一化纵刘。

研發(fā)團(tuán)隊(duì)的成員的代碼格式和注釋格式建議統(tǒng)一化蚤吹。

統(tǒng)一的代碼格式注釋格式,能給代碼閱讀上帶來(lái)極大的便利,給代碼改動(dòng)上提高極大的效率锨推。

1.1 開(kāi)發(fā)工具

idea

1.2 代碼格式化模板

阿里格式化模板

1.3 注釋模板

(1)類模板樣例

/**
 * (自定義類描述)
 * @author zhangsan
 * @date 2020/09/08 08:23
 **/
public class MyTest {
}

(2)方法模板樣例

/**
 * (自定義方法描述)
 * @author zhangsan
 * @date 2020/09/07 20:07
 * @param message 
 * @param name 
 * @return java.lang.String 
 */
public String myTest(String message,String name){
    return "";
}

無(wú)參方法铅歼,將不生成@param參數(shù):

/**
 * (自定義方法描述)
 * @author zhangsan
 * @date 2020/09/08 08:02
 * @return java.lang.String 
 */
public String myTest(){
    return "";
}

2 下載模板文件

阿里模板下載地址

https://github.com/alibaba/p3c/tree/master/p3c-formatter

下載如下兩個(gè)模板文件(鏈接為下載頁(yè)面):

代碼格式(用于代碼格式化):eclipse-codestyle.xml

代碼模板(代碼注釋模板IDEA中無(wú)法使用):eclipse-codetemplate.xml

3 IDEA代碼格式化

因阿里提供的代碼格式化配置是基于eclipse的换可,如需在idea中使用此配置椎椰,需要安裝對(duì)應(yīng)的eclipse插件

3.1 安裝插件

阿里配置文件是針對(duì)ecplice的沾鳄,在IDE中慨飘,所有的配置文件導(dǎo)入,需要安裝Eclipse Code Formatter插件译荞。

3.2 配置代碼格式

File->Settings->Other Settings->Eclipse Code Formatter進(jìn)行idea代碼格式配置:

將代碼格式化文件eclipse-codestyle.xml瓤的,配置到插件中:

eclipse代碼格式化配置.png

3.3 使用

(1)格式化部分代碼

選中需要格式化的代碼,快捷鍵:ctrl+alt+L

(2)格式化整個(gè)文件

在需要格式化的文件中吞歼,快捷鍵:ctrl+alt+L

(3)格式化整個(gè)項(xiàng)目(慎用)

idea中圈膏,項(xiàng)目上右鍵->Reformat Code

如已經(jīng)存在的項(xiàng)目初次使用統(tǒng)一的代碼格式化,建議在一個(gè)時(shí)間點(diǎn)將整個(gè)項(xiàng)目統(tǒng)一進(jìn)行一次代碼格式化篙骡。避免單獨(dú)的格式化稽坤,導(dǎo)致部分研發(fā)人員的代碼合并出現(xiàn)嚴(yán)重沖突。

4 IDEA代碼注釋配置

4.1 配置全局中USER

在此配置全局USER糯俗,用于填充自動(dòng)生成的注釋中的作者@author屬性尿褪。

Help->Edit Custom VM Options...

增加如下配置:

-Duser.name=xxx

4.2 配置類注釋模板

settings->Editor->File and Code Templates->files->class

class模板.png

增加注釋模板:



/**
 * ${description}
 * @author ${USER}
 * @date ${YEAR}/${MONTH}/${DAY} ${HOUR}:${MINUTE}
 **/

模板增加后,如下(注釋上方的換行符必須有):

#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME};#end
#parse("File Header.java")


/**
 * ${description}
 * @author ${USER}
 * @date ${YEAR}/${MONTH}/${DAY} ${HOUR}:${MINUTE}
 **/
public class ${NAME} {
}

新創(chuàng)建java文件時(shí)得湘,會(huì)提示輸入類描述description杖玲,生成的文件格式如下:

package com.test;

/**
 * 我的測(cè)試類
 * @author zhangsan
 * @date 2020/09/08 10:23
 **/
public class MyTest {
}

4.3 配置方法注釋

4.3.1 配置流程

Editor->Live Template->java

新建Live Template,進(jìn)行如下配置:

配置方法模板流程.png

第5步淘正,適用場(chǎng)景配置如下:

模板適用場(chǎng)景.png

第6步摆马,模板變量配置如下:

模板變量配置.png
4.3.2 配置參數(shù)

(1)模板配置

配置如下:

縮寫Abbreviation:

*

模板Template text:

*
 * 
 * @author $user$
 * @date $data$ $time$$param$
 * @return $return$ 
 */

(2)變量配置

user:

user()

date:

date("yyyy/MM/dd")

time:

time("HH:mm")

param:

groovyScript("if(\"${_1}\".length() == 2) {return '';} else {def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList();for(i = 0; i < params.size(); i++) {result+='\\n' + ' * @param ' + params[i] + ' '}; return result;}", methodParameters());

return:

methodReturnType()
4.3.3 使用

在java方法上輸入/**后,按下tab鍵跪帝,即可在方法上方生成方法注釋今膊,如下:

/**
 * (①方法描述)
 * @author zhangsan
 * @date 2020/09/07 20:07
 * @param message (②參數(shù)描述)
 * @param name (②參數(shù)描述)
 * @return java.lang.String (③返回值描述)
 */
public String myTest(String message,String name){
    return "";
}

依次填寫:

①方法描述
②參數(shù)描述
③返回值描述

4.3.2 注意事項(xiàng)

(1)為避免對(duì)變量注釋時(shí)的影響,變量的注釋仍然采用默認(rèn)的注釋方式:/**+回車伞剑,生成的注釋仍然是默認(rèn)注釋:

/**
 * 
 */
private String userName;

(2)無(wú)參方法斑唬,將不生成@param參數(shù):

/**
 * 
 * @author zhangsan
 * @date 2020/09/08 08:02
 * @return java.lang.String 
 */
public String myTest(){
    return "";
}

4.4 補(bǔ)充(關(guān)于類注釋)

4.2中,配置的類注釋模板黎泣,需要在創(chuàng)建類的時(shí)候恕刘,才可以生成類注釋。對(duì)于拷貝過(guò)來(lái)的類文件抒倚,或者已經(jīng)存在的類文件褐着,無(wú)法加上對(duì)應(yīng)注釋。

因此托呕,可以參照4.3含蓉,進(jìn)行代碼模板配置频敛。

4.4.1 配置流程
類模板.png

其中的5 適用場(chǎng)景同4.3.1:

模板適用場(chǎng)景.png
4.4.2 配置參數(shù)

(1)模板配置

配置如下:

縮寫Abbreviation:

cc

模板Template text:

/**
 * 
 * @author $user$
 * @date $date$ $time$
 **/

(2)變量配置

user:

user()

date:

date("yyyy/MM/dd")

time:

time("HH:mm")

description:

不配置

4.4.3 使用

類上輸入cc后,按下回車鍵馅扣,即可在方法上方生成類注釋斟赚,如下:

/**
 * (①類描述)
 * @author zhangsan
 * @date 2020/09/08 08:21
 **/
public class MyTest {
}

填寫:

①類描述

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市差油,隨后出現(xiàn)的幾起案子拗军,更是在濱河造成了極大的恐慌,老刑警劉巖蓄喇,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件发侵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡妆偏,警方通過(guò)查閱死者的電腦和手機(jī)刃鳄,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)钱骂,“玉大人铲汪,你說(shuō)我怎么就攤上這事」蘖” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵狰住,是天一觀的道長(zhǎng)张吉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)催植,這世上最難降的妖魔是什么肮蛹? 我笑而不...
    開(kāi)封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮创南,結(jié)果婚禮上伦忠,老公的妹妹穿的比我還像新娘。我一直安慰自己稿辙,他們只是感情好昆码,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著邻储,像睡著了一般赋咽。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吨娜,一...
    開(kāi)封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天脓匿,我揣著相機(jī)與錄音,去河邊找鬼宦赠。 笑死陪毡,一個(gè)胖子當(dāng)著我的面吹牛米母,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播毡琉,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼铁瞒,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了绊起?” 一聲冷哼從身側(cè)響起精拟,我...
    開(kāi)封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎虱歪,沒(méi)想到半個(gè)月后蜂绎,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡笋鄙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年师枣,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片萧落。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡践美,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出找岖,到底是詐尸還是另有隱情陨倡,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布许布,位于F島的核電站兴革,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蜜唾。R本人自食惡果不足惜杂曲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望袁余。 院中可真熱鬧擎勘,春花似錦、人聲如沸颖榜。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)朱转。三九已至蟹地,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間藤为,已是汗流浹背怪与。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缅疟,地道東北人分别。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓遍愿,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親耘斩。 傳聞我的和親對(duì)象是個(gè)殘疾皇子沼填,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354