IntelliJ IDEA 类代码模板注解自定义

Stella981
• 阅读 563

本篇内容为大家提供的是IntelliJ IDEA 使用教程中的文件代码模板的使用,IntelliJ IDEA是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、JUnit、CVS整合、代码审查、 创新的GUI设计等方面的功能可以说是超常的。 。感兴趣的同学可以参考学习下,具体内容如下:

文件代码模板的介绍

文件代码模板可以简单理解为:我们在项目中创建某些类型文件时,就已经在对应这些新文件中预设了代码内容。因为文字表达都带有点无力,所以下面用 Gif 动态图来演示。

IntelliJ IDEA 类代码模板注解自定义

  • 如上图 Gif 所示,IntelliJ IDEA 默认新建类自带的类注释格式一般不够友好或是规范,所以我们一般需要自己根据公司编码规范进行设置。

IntelliJ IDEA 类代码模板注解自定义

  • 如上图 Gif 所示,这是根据我自己的需求进行设置的类注释,这种注释方式会更友好。

根据演示我们应该已经很好地理解了文件代码模板是什么东西了。对此我们可以衍生出很多玩法,比如:我们的项目 Controller、Service、Dao 等常用新对象都是要各自继承某个类、实现某些接口或预设某些方法,也都可以通过这样的文件代码模板来实现。

文件代码模板的设置

IntelliJ IDEA 类代码模板注解自定义

  • 如上图标注 1 所示,文件代码模板支持的类型基本常见的文件类型都涵盖了。

  • 如上图标注 2 所示,这是 Java 文件模板新建的代码模板,其中 ${PACKAGE_NAME}、${NAME} 是 IntelliJ IDEA 预设的变量。

  • 如上图标注 3 所示,IntelliJ IDEA 的文件代码模板是可以使用 Velocity Template Language (VTL) 进行书写的。如图 2 上的#if ... #end 和 #parse 都是 VTL 的语法。

  • 如上图标注 4 所示,介绍当前文件模板的一些信息,以及一些预设变量的作用介绍。

  • 如上图标注 5 所示,这四个按钮是文件代码模板的主要操作按钮,四个操作分别是:

  • Create Template 创建一个文件代码模板。

  • Remove Template 删除一个文件代码模板,标注 1 所示的这些预设模板是不允许删除的,只能能删除预设之外的新增的。

  • Copy Template 复制一个文件代码模板。

  • Reset To Default 对被修改的预设文件代码模板,还原到默认状态。

IntelliJ IDEA 类代码模板注解自定义

  • 如上图标注 1 所示,IntelliJ IDEA 还支持其他常见会新建的文件类型,基本上我们根本不用担心有不支持的文件类型,常用的基本都被涵盖了。

IntelliJ IDEA 类代码模板注解自定义

  • 如上图标注 1 所示,该 File Header 文件就是前面 Java 文件代码模板中引入语句中 #parse("File Header.java") 文件。

IntelliJ IDEA 类代码模板注解自定义

  • 如上图标注箭头所示,${DESCRIPTION} 是我们自己定义的变量,自定义变量格式有两种方式:$变量名 或 ${变量名}。
  • 自定义的变量在创建对应的文件时候就必须输入内容,这个在本文最上面的 Gif 演示中已经有体现了。

IntelliJ IDEA 类代码模板注解自定义

  • 如上图 Gif 所示,当我们需要用到一个固定值的自定义变量的时候并且该变量多个地方被引用,我们可以通过 VTL 语法的#set( $变量名 = "变量值内容" ); 来设置。

IntelliJ IDEA 类代码模板注解自定义

  • 因为 Code 模块改动的人不多,所以放在最后。我们是无法新建、删除 Code 里面的代码模板。
  • 如上图标注 1 所示,在我们通过快捷方式生成某个类的测试方法时候会自动调用此 Code 模板,所以我们可以解释该 Code 功能主要用在 IntelliJ IDEA 自动帮我们生成某些代码的时候引用的模板。

文件代码模板预设的变量

因为变量的命名太明了不过了,所以这里不多讲解,直接贴出官网的英文解释:

  • ${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.

PHP 的文件类型预设的变量比上面的还多一点,具体可以查阅官网:

后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944

https://shop119727980.taobao.com/?spm=0.0.0.0

点赞
收藏
评论区
推荐文章
blmius blmius
2年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
Jacquelyn38 Jacquelyn38
2年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
Stella981 Stella981
2年前
IntelliJ IDEA 2019.3.3安装与激活(超好用)
<fontcolor989898face"宋体"IDEA全称IntelliJIDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、创新的GUI设计等方面的功能可以说是超常的。
Stella981 Stella981
2年前
IntelliJ IDEA入门教程合集,一篇解决入门各大难题,下载安装等问题
IntelliJIDEA(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.evget.com%2Fproduct%2F2992)是Java语言开发的集成环境,IntelliJ在业界被公认为优秀的Java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、Ant、
Wesley13 Wesley13
2年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
2年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
2年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
为什么mysql不推荐使用雪花ID作为主键
作者:毛辰飞背景在mysql中设计表的时候,mysql官方推荐不要使用uuid或者不连续不重复的雪花id(long形且唯一),而是推荐连续自增的主键id,官方的推荐是auto_increment,那么为什么不建议采用uuid,使用uuid究
Python进阶者 Python进阶者
3个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这