Flutter跨平台应用Flutter

Flutter添加方法注释模板

2021-08-19  本文已影响0人  度灵使者

在Android Studio(Mac端)中添加Dart的方法注释模板。整体步骤是和设置JAVA一样的,主要是模板几个参数不太一样。

1、设置路径  Preferences — Editor — Live Templates

2、新建一个 Live Templates

由于获取  参数、返回值、方法名等方法是用Dart独有的,不适用于别的语言,所以建议直接建在Dart 分组下,这个也是Flutter方法注释模板和别的主要区别

        

3、配置 Live Templates

Abbreviation:  模板缩写  我用的是一个   * ,这个看个人习惯
Description: 模板的说明
Expand with:   展开模板的确认键   (默认是tab   我用的是Enter回车,看个人习惯)
Template Text:   模板格式如下:(title:方法名        description:方法说明       param:方法参数,由于是动态的所以没有写  @param,可能存在无参数的方法     return:同参数一样的原理     updateTime:注释添加的时间     author:作者名) 自己根据需要增删

///@title $title$
///@description TODO $param$ $return$
///@updateTime $date$ $time$
///@author TongYu

这时候在下面会出现 ⚠️No applicable contexts. Define     点击选择 Dart 语言
变成了  Applicable in Dart xxxxxxxx. Change  即可


还有重要的一步,点击按钮  Edit variables :  配置 模板里面的各个参数的值 。 ( 如$param$   在Template Text模板里面两个$ 之间的字段,都会在这里面显示)
title:  方法名    选择 dartMethodName()    (其他语言类似,比如java配置的时候选的是 methodName())
date:日期       date()
time:时间       time()
param:   参数     这个可以选择    dartMethodParameters()   这个方法返回的是一个数组。( 如果直接使用这个方法的话   模板格式需要变动, $param$  需要换行  加个 @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:   返回值格式     这个可以选择    dartReturnType()  返回的是一个数据格式  原理同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、使用

      使用是 结合刚才配置的    在方法内使用   Abbreviation (* 号) +   Expand with (Enter)         即可自动生成注释模板

5、注意

       让强迫症难受的是  这个只能在方法内生成,再Copy出去,如果直接在外面生成  无法获取到方法名称、参数、返回值。
       另外  为什么不用  /**/ 这种注释符号,是因为  dart会有提示 ,文本的注释 更提倡 ///   这个看自己眼缘,看不顺眼的话可以改成/**/   需要改动的地方有   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())

上一篇下一篇

猜你喜欢

热点阅读