zoukankan      html  css  js  c++  java
  • idea中使用Live Template自动生成方法所有参数打印

    一 新建模板

    二 设置代码模板

    三 设置变量

    表达式是支持groovy脚本的,所以这里写一个groovy脚本,生成给定格式的日志字符串,methodParameters()是idea内置的函数,获取方法参数名字的数组:

    [param1,param2] 所以先把[ ]去掉,因为这里是一个groovy字符串,本来就是正则字符串,里面是正则转化成脚本后还是正则
    所以需要两次转化,\代表\,字符串里转义[ ]的话需要[和 ], 一个在字符串里需要两个\,所以就是四个
    然后转成集合,拼接就行了,脚本:

    groovyScript("
    def result=''; 
    def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); 
    for(i = 0; i < params.size(); i++) {
      result+='"'+params[i] +':"+'+params[i]+ ((i < params.size() - 1) ? '+","+' : '')
    };
    return result", methodParameters()) 

    四 测试

    方法里面直接打ld,按tab就可以生成了:

     

     注意: 集合的话需要重写toString方法,也可以使用JSon》toString

    如果是用Strin.format那种,可以定义三个参数:

    log.info("$desc$,$params1$",$params2$);

    parmas1:

    groovyScript(" def result=''; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {     result+=''+params[i]+':{}'+ ((i < params.size() - 1) ? ',' : '') }; return result", methodParameters())

    params2:

    groovyScript(" def result=''; def params="${_1}".replaceAll('[\\[|\\]|\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {     result+=params[i]+ ((i < params.size() - 1) ? ',' : '') }; return result", methodParameters())

    效果:

    log.info("查询客服坐席列表,page:{},size:{},keyword:{}",page,size,keyword);
  • 相关阅读:
    Apache https 证书配置...
    npm 安装 sass=-=-=
    mysql 8.0 安装
    『转』谷歌发布Windows版Chrome App Launcher
    VMware Workstation 10.0.0.1295980 CN
    16款最受关注的智能手表 苹果iWatch领衔
    百度网盘推荐部分优秀的分享达人
    『转』市售热门可穿戴式“活动追踪器 Tracker”导购指南
    各网盘活动地址及点评-14.03.28
    2014.01.07_自用软件-春运开始了....
  • 原文地址:https://www.cnblogs.com/houzheng/p/12050335.html
Copyright © 2011-2022 走看看