IntelliJ IDEA快速入门 | 第三十篇:如何来自定义模板呢?
发布日期:2021-06-30 17:57:05 浏览次数:2 分类:技术文章

本文共 5046 字,大约阅读时间需要 16 分钟。

写在前面

演示完常用的模板以后,下面咱们来说下一个问题,即我们如何来修改现有的模板,以及如何去自定义一个模板。其实,这说明了IntelliJ IDEA给了我们很大的灵活空间,就像大家用这个苹果手机一样,你感觉这个手机用的不错,这个体验其实主要还是来自于你手机上的各个App应用,而这些App应用,不是全部都是苹果公司自己写的,还有很多第三方的,因此你可以通过更多的第三方的App应用来增强你的用户体验。就好比是我们可以修改或者自定义模板一样,让我们的用户体验变得更好,对咱们程序员来说,这不是更加灵活一些了吗?

咱们就以main方法为例来说,习惯于用Eclipse的小伙伴都适应了写上main这样几个字符来调出main方法,现在切换到IntelliJ IDEA中突然改成了使用psvm模板,多少感觉有点不太适应,这时,你就需要修改psvm模板了,或者再重新自定义一个main模板。其实,main模板也不用我们自个儿重新自定义了,因为Editor > Live Templates这儿已经为我们提供了,虽然如此,但说是这样说的。

接下来,我会新建一个类,例如TemplatesTest1,来教大家如何修改现有的模板,以及如何去自定义一个模板。

修改现有的模板

如果我现在想要定义一个公共的静态的int类型的常量,那么是不是可以使用psfi模板啊?就像下面这样子。

在这里插入图片描述

虽然使用该模板帮我们生成了public static final int这些东东,方便了我们许多,但是我们还得在其后面写上NUM = 1这样的玩意,感觉还不够方便,那我们是不是可以考虑再修改一下psfi模板啊?

先不谈如何修改,而是问大家一个小问题,现在我想要修改psfi模板,你说我是去Editor > Live Templates这儿修改,还是去Editor > General > Postfix Completion这儿修改呢?其实答案就在我上一篇文章中,在上一篇文章中虽然我说了大家不用刻意去记,但是这个说的不是让你去记住每一个模板都在哪里,说了你也记不住,而是想让大家记住模板所在的两个位置之间的区别,即Editor > Live Templates这里面的模板是可以修改的,而Editor > General > Postfix Completion这里面的模板是不可以修改的。所以,现在我们想要修改的psfi模板一定是在Editor > Live Templates这里面,而不可能是在Editor > General > Postfix Completion这里面。

在这里插入图片描述

要想修改psfi模板,你就得先找到它的位置,从上图中我们能看到对psfi模板的一个描述,以及其生成的代码片段。此时,不妨我们修改一下psfi模板所生成的代码片段,如下图所示。

在这里插入图片描述

修改好之后,点击OK按钮即可。那现在使用psfi模板,效果会是什么样子的呢?

在这里插入图片描述

大家现在看到了这个效果没有啊?当我们写完psfi这样几个字符一回车,你会发现这时光标会自动地落在$VAR1$这个位置上,这是让我们写上一个变量名,例如COUNT,然后再回车,发现光标又自动地落在了$VAR2$这个位置上,这是让我们为变量赋一个值,接着再回车,发现光标又自动地落在了$END$这个位置上,即一行最开始的位置。这样,与没有修改之前的psfi模板相比,现在的用户体验是不是要稍微好那么一点点呢?就是省得咱们自己再去写赋值符号了,仅此而已哟~

以上就是如何来修改一个现有的模板。说完修改,下面我们再来说一下如何自定义一个模板,这个才是本文的重点。

自定义一个模板

除了修改现有的模板之外,我们还可以定义自己的模板,接下来,我们就来说说如何定义自己的模板。

定义自己的模板,毫无疑问,仍然也是得在Editor > Live Templates这里面去定义,而不可能是在Editor > General > Postfix Completion这里面去定义,因为此处是不可修改的。

我们现在知道了是要在Editor > Live Templates这里面去定义自己的模板了,但是现在有一个小问题,我们都知道平时咱们常用的那些模板都是定义在Java这个组里面的,如下图所示,那咱们自己定义的模板可不可以也归档到该组里面去呢?显然是可以的,只不过是混为一团了而已。

在这里插入图片描述

因此,最好还是不要用IntelliJ IDEA人家提供的组,我们可以自己来添加一个组,再在我们自己的组里面定义咱们自己的模板。

那如何来添加一个组呢?首先进入到Editor > Live Templates界面中,然后点击+号,这时就会弹出一个下拉列表了,如下图所示。

在这里插入图片描述

接着,点击以上下拉列表中的第二个选项,即2.Template Group...,这时就会弹出如下这样一个对话框了,这是在告诉我们添加一个模板组,不妨这儿就将新添加的模板组取名为custom,如下图所示。

在这里插入图片描述

紧接着,点击OK按钮。这时,你就能看到新添加的custom模板组了,如下图所示。

在这里插入图片描述

接下来,我们就要在以上custom模板组中去添加我们自己的模板了。

现在我想要定义一个test模板,定义好了之后,只要我在类中写上test这样几个字符然后一回车,就能调出如下这样的代码片段,即生成测试方法。

public void test() {
}

OK,那怎么定义这样的一个test模板呢?首先,选中刚刚新添加的custom模板组并点击+号,然后在弹出的下拉列表中选中第一项,即1.Live Template,如下图所示。

在这里插入图片描述

这时,你就可以自定义你自己的模板了,如下图所示。

在这里插入图片描述

  • 标注1:模板的缩略名称
  • 标注2:模板的描述
  • 标注3:模板的代码片段

可以看到我们将test模板生成的代码片段写成了下面这样,这也就是说,当我们写完test这几个字符一回车,调出这样一个代码片段之后,光标会首先落在$VAR1$位置上,写完测试方法的具体名称之后,再一回车,光标就会落在$VAR2$位置上了。

public void test$VAR1$() {
$VAR2$}

这样是不是就完了呢?不是的,我们还得指明以上test模板的应用范围。看到Editor > Live Templates界面底部的Define没有,点一下它,这时会弹出一个框框,如下图所示。

在这里插入图片描述

哇哦😀,好多选项可以供我们来选择哟,不过在这儿我们勾选中的是Java这一项,这意味着test模板是要应用在咱们的Java程序当中。后续你要是定义了一个前端JavaScript开发的模板或者数据库开发的模板,当然是你用得着的话,那么你就可以将其应用在JavaScript and TypeScript或者SQL这种范围内了。

在这里插入图片描述

最后,点击OK按钮,test模板就定义好了。下面,我们还不快快看一下使用该模板之后的效果,你是不是有点等不及了呢?

在实际开发中,当某一个模块的增删改查操作写完之后,咱们是不是得来测试一下啊?这时,就可以使用咱们自己定义的test模板了,比如我现在对修改操作做一个测试,效果如下。

在这里插入图片描述

以上就是我们自己定义的一个模板,还好使吧😊。下面,我们再来自定义几个模板,多练练手还是有好处的。

我们在类中定义私有的变量时,它们不一定是静态的全局常量,而极有可能是私有的int型变量或者私有的String型变量,很显然这时候是不适合使用psfi以及psfs这两模板的。

现在我想要定义一个pric模板,定义好了之后,只要我在类中写上pric这样几个字符然后一回车,就能调出如下这样的代码片段。

/** *  */private int  = ;

这样,我们就能在JavaBean中很方便地来声明一个私有的int型变量了,即声明一个属性。

这里,咱们还是先来说说为什么会将该模板命名为pric吧!我们都知道prsf模板中的pr代表的是private,psf模板中的p代表的是public,所以,这儿也不另外,pric模板中的pr代表的就是private。想必大家也都猜到了,pric模板中的i代表的就是int,这个很容易被猜到,那pric模板中的c代表的又是什么呢?其实,c就是单词comment(注释)的首字母,也就是说当我们在某一个JavaBean中声明完一个属性之后,有必要对该属性做一个注释,即指明该属性到底代表的是什么。

回到主题,那怎么定义这样的一个pric模板呢?首先,进入到Editor > Live Templates界面中,并选中刚刚咱们新添加的custom模板组,然后点击+号,并在弹出的下拉列表中选中第一项,即1.Live Template,如下图所示。

在这里插入图片描述

这时,你就可以自定义你自己的模板了,如下图所示。

在这里插入图片描述

可以看到我们将pric模板生成的代码片段写成了下面这样,这也就是说,当我们写完pric这几个字符一回车,调出这样一个代码片段之后,光标会首先落在$VAR1$位置上,写完(文档)注释之后,再一回车,光标就会落在$VAR2$位置上,写完一个变量之后,再再一回车,光标就会落在$VAR3$位置上,为变量赋好值之后,再再再一回车,光标就会落在$END$位置上了。

/** * $VAR1$ */private int $VAR2$ = $VAR3$;$END$

最后,记得还要指明以上pric模板的应用范围哟😊,至于如何指明,我上面也已经说得很清楚了,在此不再过多赘述。

pric模板定义好之后,我们来看一下它的使用效果,如下所示。

在这里插入图片描述

其实,以上客户的id属性写在Customer类里面会更好,只不过这里为了统一地来演示,我就写在了TemplatesTest1类里面了。

如果你只是想声明一个属性,而不想为其赋值,那么你也可以修改一下以上pric模板,不妨修改成下面这样。

在这里插入图片描述

此时,你会发现pric模板的使用效果就是下面这个样子的了。

在这里插入图片描述

现在我还想要定义一个prsc模板,定义好了之后,只要我在类中写上prsc这样几个字符然后一回车,就能调出如下这样的代码片段。

/** *  */private String ;

这样,我们就能在JavaBean中很方便地来声明一个私有的String型变量了,即声明一个属性。

那怎么定义这样的一个prsc模板呢?首先,进入到Editor > Live Templates界面中,并选中刚刚咱们新添加的custom模板组,然后点击+号,并在弹出的下拉列表中选中第一项,即1.Live Template,如下图所示。

在这里插入图片描述

这时,你就可以自定义你自己的模板了,如下图所示。

在这里插入图片描述

可以看到我们将prsc模板生成的代码片段写成了下面这样,这也就是说,当我们写完prsc这几个字符一回车,调出这样一个代码片段之后,光标会首先落在$VAR1$位置上,写完(文档)注释之后,再一回车,光标就会落在$VAR2$位置上,写完一个变量之后,再再一回车,光标就会落在$END$位置上了。

/** * $VAR1$ */private String $VAR2$;$END$

要写出以上这样的结构,其实并不是特别困难,只要大家照着我这个去写,就能够慢慢熟悉它里面的一些指令了。

最后,记得还要指明以上prsc模板的应用范围哟😊,至于如何指明,我上面也已经说得很清楚了,在此不再过多赘述。

prsc模板定义好之后,我们来看一下它的使用效果,如下所示。

在这里插入图片描述

总结

至此,大家就可以根据自己的需要去定义相关的一些模板了。但通常情况下,也就这样了,你要定义,也就是像我这样来定义了。很多时候,我们都会需要在JavaBean中声明私有的int型变量或者String型变量,你要说还有其他类型,那也没错,只不过咱们平时声明比较多的是int和String这两类型的变量,因此,以上我们自定义的pricprsc这两模板就已经够用了,犯不着再去定义能生成更多类型的模板。

就拿IntelliJ IDEA原生给我们提供的psfipsfs这两模板来说,它们也只是帮我们生成了一个int型或者String型的全局常量,你可曾看到过能帮我们生成其他类型(例如Long型)的模板?没有吧!是不是。

经过前一篇文章和本篇文章的详细讲解,我就给大家把模板彻底介绍清楚了,模板应该算是IntelliJ IDEA当中比较有特色的一个结构,熟悉一些常用的模板或者自定义所需的一些模板,能够加快大家编写代码的效率。

转载地址:https://liayun.blog.csdn.net/article/details/115492887 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:IntelliJ IDEA快速入门 | 第三十一篇:在IntelliJ IDEA 2020.3.3中添加Tomcat镜像并部署Web工程
下一篇:IntelliJ IDEA快速入门 | 第二十九篇:你应该知道的那些常用模板

发表评论

最新留言

很好
[***.229.124.182]2024年04月10日 07时48分54秒