博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用IntelliJ IDEA的小技巧快乐编程(2)
阅读量:5374 次
发布时间:2019-06-15

本文共 1580 字,大约阅读时间需要 5 分钟。

前言

本篇介绍的技巧为IntelliJ IDEA中自动代码生成相关的技巧,合理的使用这些技巧将大大提高的你的编码效率 :)

Trick 6. 使用模板代码

idea默认的提供了许多模板代码,你可以使用ctrl + j来进行查看,或者使用T1.命令查找 insert Live Template,或者使用T3.设置你自己喜欢的快捷键

1132218-20180505111908863-1874847900.png

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

1132218-20180505111924370-1981010338.gif

内置的模板代码看似很多,其实大部分都不会用到,比较常用的一些如下

触发词 含义
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 进入编辑页面,具体编辑细节如下图
1132218-20180505111958720-1805696492.png

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

1132218-20180505112009031-247274679.gif

Trick 8. 使用后缀表达式生成代码

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

1132218-20180505112019487-606052301.gif

如上图所示,虽然上图的代码没有什么意义,编译也没法通过(事实上就是我乱写的),可这一连串的包装操作极其流畅,都是通过后缀表达式来完成的,再也没有复制粘贴了:) 显然这样的编码方式是让人感觉十分愉悦的。

Trick 9. 自定义后缀表达式

和T7.类似,我们也可以定义自己的后缀表达式,使用T1.命令搜索postfix completion即可进入自定义后缀表达式的设置(该功能为idea 2018.1以及之后的版本才提供),设置界面如图所示

1132218-20180505112037141-747036022.png

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

1132218-20180505112054651-721729046.gif

上面提到这项功能是idea2018.1后的版本集成进来的,如果你的版本低于这个版本也想要这个功能,可以使用T2.搜索插件Custom postfix Templates 或者点击,进行下载,下载之后t1.命令搜索 custom postfix 就可以进入设置页面,具体编辑方法的可以查看github链接中的readme,和上文idea集成进来的大同小异。

Trick 10. 利用alt+insert插入代码

在T1.命令搜索中搜索Generate 或者在页面中按下默认快捷键alt+insert可以自动的生成一些代码,包括常见的getset 构造器 hascode & equals spring自动注入 版权信息 等等

1132218-20180505112107883-1741054885.png

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

1132218-20180505112117182-1716782814.png

转载于:https://www.cnblogs.com/invoker-/p/8994157.html

你可能感兴趣的文章
vue双向数据绑定原理
查看>>
执行mysql语句报错 Illegal mix of collations……
查看>>
第三次
查看>>
CSS - 语法规则
查看>>
九度oj 1002 Grading 2011年浙江大学计算机及软件工程研究生机试真题
查看>>
GridView总结一:GridView自带分页及与DropDownList结合使用
查看>>
[bzoj3378][Usaco2004 Open]MooFest 狂欢节_树状数组
查看>>
redis-java基础操作
查看>>
2018.11.07 NOIP模拟 数独(模拟)
查看>>
grep -v
查看>>
Oracle——11g Express 安装与用户创建
查看>>
雅虎css重置
查看>>
Ubuntu16.04 无法连接WiFi
查看>>
【TCP/IP详解 卷一:协议】第十七章 TCP:传输控制协议
查看>>
论文摘记 2017.4.18-4.25
查看>>
从零开始学CSRF
查看>>
【测绘图槽】06 永不放弃励志短片
查看>>
IOS 开发中判断字符串是否为空字符的方法
查看>>
Oracle EBS AR 贷项通知单核销取值
查看>>
权限工作流平台系列-权限工作流版
查看>>