Yii2开发神助手 - PhpStorm Live Templates功能全解析

阅读 356
收藏 2
2017-07-05
原文链接:t.cn

时间是有限的,手速是有限的,提高编码速度永远都是一个值得深究的话题。今天阿北给大家分享PhpStorm 的Live Templates,也许这是现在网上最全的一篇分享了,而且 ....

还有个视频 video,我就不信你学不会???

Live Templates是干嘛用的

我们常常遇到这样的情况,在编辑器里输入几个字,就会把函数名或类名补全,Live Templates和这个差不多,不过它能自定义,且替换的内容更为强大。

PhpStorm为我们准备了很多PHP的内置Live Templates,比如你可以输入fore就快速的输出foreach循环结构体等等。

在哪里找到Live Templates

通过PhpStorm的Preferences - Editor - Live Templates 可以轻松找到它~

alt

如何设置一个Live Templates

alt

如上图所示,我们点击Live Templates右上角的加号就可以方便的新建Live Templates。

  1. Abbreviation 代表我们设置的关键词,将来在编辑器里我们输入这个关键词可以调出对应的模板内容。
  2. Description(选填)解释该Live Templates
  3. Template text 具体的模板内容,支持变量(变量需要用$$包起来,例如$actionName$这样子)
  4. $END$ 一个特殊的变量,代表Live Templates执行结束,鼠标光标所在位置。

通过上面的设置,我们能轻松得到一个强大的Live Templates

alt alt

如上面两个图,我只是输入了yii2f,就得到了函数定义的代码体,且Live Templates会引导我完成对$actionName / $params / $viewFileName 的设置,我只需要一路回车,节省时间真的不是一点点。

But ???

这还不够,Live Templates还具有预处理变量的能力。

alt

如上图所示,我们可以对定义的Live Templates中的变量进行编辑。

alt

通过对变量表达式的选择,可以对设置的变量进行预处理,比如返回时间格式,返回时间戳,监听某个其他变量并且再处理作为此变量的值等等。

当然我们还可以为一个变量设置默认值

Live Templates 变量表达式列表

Live Templates强大之处就在于针对不同的语言内置了很多辅助的变量表达式,我们这里以PHP为例,对其标量表达式进行说明。

表达式名字 说明
camelCase(String) 返回字符串作为参数传递,转换为驼峰式大小写。例如, my-text-file/my text file/my_text_file将转化为 myTextFile.
capitalize(String) 第一个字母都要大写的名字作为参数传递。
capitalizeAndUnderscore(String) CamelCase内所有大写字母的名称作为参数传递,以及零件之间插入一个下划线。例如,如果字符串作为参数传递 FooBar,那么函数返回 FOO_BAR.
classNameComplete() 这个表达式的替代品 类名完成在变量的位置。
clipboard() 返回系统剪贴板的内容。
complete() 这个表达式替代变量的代码完成调用位置。
completeSmart() 这个表达式替代品的智能类型完成调用变量的位置。
concat(expressions...)
date() 返回当前系统日期的指定格式。
decapitalize(String) 替换这个名字的第一个字母与对应的小写字母作为参数传递。
enum(...) 用逗号分隔的枚举列表。
escapeString(String) 指定的字符串。
fileName() 返回文件名与扩展。
fileNameWithoutExtension() 返回没有扩展的文件名称。
firstWord(String) 返回字符串的第一个词作为参数传递。
lineNumber() 当前行号。
lowercaseAndDash(String) 破折号,返回小写分开的字符串作为参数传递。例如,字符串MyExampleName被转换为 my-example-name.
phpSuggestFunctionParameter() 根据上下文返回一个推荐的参数。
phpSuggestVariableName() 根据上下文返回一个推荐的变量名。
phpVar php变量
snakeCase(String)
spaceSeparated(String) 将驼峰命名法的参数String返回空格分隔形式,比如chinaPeople,则返回china people
time() 系统当前时间
timestamp() 系统当前时间戳
underscoresToCamelCase(String) 将String中的下划线转化成驼峰命名法返回,例如输入china_people,则返回chinaPeople
underscoresToSpaces(String) 将String中的下划线转化成空格返回,例如输入china_people,则返回china people
user() 返回系统当前用户名
评论