IntelliJ IDEA使用教程(动图详解):实时代码模板的使用
实时代码模板的使用
实时代码模板的介绍
- 上图 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:
C:\Users\youmeek\.IntelliJIdea2017.2\config
- Linux:
~/.<product name><version number>/config/templates
- OS X:
~/Library/Preferences/IdeaIC2017.2/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
表示缩写类的全称限定名。这个一般需要勾选,帮助你把模板里的全称限定名对应的类 import,然后使用的地方改成缩写。
- 如上图标注 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 标签的环绕功能。
IntelliJ IDEA使用教程(动图详解):实时代码模板的使用相关推荐
- python 制作gif-利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- (动图详解)汇编视角观察函数栈帧的创建和销毁
目录 1.阅读本文的价值 2.函数栈帧及栈的概念 3.部分寄存器及汇编指令 4.main函数的调用 5.main函数的栈帧创建 6.变量的栈帧创建 6.函数传参 7.函数内部运算及销毁 ...
- 制作gif动图python_利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- python画动图-利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- pythongif字符动图,利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- python画动态图-利用Python如何制作好玩的GIF动图详解
前言 之前我们分享过用Python进行可视化的9种常见方式.其实我们还能让可视化图形逼格更高一些,今天就分享一下如何让可视化秀起来:用Python和matplotlib制作GIF图表. 假如电脑上没有 ...
- 二叉树广度优先搜索、深度优先搜索(前序、中序、后序)遍历,动图详解-Java/Kotlin双版本代码
自古逢秋悲寂寥,我言秋日胜春朝 二叉树结构说明 本博客使用树节点结构,如下所示: Kotlin 版本 class TreeNode(var value: String, var leftNode: T ...
- 【数据结构】动图详解二叉树——堆及堆排序
目录 一.树的概念 1.树的特征 2.树的相关名词 二.树的表示方法 1.左孩子右兄弟表示法 2.双亲表示法 三.特殊二叉树 四.堆的向上调整算法建堆及排序 1.向上调整建堆O(N*logN) 2.向 ...
- IntelliJ IDEA使用教程(动图详解):Ubuntu 系统下安装 IntelliJ IDEA
Ubuntu 系统下安装 IntelliJ IDEA 系统要求 系统支持:只要是支持 GNOME 或 KDE 桌面系统,建议是 Ubuntu(32位和64位都可以) JDK 版本:Oracle JDK ...
最新文章
- PCA(Principal Component Analysis)的原理、算法步骤和实现。
- Kataspace:用HTML5和WebGL创建基于浏览器的虚拟世界
- Fastadmin笔记
- 阿里云数据库产品HybridDB简介——OLAP数据库,支持行列混合存储,为用户提供基于开源 OLTP、OLAP、BigData 生态的一站式解决方案...
- Jlink无法识别CPU/lpc2103/lpc2131
- python数据可视化的特点_Python数据可视化, 看这一篇就够了
- php phpanalysis2.0,使用phpAnalysis打造PHP应用非侵入式性能分析器
- DB2 pureScale在线备份恢复实例1
- GitLab 服务器的迁移以及注意点
- python 中split函数的应用_举例详解Python中的split()函数的使用方法
- 文本生成系列之transformer结构扩展(二)
- a标签增加onclick事件提示未定义function
- jvm 内存溢出 Java heap space 调优解决过程
- cad卸载不干净_一款极其好用的卸载神器:Geek Uninstaller,再也不怕软件卸载不干净!...
- android镜子app,Android镜子应用 一面可编程的镜子
- 优秀的程序员真的不写注释吗?
- 深圳哈工大计算机系的课表,学在哈深|哈工大(深圳)学子课表大比拼,今天你满课了吗?...
- Python之django框架模型(models)详解
- [易飞]取消库位规格书
- 单片机性能测试基准CoreMark是什么
热门文章
- 日记(docker)
- linux 下使用isign 签名ipa包
- Hack The Box - Meta 利用Exiftool远程代码执行漏洞获取webshell,ImageMagrick命令执行漏洞横向提权,更改环境配置SUDO纵向提权
- layui表格点击按钮下方新增加空白行
- go build在mac系统下生成可执行文件时隐藏终端
- 6.Servlet、JSP总结
- 思科设备三层交换配置路由实现互通
- EXCEL基础:数据透视表(按年龄分组统计与统计各部门的工资情况)
- MFC技术内幕系列之(一)---MFC应用程序“生死因果”内幕
- 计算机无法显示移动硬盘,电脑不显示移动硬盘怎么办 检测不到移动硬盘的原因...