IntelliJ Live Template进阶使用
来源:互联网 发布:微信支付js接口文档 编辑:程序博客网 时间:2024/05/12 08:42
在《IntelliJ下使用Code/Live Template加快编码速度:程序员的工作不是写程序,而是写程序解决问题》中简单的介绍了为什么要使用Live Template,以及Live Template可以给我们带来怎样的好处,这篇博客将会介绍如何使用Live Template中的一些进阶功能。
学习Live Template:iter
回到第一篇博客的例子,java中的foreach语句:
这里的items这几个字是由IntelliJ自动帮你填入的,而不是手动敲进去的。咦?IntelliJ这么聪明。是的,而且,它让你先敲的是items,而不是item,这就越发显得聪明。
在制造一个自己的更智能的Live Template之前,我们非常有必要先学习一下foreach这个template是怎么实现的。
打开foreach对应的缩写iter,如下图所示:
第一个问题,如何调整编辑顺序。
打开IntelliJ中iter这个Live Template的定义,我们这里看到iter中有三个模板变量(template variables):ELEMENT_TYPE, VAR和ITERABLE_TYPE。那IntelliJ是怎么知道先让我们敲ITERABLE_TYPE的呢?
点击右边的“Edit Variables”按钮:
这个时候,我们可以看到,出现在第一个的是ITERABLE_TYPE,第二个是ELEMENT_TYPE,最后是VAR,这里的顺序就决定了他们的编辑顺序。左下角的箭头就可以调整他们的顺序。
第二个问题,IntelliJ如何智能的知道“items”?
也许暴露的太早了,这些“智能的工作”都是在“Edit Template Variables”这个Dialog中。看到Expression这一列,这就是用来自动生成代码的指令,它可以调用IntelliJ提供的一些列Functions,如suggestVariableName()这个就是IntelliJ根据上下文分析以后,提示的输入。这也就是为什么我们为什么会智能的得到“items”这个东西。因为IntellIj中提供给Expression使用的方法很多。这里就不挨个介绍了,可以查看文档:http://www.jetbrains.com/idea/webhelp/edit-template-variables-dialog.html#functions
我们看到还有Default value和Skip if defined这两个column,就不再做介绍了,可以自己学习一下。
- IntelliJ Live Template进阶使用
- intellij live template整理
- IntelliJ idea 中Live Template
- IntelliJ IDEA 设置 自己的live template
- idea live template简单使用
- Mac Intellij 13 自定义live template自动补全简写
- IntelliJ下使用Code/Live Template加快编码速度:程序员的工作不是写程序,而是写程序解决问题
- IntelliJ下使用Code/Live Template加快编码速度:程序员的工作不是写程序,而是写程序解决问题
- intellij之Live Templates 的使用
- IntelliJ IDEA进阶使用(1)
- IntelliJ IDEA 设置 自己的live template(设置自定义方法模板)
- Dynamic Template plug-in for Windows Live Writer使用
- android studio 使用Live Template添加自定义log
- 使用 IDEA 的 Live Template 实现自动提示代码功能
- 自定义Live Template Variables
- Live Template Abbreviation
- Live Template Variables
- 【Android Studio】Live Template
- linux驱动开发--导出内核符号
- 输入n和m,输出1-n之间能够被m整除的数的和.
- 多么痛的领悟!——我的2013拾遗总结
- Hibernate 参数设置一览表
- HTML的高级形式代码让我学习起来有点吃力
- IntelliJ Live Template进阶使用
- iframe子页面操作父页面
- Jsp/HTML input乱赋值问题
- 处理AL.exe文件找不到的问题
- AUPE学习第二章------UNIX标准化及实现1
- 要看的东西
- 帮警长统计血型
- #define screenWidth [UIScreen mainScreen].bounds.size.width
- sqlserver bcp