上一篇文章(http://www.cnblogs.com/xzjxylophone/p/6994488.html) 是在 groovyScript中直接添加的代码,这个看起来是简单,粗暴,麻烦和不美观.

这一片文章是用groovyScript 调用文件的方式,直接上代码:

添加一个 live template

设置 abbreviation为:

*

Template text:

**
*$context$
*/

edit variables 中设置context 为(mac系统):

groovyScript("/Users/ceshi/Documents/goodgoodstudy/groovy/test.groovy", currentPackage(), className(), methodName(), jsMethodName(), methodParameters(), methodReturnType(), date("yyyy-MM-dd"), time("HH:mm:ss"))

其中

/Users/ceshi/Documents/goodgoodstudy/groovy/test.groovy

是你脚本文件的路径.

如果是windows的:

需要添加是如下的:

C:\\user\\username\\test.groovy

test.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 = "Rush.D.Xzj";
def projectName = "yibasic";
def version = "V1.0.0";
def copyright = "2017 yizukeji Inc. All rights reserved."; def outputParams = "";
for(param in methodParameters) {
outputParams += " * @param " + param + " : \n";
}
def outputReturnType = "";
if (methodReturnType != "void") {
outputReturnType = " * @return : " + methodReturnType + "\n";
} def outputMethodName = " * @Method : " + methodName + "\n";
def outputDesc = " * @Description : \n";
def outputAuthor = " * @author : " + author + "\n";
def outputDateTime = " * @CreateDate : " + date + " " + time + "\n";
if (confirmedDateTime) {
outputDateTime = " * @CreateDate : " + confirmedDateTimeString + "\n";
}
def outputProjectName = " * @Project : " + projectName + "\n";
def outputPackageName = " * @Package : " + packageName + "\n";
def outputClass = " * @Class : " + className + "\n";
def outputVersion = " * @version : " + version + "\n";
def outputClassOtherInfo = " * @Copyright : " + copyright + "\n";
outputClassOtherInfo += " * @Reviewed : " + "\n";
outputClassOtherInfo += " * @UpateLog : Name Date Reason/Contents\n";
outputClassOtherInfo += " * ---------------------------------------\n";
outputClassOtherInfo += " * **** **** **** \n";
def outputJsMethodName = " * @Method : " + jsMethodName + "\n";
def outputJsParams = " * @param \n";
def outputJsReturnType = " * @return : \n"; def result = ""; result += "\n";
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;

在 java文件/js文件中输入:

/*

后 按 tab键(tab键是默认的,可以更改成其他的)

这样就可以了.

剩下的问题:

无法区分java中的 构造函数和普通函数还有类函数

无法识别出 throws

无法识别出 @Override

无法识别出 js method 的参数

idea live template高级知识, 进阶(给方法,类,js方法添加注释)(二)的更多相关文章

  1. idea live template高级知识, 进阶(给方法,类,js方法添加注释)

    为了解决用一个命令(宏)给方法,类,js方法添加注释,经过几天的研究.终于得到结果了. 实现的效果如下: 给Java中的method添加方法: /** * * @Method : addMenu * ...

  2. IDEA使用 live template添加groovy脚本给方法,类,js方法添加注释(转载)

    IDEA添加Live Template: File->Setting->Editor->Live Templates Abbreviation: * Template text: * ...

  3. IDEA 创建类是自动添加注释和创建方法时快速添加注释

    1.创建类是自动添加注释 /*** @Author: chiyl* @DateTime: ${DATE} ${TIME}* @Description: TODO*/2. 创建方法时快速添加注释2.1 ...

  4. day20-Python运维开发基础(装饰器 / 类中的方法 / 类的方法变属性)

    1. 装饰器 / 类中的方法 / 类的方法变属性 # ### 装饰器 """ 定义:装饰器用于拓展原来函数功能的一种语法,返回新函数替换旧函数 优点:在不更改原函数代码的 ...

  5. accessor mothod mutator mothod 更改器方法 访问器方法 类的方法可以访问类的任何一个对象的私有域!

    LocalDate.plusDate String.toUpperCase GregorianCalendar.add import java.time.*; public class Calenda ...

  6. thymeleaf onclick方法向js方法传递参数

    如下图 这个错误并不影响 请放心使用

  7. python高级(一)—— python数据模型(特殊方法)

    本文主要内容 collections.namedtuple __getitem__ 和 __len__ __repr__和__str__ __abs__.__add__和__mul__ __bool_ ...

  8. java类的方法

    我前面说的都是类的属性,现在说类的方法: 类{ 属性:“类有什么” 方法:“类能做什么” } 首先我们在之前创建的学生类中添加个打印1-10数字的方法,参数是name package cuteSnow ...

  9. iOS Swift结构体与类的方法调度

    前言 hello,小伙伴们:在忙碌中闲暇之余给大家聊聊swift的知识点,今天给大家带来的是swift中结构体与类的方法调度详细区别,希望对你有所帮助,好了废话不用多说,接下来步入主题! 1.普通方法 ...

随机推荐

  1. Spring框架基础知识

    本人博客文章网址:https://www.peretang.com/basic-knowledge-of-spring-framework/ Spring框架简介 Spring , 一个开源的框架 , ...

  2. Lucene5.5.4入门以及基于Lucene实现博客搜索功能

    前言 一直以来个人博客的搜索功能很蹩脚,只是自己简单用数据库的like %keyword%来实现的,所以导致经常搜不到想要找的内容,而且高亮显示.摘要截取等也不好实现,所以决定采用Lucene改写博客 ...

  3. python 基础之pickle 与json 报错问题解决方案

    Python 基础之pickle与json 有没有在搞pickle与json在进行数据储存的时候老是报错,这个有些让人烦恼,在之前有一篇介绍过它们的基本用法以及在使用过长中避免一些坑,但是今天在把对象 ...

  4. O(mn)实现LCIS

    序: LCIS即求两序列的最长公共不下降子序列.思路于LCS基本一致. 用dp[i][j]记录当前最大值. 代码实现: /* About: LCIS O(mn) Auther: kongse_qi D ...

  5. php函数的种类与调用方法大揭密

    PHP中的函数看上去很简单,实际上功能非常强大,我这里按函数名称是否固定,可以分为以下三大类: 一.名称固定的函数: 这类函数,也叫:常规函数,直接用关键字function来创建,也是大家最熟悉的类型 ...

  6. DTCMS插件的制作实例电子资源管理(三)前台模板页编写

    总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...

  7. ——————————JavaScript中,对String字符串的一些操作——————————

    ————————————————————————————————————————————————————————————————————————————————————————————— <ht ...

  8. Python lambda 表达式有何用处,如何使用?

    在看Python教程的时候,被 lambda 的解释给难住了,之前没有这么用过. 在<简明Python教程>上的解释: [摘录如下:] lambda语句被用来创建新的函数对象,并且在运行时 ...

  9. 【转】解决response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName) 中文显示乱码

    如果fileName为中文则乱码.解决办法是 方法1: response.setHeader("Content-Disposition", "attachment; fi ...

  10. Natas Wargame Level 9 Writeup(bash injection)

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArAAAAClCAYAAACkwM63AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF