欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Intellij IDEA如何自定义注释模板的实现方法

程序员文章站 2024-02-24 13:07:22
想栈长我当初从 eclipse 转用 idea 真是纠结,放弃然后尝试了n次,不过现在已经算是转型成功了,可以完全脱离 eclipse 撸码了,虽然说我现在真的撸得非常少了...

想栈长我当初从 eclipse 转用 idea 真是纠结,放弃然后尝试了n次,不过现在已经算是转型成功了,可以完全脱离 eclipse 撸码了,虽然说我现在真的撸得非常少了。。

说到 idea 的痛点,我觉得注释配置就不是很人性化。eclipse 可以很方便的设置和导入公共的自定义注释模板、格式化模板,但在 idea 中确实有点蹩脚,配置起来甚至有点高级,还需要用到 grovvy 脚本。。

废话不说了,来看下如何解决 intellij idea 最头大的问题:自定义注释模板。。

idea 中有以下两种配置模板。

  • file and code templates
  • live templates

下面介绍下这两种的使用方法。

file and code templates

file and code templates 用来配置文件和代码模板,即文件在创建的时候自动会按文件模板生成代码注释。

下面来演示一下如何自动生成 java 类注释。

依次打开下面这个菜单:

editor > file and code templates > files

Intellij IDEA如何自定义注释模板的实现方法

里面自带了很多文件的注释模板,只不过要自己设置,这个 class 里面的内容就是自带的,里面有一个 #parse 的代码。

#parse("file header.java")

这个 file header.java 哪里来的呢?

依次打开下面这个菜单:

editor > file and code templates > files > includes

Intellij IDEA如何自定义注释模板的实现方法

其实这个 includes 就是前面 files 模板里面 parse 引用的片段而已。file header 这里默认是空的,然后在这个片段里面编辑模板即可,支持一些预定义的变量,如:date、time、user 等,上图给的是配置示例。

Intellij IDEA如何自定义注释模板的实现方法

从上图也可以看到,这里的模板配置用的是 apache velocity 模板语言,其中的 #parse 就是 velocity 模板语言的关键字。

所以,这里的 java 类自动生成类注释就配置完那个 file header 就行了,配置完后,随便创建一个类就会自动带上注释。

其他的文件配置方式不再撰述。

live templates

live templates 用来配置动态模板,可以在指定位置使用缩写字母自动生成注释。下面演示两个创建示例,手动生成类注释、方法注释。

上面演示的是创建类的时候自动添加注释,如果想手动添加类注释,怎么加?

首先打开 live templates 菜单:

editor > live tempaltes

Intellij IDEA如何自定义注释模板的实现方法

上面截图的已经配置好了 cc 和 mc,代表我输入 cc 和 mc 后会自动带出来类注释、方法注释。

右上角有个 + 号,点击选择 live template 添加一个动态模板,依次配置下面的内容。

  • abbreviation: 模板缩写
  • description: 模板描述
  • template text: 模板内容

template text 里面美元符号包起来的是变量,需要点击 edit variable 按钮来设置这些变量。

Intellij IDEA如何自定义注释模板的实现方法

另外,就是设置模板使用的场景,如以下所示,点击 define 链接,设置类模板只能在 java 语言下使用。

Intellij IDEA如何自定义注释模板的实现方法

方法注释和类注释配置一致,配置示例如下:

Intellij IDEA如何自定义注释模板的实现方法

Intellij IDEA如何自定义注释模板的实现方法

唯一不同的是,方法里面的 params 变量需要用以下 groovy 表达式来配置,比较麻烦。。

复制代码 代码如下:
groovyscript("def result=''; def params=\"${_1}\".replaceall('[\\\\[|\\\\]|\\\\s]', '').split(',').tolist(); for(i = 0; i < params.size(); i++) {result+=' * @param ' + params[i] + ((i < params.size() - 1) ? '\\n' : '')}; return result", methodparameters())

而且方法注释这里还有一个坑,使用 mc 时不能在方法上面,要在方法里面使用,不然 @param 带出来的是 null, 而不是具体的参数名称。

好了,今天就深圳了 intellij idea 如何配置文件代码模板、类和方法注释,更多的就去研究这两个菜单吧。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。