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.普通方法 ...
随机推荐
- Spring框架基础知识
本人博客文章网址:https://www.peretang.com/basic-knowledge-of-spring-framework/ Spring框架简介 Spring , 一个开源的框架 , ...
- Lucene5.5.4入门以及基于Lucene实现博客搜索功能
前言 一直以来个人博客的搜索功能很蹩脚,只是自己简单用数据库的like %keyword%来实现的,所以导致经常搜不到想要找的内容,而且高亮显示.摘要截取等也不好实现,所以决定采用Lucene改写博客 ...
- python 基础之pickle 与json 报错问题解决方案
Python 基础之pickle与json 有没有在搞pickle与json在进行数据储存的时候老是报错,这个有些让人烦恼,在之前有一篇介绍过它们的基本用法以及在使用过长中避免一些坑,但是今天在把对象 ...
- O(mn)实现LCIS
序: LCIS即求两序列的最长公共不下降子序列.思路于LCS基本一致. 用dp[i][j]记录当前最大值. 代码实现: /* About: LCIS O(mn) Auther: kongse_qi D ...
- php函数的种类与调用方法大揭密
PHP中的函数看上去很简单,实际上功能非常强大,我这里按函数名称是否固定,可以分为以下三大类: 一.名称固定的函数: 这类函数,也叫:常规函数,直接用关键字function来创建,也是大家最熟悉的类型 ...
- DTCMS插件的制作实例电子资源管理(三)前台模板页编写
总目录 插件目录结构(一) Admin后台页面编写(二) 前台模板页编写(三) URL重写(四) 本实例旨在以一个实际的项目中的例子来介绍如何在dtcms中制作插件,本系列文章非入门教程,部分逻辑实现 ...
- ——————————JavaScript中,对String字符串的一些操作——————————
————————————————————————————————————————————————————————————————————————————————————————————— <ht ...
- Python lambda 表达式有何用处,如何使用?
在看Python教程的时候,被 lambda 的解释给难住了,之前没有这么用过. 在<简明Python教程>上的解释: [摘录如下:] lambda语句被用来创建新的函数对象,并且在运行时 ...
- 【转】解决response.AddHeader("Content-Disposition", "attachment; fileName=" + fileName) 中文显示乱码
如果fileName为中文则乱码.解决办法是 方法1: response.setHeader("Content-Disposition", "attachment; fi ...
- Natas Wargame Level 9 Writeup(bash injection)
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAArAAAAClCAYAAACkwM63AAAABHNCSVQICAgIfAhkiAAAIABJREFUeF