IntelliJ IDEA 2018.1正式发布!什么?还能这么玩?
工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试?
本文转载自:netty技术内幕
3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再次让人眼前一亮:什么,还能这么玩?
下面,我们来快速了解一下 IDEA 2018.1 最新版本给我们带来哪些惊喜
1. stream代码自动生成更智能
2. while循环优化
3. 优化多余的资源关闭操作
4. 字符串数组自动排序
5. 拷贝构造函数完整性提示
myFileFilter
和 myForcedToUseIdeaFileChooser
这两个属性,IDEA会给你智能提示,让你修改。
6. postfix支持自定义模板
postfix可以说是IDEA里面最有特色的一大功能,和live template并驾齐驱,完成一些非常快速的操作,关于这两个强大的功能可以翻到文末我之前录制的视频课程,这里不过多介绍。在这之前,我一直觉得postfix比不上live template,是因为他不支持自定义模板,一直想不通为什么jetbrain不开发这个功能来提高postfix的地位,没想到2018.1终于实现了自定义模板。
.do
这个postfix,我们在敲了一个表达式之后,唤出 .do
这个postfix,IDEA自动送你一个do while循环,并且随后光标自动跳转到你接下来需要书写逻辑的地方,棒不棒?
7. 自定义类生成文件名前后缀
你创建好一个接口之后,直接在接口名处按下alt+enter,动一动上下键,一路按回车,可以给你自动生成这个接口的实现,默认后缀为Impl
你要对当前类写个UT,直接在当前类下按下cmd+shift+t,一路按回车,动一动上下键,空格键,可以给你自动生成这个类的UT,默认后缀为Test
之前这个默认值在IDEA中是不能修改的,新版本不仅可以修改这个默认后缀,甚至连默认前缀也可以修改,自由度更高,可以让自动生成的类更加贴合你的代码风格
8. debug异常模拟
9. 断点栈轨迹
在阅读netty源码的过程中,我最喜欢的功能就是使用IDEA的调用栈迅速了解某段代码执行的上下文环境,调用栈被挂起之后,只需要动一动上下方向键,就可以快速熟悉这段代码的执行路径。
10. 更强大的全局文本替换
xxController
文件替换成 xxProducer
,直接上两段正则表达式就可以迅速完成,并且在窗口下方实时预览修改后的效果。
11. SpringBoot整合进一步优化
IDEA和Spring的整合可以说是天衣无缝,Spring IOC和AOP的特性在IDEA中得到了充分的可视化体现,无比强大的关联功能让人叹为观止,详细可以翻到文末我录制的视频。
一种方式是直接发起调用,不用手动输入url,调用之后结果直接展示在控制台
另外一种调用方式更为强大,IDEA给你自动给你生成一个.http文件,这个文件里面,你可以自定义http请求的参数,url,并且每一次调用的结果都保存为一个文本文件,甚至可以进行调用结果的对比。
12. git部分提交与changelist
IDEA对git的可视化支持以及各种快速便捷的操作在代码冲突解除、开源代码历史版本追溯、code review发挥了强大的作用,你根本不需要第二个可视化版本控制工具。在IDEA的版本控制管理的概念里有一个changelist的术语,指的是,你可以把每一处更改扔到不同的变更集合里,提交代码的时候,你可以选择不同的变更集合进行提交,剩下的变更集合,变更还在,但是不会提交到仓库中。这个应用场景是,比如,你遇到一个新项目,想快速了解这个项目,你可以随意做修改,把这些修改扔到一个自定义的changelist中,而在真正完成task的时候(一般刚开始接触新项目,实现的需求都比较简单,几行代码搞定),把需求实现的变更集进行提交即可,之前的实验代码可以留在你的项目中,你可以进一步地做实验。
本次版本的更新,细粒度版本控制得到了进一步的增强,上面这幅图展示的是,你在提交代码的时候,窗口右半侧左边栏,每一处改动都会有一个单选框,如果你在code review的时候,不想提交某一处改动,只需要把前面的单选框取消勾选即可,这样,结果就是,代码还在本地项目中,但是不会提交到版本库。
13. git历史记录增强
在阅读netty源码的过程中,有的时候我会发现注释和代码逻辑牛头不对马嘴,于是,我使用了IDEA的git历史记录功能之后发现,原来这段注释是应用在很久之前的代码上的,老代码注释一直未删除,这也说明了你在阅读开源项目的时候,不要盲目相信权威,要多思考,要相信自己的判断。
14. 弹出式javadoc
15. Kubernetes支持
IDEA之所以如此优秀,是因为jetbrain一直会关注行业的最新动态,迅速实现对java生态圈中热门技术的整合。我记得当年Docker刚火起来的时候,IDEA就已经开始对Docker的整合了,并且在每个版本里面迅速迭代,目前IDEA对docker的支持已经做得非常出色了。
结束语
以上就是我对本次 IntelliJ IDEA 2018.1 版本更新的解读,如果你非常迫切想提升开发效率,提升代码质量,可以点击阅读原文跳转到我的IDEA系列课程(点到章节tab之后可以使用微信登录观看),免费,看完这个课程之后再来读这篇文章,可能会更容易理解。
最后,如果你想快速提高阅读源码效率,想快速解决你在学习netty过程中的任何问题,欢迎加入我的星球,我会在此不定期分享阅读源码的各类技巧,每个技巧均立竿见影
推荐阅读
长按指纹
一键关注
深入交流、更多福利
扫码加入我的知识星球
点击 “阅读原文” 看看本号其他精彩内容