idea live template高级知识, 进阶(给方法,类,js方法添加注释)(二)
上一篇文章(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方法添加注释)(二)的更多相关文章
- idea live template高级知识, 进阶(给方法,类,js方法添加注释)
为了解决用一个命令(宏)给方法,类,js方法添加注释,经过几天的研究.终于得到结果了. 实现的效果如下: 给Java中的method添加方法: /** * * @Method : addMenu * ...
- IDEA使用 live template添加groovy脚本给方法,类,js方法添加注释(转载)
IDEA添加Live Template: File->Setting->Editor->Live Templates Abbreviation: * Template text: * ...
- IDEA 创建类是自动添加注释和创建方法时快速添加注释
1.创建类是自动添加注释 /*** @Author: chiyl* @DateTime: ${DATE} ${TIME}* @Description: TODO*/2. 创建方法时快速添加注释2.1 ...
- day20-Python运维开发基础(装饰器 / 类中的方法 / 类的方法变属性)
1. 装饰器 / 类中的方法 / 类的方法变属性 # ### 装饰器 """ 定义:装饰器用于拓展原来函数功能的一种语法,返回新函数替换旧函数 优点:在不更改原函数代码的 ...
- accessor mothod mutator mothod 更改器方法 访问器方法 类的方法可以访问类的任何一个对象的私有域!
LocalDate.plusDate String.toUpperCase GregorianCalendar.add import java.time.*; public class Calenda ...
- thymeleaf onclick方法向js方法传递参数
如下图 这个错误并不影响 请放心使用
- python高级(一)—— python数据模型(特殊方法)
本文主要内容 collections.namedtuple __getitem__ 和 __len__ __repr__和__str__ __abs__.__add__和__mul__ __bool_ ...
- java类的方法
我前面说的都是类的属性,现在说类的方法: 类{ 属性:“类有什么” 方法:“类能做什么” } 首先我们在之前创建的学生类中添加个打印1-10数字的方法,参数是name package cuteSnow ...
- iOS Swift结构体与类的方法调度
前言 hello,小伙伴们:在忙碌中闲暇之余给大家聊聊swift的知识点,今天给大家带来的是swift中结构体与类的方法调度详细区别,希望对你有所帮助,好了废话不用多说,接下来步入主题! 1.普通方法 ...
随机推荐
- 使用java API操作HDFS-相关环境的设置
用于装在编译类,即为hadoop的类路径 退出后重新登录,再使用env检查. jps可以直接使用了,表示已经设置成功. 在myclass之中创建类文件,这个myclass目录是自己创建的.
- linux优化之SElinux关闭
查看selinux状态: # getenforce 注:Enforcing表示开启,Permissive表示禁用 临时关闭或开启selinux: # setenforce [1|0] 注:1是 ...
- poj Layout 差分约束+SPFA
题目链接:http://poj.org/problem?id=3169 很好的差分约束入门题目,自己刚看时学呢 代码: #include<iostream> #include<cst ...
- [刷题]算法竞赛入门经典(第2版) 5-7/UVa12100 - Printer Queue
题意:一堆文件但只有一个打印机,按优先级与排队顺序进行打印.也就是在一个可以插队的的队列里,问你何时可以打印到.至于这个插队啊,题目说"Of course, those annoying t ...
- call,apply和bind,其实很简单
call和apply call和aplly作用完全一样,都是在特定的上下文中调用函数,或者说改变函数内部的this指向:区别仅在于接收参数的方式不同. var dog = { name: " ...
- MyBatis之TypeHandler
在大学写web应用的时候经常会遇到这么个问题,当我要插入一条数据,某个数据是Date类型,数据库中却是VARCHAR类型,这个时候可能会傻乎乎的先把这个数据自己手动转换成String类型再插入到数据库 ...
- 【转】纯手工玩转 Nginx 日志
Nginx 日志对于大部分人来说是个未被发掘的宝藏,总结之前做某日志分析系统的经验,和大家分享一下 Nginx 日志的纯手工分析方式. Nginx 日志相关配置有 2 个地方:access_log 和 ...
- Java UDP Socket
本文转载地址: Java学习路上的收获:http://blog.csdn.net/qinpeng100423/article/details/8980423 一. UDP协议定义 U ...
- Json及Json字符串
JSON(JavaScript Object Notation)是一种独立于开发语言的用于存储和交换文本数据的格式,JSON 语法是JavaScript 语法的子集. Json 可以保存数组格式和对象 ...
- js中toggle()及toggleClass()的使用详解
在javascript中toggle()为连续点击事件,当里面含有多个function(){}函数时,每次点击依次执行里面的function的函数,直至最后一个.随后每次点击都重复对这几个函数的轮番调 ...