实时代码模板的使用
2016-08-04 00:34
218 查看
实时代码模板的介绍
上图 Gif 演示为最好的介绍
Live Templates。
实时代码模板需要字符串前缀,如 Gif 演示中,在输入
sys后生成一段输出语句,其中
sys前缀是我自己设置的。
实时代码模板支持变量参数设置,如 Gif 演示中,在输入
temp1的时候,后面自动也生成了一个
temp1,这是因为两者的变量名是一致的,所以我设置了一个变量值内容之后,相同变量值的内容也会跟着出现。
实时代码模板支持最后位置的定位,如 Gif 演示中,在输入完
temp1之后,按
Enter后自动跳转到语句末。虽然默认没有设置的时候也是在这个位置,但是我是通过设置来定位到此位置的。
实时代码模板支持获取当前类名和当前方法名(本质是内置函数),如 Gif 演示中,在输入完
sys生成输出语句中自动带有当前类名和方法名。
综上效果:实时代码模板只是为了让我们更加高效的写一些固定模式的代码,以提高编码效率,同时也可以增加个性化。比如 Gif 演示中,我在开发中如果需要写输出的话,我个人习惯输出语句中前缀是自己的标记:横线和域名,以区分其他人输出,方便做全文搜索。
官网介绍
Live Templates:https://www.jetbrains.com/idea/help/live-templates.html
如上图标注所示,实时代码模板本质是用 XML 文件来保存的,所以传播自己的实时代码模板只要传播对应的文件即可。
IntelliJ IDEA 的实时代码模板保存在
/templates目录下,其他系统目录位置如下:(因为目录名在各个系统上是一致的,建议用硬盘搜索工具搜索即可)
Windows: .\config\templates
Linux: ~/./config/templates
OS X: ~/Library/Preferences//templates
调用常规的实时代码模板主要是通过两个快捷键:
Tab和
Ctrl + J。虽然 IntelliJ IDEA 支持修改此对应的快捷键,但是默认大家都是这样使用的,所以没有特别愿意就不要去改。
该两个快捷键的使用方法:如第一张 Gif 演示图所示,在输入
sys后按
Tab键,即立即生成预设语句。如果按
Ctrl + J则会先提示与之匹配的实时代码模板介绍,然后还需按
Enter才可完成预设语句的生成。
自带变量参数介绍
在文章开头我们已经有提到 IntelliJ IDEA 实时代码模板是有变量参数设置的,其中 IntelliJ IDEA 自带了两个变量参数:$END$,表示最后都编辑完后光标所处的位置
$SELECTION$,表示设置环绕实时代码模板,环绕功能下面会模板专门进行介绍。
除了上面两个变量参数外,其他一律都会自定义变量。
官网介绍:https://www.jetbrains.com/idea/help/live-template-variables.html
$END$indicates the position of the cursor after the template is expanded.
$SELECTION$is used in surround templates and stands for the code fragment to be wrapped.
实时代码模板的设置
如上图标注 1 所示,除了 IntelliJ IDEA 预设的模板之外,我们还可以创建新组和新实时代码模板,其中组是用来包含实时代码模板的。
如上图标注 2 所示,
output是组名,告诉开发者,这组里面实时代码模板都是用来做输出的。
serr表示实时代码模板输出
System.err的简称,所以这个不是一个完整的单词,不需要读懂,只需要记忆。
如上图标注 3 所示,实时代码模板的内容,其中用到了预设的变量
$END$。
如上图标注 4 所示,可设置该实时代码模板的试用范围,比如图上的
serr这是 Java 代码,所以试用范围我们就应该只是 Java 文件上或是 JSP 这类文件上,设置在 HTML 或是 CSS 文件上就完全没有多大意义了。
如上图标注 5 所示,勾选了辅助的功能:
Reformat according to style对生成的代码进行格式化。
Shorten FQ names关于此设置的说明我没有找到,所以暂时无法给个很少的解释,只是看到材料说明一般需要勾上此设置,如果您有好的答案,还请联系我。
如上图标注 1 所示,我们可以对实时代码模板进行组的转移。
变量参数和函数的介绍
如文章开头演示的 Gif 实时代码模板,其实时代码模板内容为:System.out.println("-----------YouMeek.com-----------$VAR1$值=" + $VAR1$ + "," + "当前类=$CLASS_NAME$.$METHOD_NAME$()");$END$
$VAR1$、
$CLASS_NAME$、
$METHOD_NAME$都为自己定义的变量名。设置变量名只要用两个
$包住即可。
每个变量在代码输出的时候都是一次光标位置,光标跳动顺序从左到右,每次跳动按
Enter。
如上图标注红圈所示,可以对编辑代码内容的变量。
如上图标注 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 演示,环绕模板的前提是:选中要被环绕的内容。
在设置实时代码模板的时候,如果含有预设的变量
$SELECTION$则该实时代码模板是环绕模板。
该功能对于前端开发者来讲是非常方便的,默认 IntelliJ IDEA 已经自带了 HTML 标签的环绕功能。
相关文章推荐
- C#分析数据库结构,使用XSL模板自动生成代码
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- C#分析数据库结构,使用XSL模板自动生成代码
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- 代码模板的使用
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- C#分析数据库结构,使用XSL模板自动生成代码
- C#分析数据库结构,使用XSL模板自动生成代码
- C#分析数据库结构,使用XSL模板自动生成代码(二)
- ASP使用FSO读取模板的代码
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- C#分析数据库结构,使用XSL模板自动生成代码(一)
- 市面上所有号称"虚拟机","防火墙"的实时监控杀毒软件无一不是使用的IFSHOOK技术.但是同时也有一些朋友不断写MAIL给我打听如何实现读写的监控.下面给出用VTOOLSD写的代码.也就是所有实时杀毒软件的奥秘.同时,很多拦截文件操作的软件,例如对目录加
- [导入]C#分析数据库结构,使用XSL模板自动生成代码
- ASP使用FSO读取模板的代码
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计
- 使用C++模板和不使用C++模板两种情况中的执行代码大小近似估计