实时代码模板的使用

    • 如上图标注所示,实时代码模板本质是用 XML 文件来保存的,所以传播自己的实时代码模板只要传播对应的文件即可。
    • Windows: C:\Users\youmeek\.IntelliJIdea2017.2\config
    • Linux: ~/.<product name><version number>/config/templates
    • OS X: ~/Library/Preferences/IdeaIC2017.2/templates

    调用常规的实时代码模板主要是通过两个快捷键:TabCtrl + J。虽然 IntelliJ IDEA 支持修改此对应的快捷键,但是默认大家都是这样使用的,所以没有特别原因就不要去改。

    在文章开头我们已经有提到 IntelliJ IDEA 实时代码模板是有变量参数设置的,其中 IntelliJ IDEA 自带了两个变量参数:

    • $END$,表示最后都编辑完后光标所处的位置
    • $SELECTION$,表示设置环绕实时代码模板,环绕功能下面会模板专门进行介绍。
    • 除了上面两个变量参数外,其他一律都会自定义变量。
    • 官网介绍:

    实时代码模板的设置

    • 如上图标注 1 所示,除了 IntelliJ IDEA 预设的模板之外,我们还可以创建新组和新实时代码模板,其中组是用来包含实时代码模板的。
    • 如上图标注 2 所示,output 是组名,告诉开发者,这组里面实时代码模板都是用来做输出的。serr 表示实时代码模板输出 System.err 的简称,所以这个不是一个完整的单词,不需要读懂,只需要记忆。
    • 如上图标注 3 所示,实时代码模板的内容,其中用到了预设的变量 $END$
    • 如上图标注 4 所示,可设置该实时代码模板的试用范围,比如图上的 serr 这是 Java 代码,所以试用范围我们就应该只是 Java 文件上或是 JSP 这类文件上,设置在 HTML 或是 CSS 文件上就完全没有多大意义了。
    • Reformat according to style 对生成的代码进行格式化。
    • Shorten FQ names 表示缩写类的全称限定名。这个一般需要勾选,帮助你把模板里的全称限定名对应的类 import,然后使用的地方改成缩写。
    • 如上图标注 1 所示,我们可以对实时代码模板进行组的转移。

    如文章开头演示的 Gif 实时代码模板,其实时代码模板内容为:

    • 如上图标注红圈所示,可以对编辑代码内容的变量。
    • 如上图标注 1 所示,演示中变量名 $CLASS_NAME$$METHOD_NAME$ 会自动输出当前类名和方法名是因为使用对应的函数 className()methodName()
    • 如上图标注 2 所示,如上面介绍的,每个变量都是一次光标位置,但是演示中变量名 $CLASS_NAME$$METHOD_NAME$ 没有进入,是因为勾选了 Skip if defined
    • 如上图标注 3 所示,可以改变变量光标跳转时的顺序。
    • 内置函数介绍:https://www.jetbrains.com/idea/help/live-template-variables.html
    • 对于官网这些函数这里就不在累赘,官网有详细的介绍,如果你还看不懂,可以看 IntelliJ IDEA 已经预设各个实时代码模板,基本上常用的函数都有被引用过,你可以通过学习这些预设的实时代码模板来揣测其函数的用法。
    • 上图 Gif 演示为最好的介绍 surround templates
    • 如上图 Gif 演示,环绕模板的前提是:选中要被环绕的内容。
    • 该功能对于前端开发者来讲是非常方便的,默认 IntelliJ IDEA 已经自带了 HTML 标签的环绕功能。