Flutter 文件、类、方法添加注释模板

目录

  • 文件添加注释
  • 类添加注释
  • 方法添加注释

一、文件添加注释

  • 1.1、我们创建一个dart文件的时候希望有一些对文件的注释说明,我们可以在 Android Studio的 Preferences -> Editor — File and Templates -> Dart File


    dart文件添加注释
  • 1.2、具体的内容

    /// FileName ${NAME}
    ///
    /// @Author ${USER}
    /// @Date ${DATE} ${TIME}
    ///
    /// @Description TODO
    
  • 1.3、效果如下图


    效果如下图

二、类添加注释

  • 2.1、在Preferences —> Editor —> Live Templates -> Dart


    类添加注释

三、方法添加注释

  • 3.1、在Preferences —> Editor —> Live Templates -> Dart 点击加号,选择 Live Template

  • 3.2、配置 Live Templates

  • Abbreviation: 模板缩写 我用的是一个 * ,这个看个人习惯

  • Description: 模板的说明

  • Expand with: 展开模板的确认键 (默认是tab 我用的是Enter回车,看个人习惯)

  • Template Text: 模板格式如下:(title:方法名 description:方法说明 param:方法参数,由于是动态的所以没有写 @param,可能存在无参数的方法 return:同参数一样的原理 updateTime:注释添加的时间 author:作者名) 自己根据需要增删

    /// method_name $title$
    /// author JoanKing
    /// description TODO 
    /// $param$ $return$
    

    我一般是只保留:title、param、return,如下

    /// method_name $title$
    /// description TODO 
    /// $param$  $return$
    

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


  • 3.3、重要的一步,点击按钮 Edit variables : 配置 模板里面的各个参数的值 。 ( 如 在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())
      • [] 版本
        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) ? '/// ' + '[' + params[i] + ']' + '\r\n' : '/// ' + '[' + params[i] + ']' + '')}; }; return result;", dartMethodParameters())
    • return: 返回值格式 这个可以选择 dartReturnType() 返回的是一个数据格式 原理同param,脚本如下:
      • @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())
      • [] 版本
        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())


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

    效果

  • 3.5、注意
    提示: 这个只能在方法内生成,再Copy出去,如果直接在外面生成 无法获取到方法名称、参数、返回值。
    另外 为什么不用 // 这种注释符号,是因为 dart会有提示 ,文本的注释 更提倡 /// 这个看自己眼缘,看不顺眼的话可以改成// 需要改动的地方有 Template Text: param:的脚本里面的拼接 return:的拼接 如下:

    Template Text:
    /*

    • @title
    • @description TODO
    • @updateTime
    • @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())

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

你可能感兴趣的:(Flutter 文件、类、方法添加注释模板)