想栈长我当初从 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

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

#parse("File Header.java")

这个 File Header.java 哪里来的呢?

依次打开下面这个菜单:

Editor > File and Code Templates > files > Includes

其实这个 Includes 就是前面 Files 模板里面 parse 引用的片段而已。File Header 这里默认是空的,然后在这个片段里面编辑模板即可,支持一些预定义的变量,如:DATE、TIME、USER 等,上图给的是配置示例。

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

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

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

Live Templates

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

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

首先打开 Live Templates 菜单:

Editor > Live Tempaltes

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

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

  • abbreviation: 模板缩写
  • Description: 模板描述
  • Template Text: 模板内容

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

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

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

唯一不同的是,方法里面的 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 如何配置文件代码模板、类和方法注释,更多的就去研究这两个菜单吧。

关注Java技术栈微信公众号,栈长将继续分享 Intellij IDEA 的实战教程,公众号第一时间推送,持续关注。在公众号后台回复:idea,获取栈长整理的更多的 Intellij IDEA 教程,都是实战干货,以下仅为部分预览。

  • Intellij IDEA 最常用配置详细图解
  • Intellij IDEA 非常6的 10 个姿势
  • Intellij IDEA 所有乱码解决方案
  • Intellij IDEA 阅读源码的 4 个绝技
  • Intellij IDEA Debug 调试技巧
  • ……

如果你喜欢 IDEA, 可加入我们的知识星球《Java技术栈》,我会经常在上面分享 IDEA 的使用小技巧,对 IDEA 有什么不懂的也可以在上面向我和大家提问。

本文原创首发于微信公众号:Java技术栈(id:javastack),关注公众号在后台回复 "idea" 可获取更多教程,转载请原样保留本信息。

Intellij IDEA 最头大的问题,如何自定义注释模板?的更多相关文章

  1. Android Studio自定义注释模板及生成JavaDoc

    刚开始学习Android,使用了Android Studio IDE.为了将来生产JavaDoc,学习一下如何自定义注释模板. . 自定义注释模板 1. 通过 File –>Settings 或 ...

  2. eclipse中自定义注释模板

    eclipse中自定义注释模板 2018年10月09日 10:51:27 lm_y 阅读数 857更多 分类专栏: java Java   编辑注释模板的方法:Window->Preferenc ...

  3. Android Studio自定义注释模板

    一.自定义新建文件时生成的注释 setting->Editor->File and Code Templates->Includes->File Header,在这里输入自定义 ...

  4. IDEA 自定义注释模板 支持设置多个param参数

    在使用IDEA过程中,很多人可能感觉自带注释太简约了,想增加一些属性,比如作者.创建时间.版本号等等,这个时候我们可以使用自定义的注释模板来实现我们需求,话不多说直接进入如何自定义模板设置: 打开设置 ...

  5. IDEA2020.2版本设置类和方法的自定义注释模板

    IDEA是目前普遍使用的Java开发编辑器,添加自定义的注释模板,一方面便捷好用,另外一方面可以规范开发.IDEA中设置模板分两种:1.创建Java类的注释,2.方法的注释. 一.Java类的注释模板 ...

  6. idea 自定义注释模板

    一.类注释模板 打开Preferences Editor -> File and Code Templates -> Files -> Class 效果图: 注释模板 /** * @ ...

  7. 【Eclipse】如何在Eclipse中如何自动添加注释和自定义注释风格

    背景简介 丰富的注释和良好的代码规范,对于代码的阅读性和可维护性起着至关重要的作用.几乎每个公司对这的要求还是比较严格的,往往会形成自己的一套编码规范.但是再实施过程中,如果全靠手动完成,不仅效率低下 ...

  8. Intellij IDEA自定义类模板和方法模板

    以Intellij IDEA 2017.3.5为例 定义类模板 依次打开File->Settings->File and Code Templates->Files, 选择class ...

  9. IntelliJ IDEA - 注释模板

    IntelliJ IDEA 注释模板自定义的方式有许多,如Live Templates和File and Code Templates,我比较喜欢File and Code Templates,在新建 ...

随机推荐

  1. C语言学习笔记--enum和sizeof关键字

    1.enum关键字 C语言中enum关键字用来定义枚举类型 (1)enum 是 C 语言中的一种自定义类型(2)enum 值是可以根据需要自定义的的整型值(3)第一个定义的 enum 值默认为 0 ( ...

  2. Java虚拟机内存配置

    在做java开发时尤其是大型软件开发时经常会遇到内存溢出的问题,比如说OutOfMemoryError等.这是个让开发人员很痛苦.也很纠结的问题,因为我们有时不知道什么样的操作导致了这种问题的发生.所 ...

  3. idea中,使用Gradle创建的项目,如何变为web项目

    当idea开发项目时,使用gradle构建项目,包引用完后,发现idea并没有正确识别项目为web项目. 主要有两点表现: 1. src/main/resources的resources目录没有或有但 ...

  4. 【转】List<T>和ILIst<T>的区别

    using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace List ...

  5. Redis常见7种使用场景(PHP)

    转发:https://www.jianshu.com/p/2f3add45351b Redis是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并 ...

  6. go语言实战教程:实战项目资源导入和项目框架搭建

    从本节内容开始,我们将利用我们所学习的Iris框架的相关知识,进行实战项目开发. 实战项目框架搭建 我们的实战项目是使用Iris框架开发一个关于本地服务平台的后台管理平台.平台中可以管理用户.商品.商 ...

  7. Solr 6.7学习笔记(02)-- 配置文件 managed-schema (schema.xml)(3)

         5. <fieldType> fieldType主要定义了一些字段类型,其name属性值用于前面<field>中的type属性的值.e.g. <fieldTyp ...

  8. Jmeter-返回值乱码处理

    Jmeter安装目录/bin/jmeter.properties中sampleresult.default.encoding默认为ISO-8859-1,将参数修改为 sampleresult.defa ...

  9. 在 CentOS7 安装 ELK【转】

    ELK是一个成熟的日志系统,主要功能有收集.分析.检索,详细见 elastic官网. 本文主要介绍如何在CentOS7下安装最新版本的ELK,当然现在docker已经有完全配置成功的elk容器,安装配 ...

  10. Java Web中相对路径与绝对路径的分析

    一.相对路径与绝对路径 1.相对路径: 相对路径指的是相对于当前文件所在目录的路径! 相对路径易出问题: 当在页面间相互跳转时不会产生问题: 当从Servlet中转发到指定页面时,服务器会相对于当前S ...