隐藏页面特效
2025-3-28 05:19:09

༺ཌ༈君☠纤༈ད༻の公告

由于时间有限,本博客将不定期更新。如果本博客对您有帮助,麻烦动动小手点个推荐&关注,如果能给个打赏就更好啦(打赏请备注哦≥^▽^≦)

IntelliJ IDEA实时代码模板&快捷注释(Live Templates)

Live Templates( 实时代码模板)的原理就是配置一些常用代码字母缩写,在输入简写时可以出现你预定义的固定模式的代码,使得开发效率大大提高,同时也可以增加个性化。本篇教程介绍如何使用IntelliJ IDEA快捷代码和自定义快捷代码模板,包括快捷注释的使用。


目录:

☍ 快捷代码使用

☍ 自定义Live Template快捷代码

☍ IntelliJ IDEA代码注释


1|0☍ 快捷代码使用


▴ 系统快捷代码模板的使用

与Eclipse类似,IDEA也提供了许多快捷代码的模板,使用时只需要输入几个定义好的关键字符就可以自动生成对应的代码块。

官方介绍 Live Templates:☛ [传送门]

Postfix Completion默认模板

Live Templates默认模板

二者的区别在于Live Templates可以自定义,而 Postfix Completion 不可以。同时,有些操作二者都提供了模板,Postfix Templates较Live Templates快一些(速度差别很小,基本体会不到)

Java中常用快捷代码

psvm 或者 main :main()方法

sout :输出语句

类似的有 变量.sout System.out.println(变量); soutv System.out.println("变量名 = " + 第一个成员变量变量(没有的找方法参数,再没有找方法局部变量,再没有输出"true" + true)); 指定变量.soutv System.out.println("变量名 = " + 指定变量); soutm System.out.println("当前类名.当前方法"); soutp soutp=System.out.println("方法形参名 = " + 形参名); //如果方法参数列表为空,则效果相当于sout

fori:for循环语句

类似的有 length.fori int length = 10; for (int i = 0; i < length; i++) { } length.forr for (int i = length; i > 0; i--) { } array.fori int array[] = new int[10]; for (int i = 0; i < arr.length; i++) { } array.for int array[] = new int[10]; for (int i : arr) { } /*同理还有array.forr*/ iter:可生成增强 for 循环 for (Object o : ) { } array.iter int array[] = new int[10]; for (int i : arr) { } itar:可生成普通 for 循环 for (int i = 0; i < array.length; i++) { = array[i]; }

list.for:集合list的for循环语句

类似的有 list.fori List<String> list = new ArrayList<String>(); for (int i = 0; i < list.size(); i++) { } list.forr //从尾到头遍历

ifn:可生成if(xxx = null),xxx为定义过的变量

image-20200326203453603
类似的有 inn if(xxx != null){ } xx.null if (xx == null) { } xx.nn if (xx != null) { }

prsf:可生成private static final

类似的有 psf: 可生成 public static final psfi:可生成 public static final int psfs:可生成 public static final String

更多请自行摸索


2|0☍ 自定义Live Template快捷代码


在讲自定义快捷注释前必须先讲以下自定义快捷代码的规则,首先来看一下窗口的功能

<abbreviation>是自定义模板的名,系统通过这个名来确定对象的模板;

Dscription是对模板的描述,会在调用时提示;

Template text是将要显示的完整代码;

Edit variables是在模板代码中有变量时才可选,用来给变量赋值,变量命名规则为$name$;

Expand with是当系统匹配到模板名时,选择如何调用模板代码,默认为Tab,个人比较喜欢enter

Define是模板作用的位置,如果设置全局有效就选everywhere;

创建好后点击OK就可以生效使用了,需要注意的是在使用时输入了模板名会被系统自动捕捉到,但是选择使用后不会保留这个模板名,只会显示Template text中的代码


3|0☍ IntelliJ IDEA代码注释


在eclipse我们很熟悉可以利用 /**,Enter在方法,类名等前一行来生成注释模板,但是IntelliJ IDEA并没有去按照原来的方法去实现。他引进了Live Template来达到类似效果。

▴ 类头的文档注释信息

IDEA中也有在文件头注释的模板。但仅限于类文件头和所有文件头,在创建新文件时自动生成。配置过程如下

img

我的配置 /** * @project: ${PROJECT_NAME} * @ClassName: ${NAME} * @author: Asio君 * @creat: ${DATE} ${TIME} * 描述:${descript} */

效果:

常用的预设的变量

${PACKAGE_NAME} - the name of the target package where the new class or interface will be created. ${PROJECT_NAME} - the name of the current project. ${FILE_NAME} - the name of the PHP file that will be created. ${NAME} - the name of the new file which you specify in the New File dialog box during the file creation. ${USER} - the login name of the current user. ${DATE} - the current system date. ${TIME} - the current system time. ${YEAR} - the current year. ${MONTH} - the current month. ${DAY} - the current day of the month. ${HOUR} - the current hour. ${MINUTE} - the current minute. ${PRODUCT_NAME} - the name of the IDE in which the file will be created. ${MONTH_NAME_SHORT} - the first 3 letters of the month name. Example: Jan, Feb, etc. ${MONTH_NAME_FULL} - full name of a month. Example: January, February, etc.

▾ IntelliJ IDEA方法注释

首先IDEA并没有提供类似Eclipse的方法/构造器/重写方法等的快捷注释,但是IDEA提供了自定义模板的功能

这里以Eclipse的Code Template中方法的/**+enter生成快捷注释为例,在IDEA中自定义实现相同的功能

首先在Editor下的Live Templates中点击右上角‘+’号,选择创建一个新的组

自定义组名

选中自定义组创建一个模板

IDEA自定义注释

上面知道了自定义代码模板,就可以以此为基础创建注释的模板

与普通自定义模板区别的是,IDEA生成注释的方式是:/+模板名+快捷键

自定义注释模板命名时可以不写/,在调用时/不会消失所以Template text中第一行的/就不需要加了,并且第一行代码必须顶格写

使用时必须上以/+模板名的方式调用

实际模板名可以任意,字符、中英文都可以,不过这里模仿Eclipse就是***

Template text中的代码为(以我的为例):

第一种方式

* * @data: $date$-$time$ * @User: asio * @method: $name$ * @params: $params$ * @return: $return$ * @Description: 描述 */

第二种方式

** * @data: $date$-$time$ * @User: asio * @method: $name$ * @params: $params$ * @return: $return$ * @Description: 描述 */

在Edit variables中可以指定变量,默认日期格式为yyyy/mm/dd,通过data("yyyy-MM-dd")可以指定日期格式
方法参数methodParameters()默认格式为[parm1,parm2],可使用自定义方式

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

错误方式

转载请添加本文链接 ☄https://www.cnblogs.com/asio/p/12582328.html


本博客与CSDN博客༺ཌ༈君☠纤༈ད༻同步发布

打赏

感谢您的支持,我会继续努力的!

扫码支持
请赏我点铜板买喵粮自己吃( •̀ ω •́ )y

打开支付宝扫一扫,即可进行扫码打赏哦


__EOF__

本文作者༺ཌ༈君☠纤༈ད༻
本文链接https://www.cnblogs.com/asio/p/12582328.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是博主的最大动力!
posted @   ༺ཌ༈君☠纤༈ད༻  阅读(5061)  评论(0编辑  收藏  举报
编辑推荐:
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· 软件产品开发中常见的10个问题及处理方法
· Vite CVE-2025-30208 安全漏洞
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· MQ 如何保证数据一致性?
欢迎阅读『IntelliJ IDEA实时代码模板&快捷注释(Live Templates)』
点击右上角即可分享
微信分享提示