zoukankan      html  css  js  c++  java
  • IDEA使用 live template添加groovy脚本给方法,类,js方法添加注释(转载)

    IDEA添加Live Template:

    File->Setting->Editor->Live Templates

    Abbreviation:

    *

    Template text:

    **
     *$context$ 
     */

    设置context内容:

    Edit variables ->Default value

    groovyScript("C:\IDEACommentLiveTemplate.groovy", currentPackage(), className(), methodName(), jsMethodName(), methodParameters(), methodReturnType(), date("yyyy-MM-dd"), time("HH:mm:ss"))

     

    IDEACommentLiveTemplate.groovy脚本内容:

    def packageName = _1;
    def className = _2;
    def methodName = _3;
    def jsMethodName = _4;
    def methodParameters = _5;
    def methodReturnType = _6;
    def date = _7;
    def time = _8;
    
    // 固定的时间,默认的是false
    def confirmedDateTime = false;
    def confirmedDateTimeString = "2017-06-15 12:20:40";
    // 可以修改成自己的相关信息
    def author = "yz";
    def projectName = "";
    def version = "V1.0.0";
    def copyright = "yz All rights reserved.";
    
    
    def outputParams = "";
    for(param in methodParameters) {
        outputParams += " * @param " + param + " : 
    ";
    }
    def outputReturnType = "";
    if (methodReturnType != "void") {
        outputReturnType = " * @return : " + methodReturnType + "
    ";
    }
    
    def outputMethodName         = " * @Method : " + methodName + "
    ";
    def outputDesc                 = " * @Description : 
    ";
    def outputAuthor             = " * @author : " + author + "
    ";
    def outputDateTime            = " * @CreateDate : " + date + " " + time + "
    ";
    if (confirmedDateTime) {
        outputDateTime            = " * @CreateDate : " + confirmedDateTimeString + "
    ";
    }
    def outputProjectName        = " * @Project : " + projectName + "
    ";
    def outputPackageName        = " * @Package : " + packageName + "
    ";
    def outputClass                = " * @Class : " + className + "
    ";
    def outputVersion            = " * @version : " + version + "
    ";
    def outputClassOtherInfo    = " * @Copyright : " + copyright + "
    ";
    outputClassOtherInfo       += " * @Reviewed : " + "
    ";
    outputClassOtherInfo       += " * @UpateLog :    Name    Date    Reason/Contents
    ";
    outputClassOtherInfo       += " *             ---------------------------------------
    ";
    outputClassOtherInfo       += " *                ****    ****    **** 
    ";
    def outputJsMethodName        = " * @Method : " + jsMethodName + "
    ";
    def outputJsParams            = " * @param 
    ";
    def outputJsReturnType        = " * @return : 
    ";
    
    def result = "";
    
    result += "
    ";
    if (methodName) {
        result += outputMethodName;
        result += outputDesc;
        result += outputParams;
        result += outputReturnType;
        result += outputAuthor;
        result += outputDateTime;
    } else if (jsMethodName) {
        result += outputJsMethodName;
        result += outputDesc;
        result += outputJsParams;
        result += outputJsReturnType;
        result += outputAuthor;
        result += outputDateTime;
    } else {
        result += outputProjectName;
        result += outputPackageName;
        result += outputClass;
        result += outputDesc;
        result += outputAuthor;
        result += outputDateTime;
        result += outputVersion;
        result += outputClassOtherInfo;
    }
    result += " *";
    return result;
    

    设置应用

    内容转载自:http://www.cnblogs.com/xzjxylophone/p/7060035.html

  • 相关阅读:
    C++11多线程
    C++单例模式
    从五大结构体,带你掌握鸿蒙轻内核动态内存Dynamic Memory
    云小课 | 云硬盘不用了如何处理?
    Kafka 源码解析:Server 端的运行过程
    带你掌握4种Python 排序算法
    面试官问我:如何减少客户对交付成果的质疑
    如何基于MindSpore实现万亿级参数模型算法?
    Go 接口类型
    Go 结构体
  • 原文地址:https://www.cnblogs.com/townsend/p/8488283.html
Copyright © 2011-2022 走看看