玩转 PhpStorm 系列(五):灵活使用代码模板功能提高编码效率

在 PhpStorm 中,我们可以通过代码模板功能快速生成初始化代码,提高编码效率。代码模板分为两种,一种是文件代码模板,一种是代码代码片段模版。

我们先来看文件代码模板。

文件代码模版

通过 Command + Shift + A 调出 Action 导航界面,在输入框输入 templates,在下拉列表中选中「File and Code Templates」:

-w830

进入文件代码模板界面,在这里我们可以看到 PhpStorm 内置支持的所有语言/框架的代码模板:

-w1114

当我们通过 Command + Up 选择指定目录再通过 Command + N 创建新文件时,对应的文件初始化代码模板就定义在上图的 File and Code Templates -> Files 列表中:

-w469

以新建 PHP Class 文件为例,对应的类文件初始化代码模板是:

<?php
#parse("PHP File Header.php")

#if (${NAMESPACE})

namespace ${NAMESPACE};

#end

class ${NAME} {

}

第一行代码表示 PHP 脚本标签,第二行代码用于引入 PHP 文件头 PHP File Header.php,对应的模板代码在 Includes 标签页下:

-w797

目前这里为空。

我们继续回到 PHP Class 代码模版,如果在创建新的类文件时指定了命名空间,则声明对应的命名空间。

最后,用 PHP 类名填充 class ${NAME} 中的 ${NAME},完成 PHP 类文件的模板代码生成。

其他文件代码模板原理也是一样,可以自行查看。

另外,我们可以对 PhpStorm 自带的文件代码模板进行修改,也可以新增自定义的文件代码模板:

-w923

代码片段模版

文件代码模板用于在创建文件时初始化对应语言/框架的代码骨架,此外,PhpStorm 还支持通过 Live Templates 功能在编写具体业务代码时快速生成模板代码,比如控制结构、异常捕获、函数骨架、Vue 组件模块等。Live Templates 就在 File and Code Templates 选项下面:

-w1427

比如,我们可以通过 pubf 快速生成 public function 函数模板代码,在某个 PHP 类里面输入 pubf,然后点击 Tab 键(或者在键入的地方选择下拉框中第一个列出的代码提示),即可生成对应的代码函数代码:

-w725

和文件代码一样,你也可以对自带的 Live Templates 模板进行修改,或者新增自定义的代码模版,我们以一个前端表单输入框为例进行演示。

自定义 Live Template 示例

你可以先新建一个 Template Group:

-w1125

然后在其中新建一个 Live Template:

-w1129

将其命名为 textfield,并在下面的输入框中编写对应的模板代码:

-w1119

我们在模板代码中定义了一些变量(通过 $...$ 定义),以便为不同的文本输入框定义对应的属性和文本。

这里 NAME 变量通过前端输入来填充,LABEL 变量则根据 NAME 生成,点击「Edit variables」编辑变量:

-w671

LABEL 变量应用 capitalize(String) 函数,并设置字符串参数为 NAME,表示将 NAME 变量值首字母大写为 LABEL 变量赋值:

-w661

点击 OK 保存。应用 textfield 更改,在代码编辑器中选取一个表单片段,尝试输入 textfield,然后点击 Tab 键自动生成对应 Input 输入框模板代码:

-w615

在红色光标处输入 name,可以看到其他变量位置都会自动填充对应的字符串:

-w686

是不是很方便?

自动生成方法模版

除了 Live Templates 功能,在面向对象编程中,还可以通过 Generate 功能快速生成类方法,你可以在某个类中通过右键 -> Generate... 弹出方法模板界面(或者通过快捷键 Command + N):

-w675

-w231

你可以选择重写父类方法,实现接口方法/抽象函数,生成对应测试类、构造函数、Getters/Setters 方法以及文档注释块等,这里就不一一演示了,按照向导操作即可,非常简单。

在日常使用 PhpStorm 进行编码的过程中,灵活创建和定义代码模板可以极大提高编码效率。

(全文完)

本系列教程会录制视频演示并发布到学院君微信视频号,欢迎扫码关注:

学院君视频号

上一篇: 玩转 PhpStorm 系列(四):快捷键预览、切换和自定义

下一篇: 玩转 PhpStorm 系列(六):通过代码重构提高代码复用性