在Android Studio(Mac端)中添加Dart的方法注釋模板。整體步驟是和設(shè)置JAVA一樣的,主要是模板幾個(gè)參數(shù)不太一樣。
1寞酿、設(shè)置路徑? Preferences — Editor — Live Templates
2、新建一個(gè) Live Templates
由于獲取? 參數(shù)脱柱、返回值伐弹、方法名等方法是用Dart獨(dú)有的,不適用于別的語言榨为,所以建議直接建在Dart 分組下惨好,這個(gè)也是Flutter方法注釋模板和別的主要區(qū)別
????????
3、配置 Live Templates
Abbreviation:? 模板縮寫 ?我用的是一個(gè)?? * 随闺,這個(gè)看個(gè)人習(xí)慣
Description: 模板的說明
Expand with:?? 展開模板的確認(rèn)鍵?? (默認(rèn)是tab?? 我用的是Enter回車日川,看個(gè)人習(xí)慣)
Template Text: ? 模板格式如下:(title:方法名????????description:方法說明 ? ? ??param:方法參數(shù),由于是動(dòng)態(tài)的所以沒有寫? @param矩乐,可能存在無參數(shù)的方法 ??? return:同參數(shù)一樣的原理 ??? updateTime:注釋添加的時(shí)間 ????author:作者名) 自己根據(jù)需要增刪
///@title $title$
///@description TODO $param$ $return$
///@updateTime $date$ $time$
///@author TongYu
這時(shí)候在下面會(huì)出現(xiàn) ??No applicable contexts. Define ? ? 點(diǎn)擊選擇 Dart 語言
變成了? Applicable in Dart xxxxxxxx. Change? 即可
還有重要的一步龄句,點(diǎn)擊按鈕? Edit variables :? 配置 模板里面的各個(gè)參數(shù)的值 回论。 ( 如$param$?? 在Template Text模板里面兩個(gè)$ 之間的字段,都會(huì)在這里面顯示)
title:? 方法名??? 選擇 dartMethodName()??? (其他語言類似分歇,比如java配置的時(shí)候選的是 methodName())
date:日期?????? date()
time:時(shí)間?????? time()
param:?? 參數(shù)???? 這個(gè)可以選擇??? dartMethodParameters()?? 這個(gè)方法返回的是一個(gè)數(shù)組傀蓉。( 如果直接使用這個(gè)方法的話?? 模板格式需要變動(dòng)芭届, $param$? 需要換行? 加個(gè) @param )????? 我是用的是一個(gè)腳本瘟仿,動(dòng)態(tài)拼接了一下,腳本如下暑劝,復(fù)制直接填入就行:
groovyScript("def result=''; def stop=false; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); if (params.size()==1 && (params[0]==null || params[0]=='null' || params[0]=='')) { stop=true; }; if(!stop) { for(i=0; i < params.size(); i++) {result +=((i==0) ? '\\r\\n' : '') + ((i < params.size() - 1) ? '///@param: ' + params[i] + '\\r\\n' : '///@param: ' + params[i] + '')}; }; return result;", dartMethodParameters())
return:?? 返回值格式 ??? 這個(gè)可以選擇??? dartReturnType()? 返回的是一個(gè)數(shù)據(jù)格式? 原理同param繁调,腳本如下:
groovyScript("def result=''; def data=\"${_1}\"; def stop=false; if(data==null || data=='null' || data=='' || data=='void' ) { stop=true; }; if(!stop) { result += '\\r\\n' + '///@return: ' + data; }; return result;", dartReturnType())
??
4萨蚕、使用
????? 使用是 結(jié)合剛才配置的? ? 在方法內(nèi)使用?? Abbreviation (* 號(hào)) +?? Expand with (Enter) ??????? 即可自動(dòng)生成注釋模板
5靶草、注意
?????? 讓強(qiáng)迫癥難受的是? 這個(gè)只能在方法內(nèi)生成蹄胰,再Copy出去,如果直接在外面生成? 無法獲取到方法名稱奕翔、參數(shù)裕寨、返回值。
?????? 另外? 為什么不用? /**/ 這種注釋符號(hào)派继,是因?yàn)? dart會(huì)有提示 宾袜,文本的注釋 更提倡 ///?? 這個(gè)看自己眼緣,看不順眼的話可以改成/**/?? 需要改動(dòng)的地方有?? Template Text:??????? param:的腳本里面的拼接??? return:的拼接? 如下:
Template Text:
/*
?* @title $title$
?* @description TODO $param$ $return$
?* @updateTime $date$ $time$
?* @author TongYu
*/
param:
groovyScript("def result=''; def stop=false; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]','').split(',').toList(); if (params.size()==1 &&(params[0]==null || params[0]=='null' || params[0]=='')) { stop=true; };if(!stop) { for(i=0; i < params.size(); i++) {result +=((i==0) ?'\\r\\n' : '') + ((i < params.size() - 1) ? ' * @param: ' + params[i]+ '\\r\\n' : ' * @param: ' + params[i] + '')}; }; return result;",dartMethodParameters())
return:?
groovyScript("def result=''; def data=\"${_1}\"; def stop=false; if(data==null || data=='null' || data=='' || data=='void' ) { stop=true;}; if(!stop) { result += '\\r\\n' + ' * @return: ' + data; }; returnresult;", dartReturnType())