使用IntelliJ IDEA的小技巧快乐编程(2)
前言
本篇介绍的技巧为IntelliJ IDEA中自动代码生成相关的技巧,合理的使用这些技巧将大大提高的你的编码效率 :)
Trick 6. 使用模板代码
idea默认的提供了许多模板代码,你可以使用ctrl + j来进行查看,或者使用T1.命令查找 insert Live Template,或者使用T3.设置你自己喜欢的快捷键

左边的是模板代码触发键,使用tab即可触发,如图

内置的模板代码看似很多,其实大部分都不会用到,比较常用的一些如下
| 触发词 | 含义 |
|---|---|
| psvm | main 方法 |
| sout | System.out.println() |
| souf | System.out.printf() |
| fori | 创建一个正循环 |
| ifn | 创建一个if(something == null)的代码块 |
| fixme | 在光标处增加fix标记 |
| todo | 在光标处增加todo标记 |
Trick 7. 自定义模板代码
系统提供的模板代码代码固然不错,但其实还是不够用,没关系,IntelliJ IDEA 支持自定义模板代码。
使用T1.命令搜索Live templates 进入编辑页面,具体编辑细节如下图

利用自定义模板的技巧你就可以自己定义自己常用的代码块了,例如下图自定义了一个打印出map里键值对的代码块,将自己经常写到的代码进行模板化整理,可以有效提升自己的编码效率 :)

Trick 8. 使用后缀表达式生成代码
不知道大家平时有没有遇到这样的情况,例如你正在编写一段链式的代码或者变量,写着写着这时候发现这个变量要进行打印/空值判断/各类对变量的操作,这时候会怎么做呢?将这样一段的链式代码选中剪切,然后sout,再接着粘贴?这样的操作很显然是令人不愉快的,同时也不符合正常人的思维,试想这时候如果我直接.sout该多好啊!是的,这时候你确实该这么做,这就是idea的后缀表达式。

如上图所示,虽然上图的代码没有什么意义,编译也没法通过(事实上就是我乱写的),可这一连串的包装操作极其流畅,都是通过后缀表达式来完成的,再也没有复制粘贴了:) 显然这样的编码方式是让人感觉十分愉悦的。
Trick 9. 自定义后缀表达式
和T7.类似,我们也可以定义自己的后缀表达式,使用T1.命令搜索postfix completion即可进入自定义后缀表达式的设置(该功能为idea 2018.1以及之后的版本才提供),设置界面如图所示

例如上图中的示例,我设置了一个对象转json字符串的后缀表达式,适用类型为所有类型,触发关键字是.json,这样每次想要转成json字符串的时候就方便许多。如图

上面提到这项功能是idea2018.1后的版本集成进来的,如果你的版本低于这个版本也想要这个功能,可以使用T2.搜索插件Custom postfix Templates 或者点击这里是github的链接,进行下载,下载之后t1.命令搜索 custom postfix 就可以进入设置页面,具体编辑方法的可以查看github链接中的readme,和上文idea集成进来的大同小异。
10. 利用alt+insert插入代码
在T1.命令搜索中搜索Generate 或者在页面中按下默认快捷键alt+insert可以自动的生成一些代码,包括常见的getset 构造器 hascode & equals spring自动注入 版权信息 等等

另外值得一提的,这样的自动生成代码同样支持自定义一些模板(使用velocitydsl进行编写),例如链式调用的setter方法,不同风格的toString&equals&hashcode方法,但是因为运用的情况并不多,这里就简而略过,有兴趣的同学可以自行搜索。

使用IntelliJ IDEA的小技巧快乐编程(2)的更多相关文章
- 使用IntelliJ IDEA的小技巧快乐编程(1)
前言 我很喜欢和别人讨论一些问题,有时候,在公司里,讨论这样的问题需要演示代码.常常会碰到的一种情况是(根据我的记忆这半年多来至少超过了10次),别人会打断你的演示,抛出一个问题:等等,你刚才的操作是 ...
- 学会这些 pycharm 编程小技巧,编程效率提升 10 倍
PyCharm 是一款非常强大的编写 python 代码的工具.掌握一些小技巧能成倍的提升写代码的效率,本篇介绍几个经常使用的小技巧. 一.分屏展示 当你想同时看到多个文件的时候: 1.右击标签页: ...
- IntelliJ IDEA使用小技巧
1:设置类,接口,枚举注解模板 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NA ...
- Intellij IDEA神器那些让人爱不释手的小技巧
完整的IDEA使用教程,GitHub地址: https://github.com/judasn/IntelliJ-IDEA-Tutorial 概述 之前写了一篇介绍IntellIJ IDEA的文章 ...
- IDEA Intellij中vim插件使用小技巧
在 IDEA Intellij小技巧和插件 一文中简单介绍了一下IdeaVim插件.在这里详细总结一下这个插件在日常编程中的一些常用小技巧.供有兴趣使用这个插件,但对Vim还不十分熟悉的朋友参考.当然 ...
- Shellcode编程小技巧
工作需要,需要注入其他程序监控一些东西,检测到的数据通过WM_COPY 消息发送给显示窗体.(大体是这样的还没定稿) ##1 选择一个框架 ## tombkeeper/Shellcode_Templa ...
- Intellij IDEA神器居然还有这些小技巧
概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intel ...
- Intellij IDEA神器值得收藏的小技巧
概述 Intellij IDEA真是越用越觉得它强大,它总是在我们写代码的时候,不时给我们来个小惊喜.出于对Intellij IDEA的喜爱,我决定写一个与其相关的专栏或者系列,把一些好用的Intel ...
- Intellij IDEA神器居然还有这些小技巧---超级好用的
Intellij IDEA神器居然还有这些小技巧----https://my.oschina.net/samgege/blog/1808622?p=8
随机推荐
- 安卓仿QQ红包领取详情界面动画
为了能清楚的看到这个效果,本人不惜几次花费重金给众群叼发放红包,来查看红包领取详情界面的动画效果,QQ效果如图: 图中我们可以看到,动画处的头像和文字是一起的,即同时并且是整体,注意,是整体进行缩放的 ...
- Ext JS 6开发实例(一)
很久没写文章了,主要原因和大家差不多,都要为生活奔忙,搞了两个小项目.这两个小项目很凑巧,都可以使用Ext JS来开发,这正是练习使用Ext JS 6的好机会,自然不会错过. 很多读者可能会问,为什么 ...
- (一〇四)使用Xcode6创建framework动态静态库
在Xcode6以前,创建framework可以使用iOS-Universal-Framework模板来创建framework,现在苹果已经提供了模板,如下图选择: 使用此模版创建的默认是动态库,方法和 ...
- UNIX网络编程——使用select函数的TCP和UDP回射服务器程序
服务器程序: #include <sys/wait.h> #include <string.h> #include <string.h> #include < ...
- Android 导入v7包常见错误,以及项目引用v7包错误解决
android下v4 v7 v21等包是android系统的扩展支持包,就想windows的系统补丁一个道理. android的扩展包主要是用来兼容低版本的,比如android3.0以后出现 ...
- Intent的Component,Action和Category属性详解-android学习之旅(五十)
Component属性 代码示例 public class MainActivity extends Activity{ @Override protected void onCreate(Bundl ...
- golang:高性能消息队列moonmq的简单使用
在上一篇moonmq的介绍中(这里),我仅仅简短的罗列了一些moonmq的设计想法,但是对于如何使用并没有详细说明,公司同事无法很好的使用. 对于moonmq的使用,其实很简单,样例代码在这里,我们只 ...
- 从JDK源码角度看线程池原理
"池"技术对我们来说是非常熟悉的一个概念,它的引入是为了在某些场景下提高系统某些关键节点性能,最典型的例子就是数据库连接池,JDBC是一种服务供应接口(SPI),具体的数据库连接实 ...
- Uva - 506 - System Dependencies
模拟题,注意显示安装和隐式安装,显示安装的必须显示显示删除.把名字转化为整数维护.其他注意都注释了.输入稍微多一下,题目不是很麻烦. AC代码: #include <iostream> # ...
- 【翻译】如何创建Ext JS暗黑主题之一
原文:How to Create a Dark Ext JS Theme– Part 1 概述 我是不是都要演示我的Spotifinder Ext JS应用程序.它是一个很酷的应用程序,可连接到Las ...