仰不愧天,俯不愧人,内不愧心。关注公众号【BAT的乌托邦】,有Spring技术栈、MyBatis、JVM、中间件等小而美的原创专栏供以免费学习。分享、成长,拒绝浅尝辄止。本文已被 https://www.yourbatman.cn 收录。

✍前言

你好,我是YourBatman。

2020庚子年是载入史册的一年,但对Jetbrain公司来说却是它的20周年。上个较大版本的发布,要追溯到8月份了:



时隔近4个月,北京时间2020-12-01深夜,IntelliJ IDEA再迎更新,这是2020年的第个里程碑版本。踩着2020年的尾巴,Jetbrain团队完成了他们的“KPI”:交付了第三次里程碑版本。

最近几个版本的介绍这里可电梯直达:

✍正文

我们知道,Jetbrain公司它简直就是个IDE工厂,产出过各种语言使用IDE,并且每个IDEA都做得都非常优秀,傲视群雄。本次除了发布最受瞩目的IntelliJ IDEA外,其它兄弟也相继'out'了(红红绿绿的简直亮瞎眼):







说明:Go语言用的IDE Goland本次发布的是Release Candidate而非正式Release,还得过个几天(不会扣Goland团队年终奖吧)

这么多兄弟能基于在几乎同一时间发布,有充分的理由相信它们使用的是同一基座,所以做到了一致的体验、一致的稳定、一致的优秀、一致的吃吃吃内存。IntelliJ IDEA作为最为出名的代表作,可以说是我们Java程序员的饭碗呀,接下来就来看看我们的新碗带来了哪些好玩的东西呢。

what’s new(新特性)

此版本在调试器中添加了交互式提示和嵌入式监视,改进了对Java 15的支持,并引入了对Git暂存的支持以及其它各种功能。然后呢,有些界面上也焕然一新了,做了重新设计。

按照惯例,先来张启动图新老对比:





设计师领盒饭去吧,我觉得这个启动图很难再有进步了。

1、全新的欢迎屏幕



老的在这:



这个不得不夸:进步了,更大气更方便了。此次IntelliJ IDEA欢迎屏幕经过重新设计,初始向导已替换为包含四个标签快速进入:

  • 项目管理项目
  • 自定义设置IDE
  • 插件安装
  • 了解IntelliJ IDEA的访问帮助和学习资源
    • 如果你是IDEA的初级使用者,或者想再学习一次IDEA,从这个页面点进去将会非常适合你

2、IDE主题已与操作系统设置同步

IntelliJ IDEA现在可以将其主题与您的OS主题同步。



勾选后,如果你的操作系统选用暗色主题,IDEA也会自动切换主题,保护双眼。

注意,有一点官方并未做出说明:此功能windows 7不支持,此功能windows 7不支持,此功能windows 7不支持,亲测截图为证:



可能你会说:为毛现在还有人用win 7?呃呃呃,我刚从XP升级上来......

3、一键进入阅读器模式

这个功能很赞,对阅读源码很有帮助。

默认情况在Reader模式下打开只读文件(也可以是本项目的只读文件)和来自外部库(Jar内)的文件,注释就像被格式化过一样,方便阅读。如下图表示你当前正在以阅读模式看此文件:

开启阅读模式的效果:像看web页面



关闭阅读模式的效果:像看html源代码



简单的说:阅读器模式就是帮你翻译了一下javadoc,更适合源码阅读。默认情况下是关闭的,建议你全局开启(或者在页面右上角单独点击开启亦可):

3、LightEdit模式优化

还记得LightEdit模式吗?它是在2020.1版本(2020-04发布)引进的新功能:



本次改进:现在要从命令行以LightEdit模式打开文件,只需idea -e xxx命令即可(若-e后不写文件名,那就打开上次刚打开的文件)。

我个人觉得此功能鸡肋,至少对我来说很鸡肋,只玩过没实际用过,毕竟只打开一个文件的话我用普通编辑器更轻量些不香吗?

4、改进的拼写检查

一句话:就是帮你检查你的单词是不是拼写错了,并且给出建议(可自定义字典):



看起来挺智能,实际然并卵,毕竟咱们方法名起个都费劲,还用应为写注释?拼写检查可作用在doc注释上、字符串上。但不可检查变量名、方法名上~

对于大多数程序员来说(如果你不做开源项目,个别拼错无所谓),建议关闭拼写检查,毕竟它还是耗性能的,特别是windows用户(手动o(╥﹏╥)o)。

5、更强的Serch Everywhere

这个搜索更加强大了:新增了对git的支持,可以根据commit id等git相关元素进行搜索啦。

老的:



新的:增加了Git Refs选项(暂忽略Calc)



现在如果你只知道一个commit id就可以拿去搜啦~

6、浏览项目新增预览模式

提效神器,如下图(Project视窗):



点击(Project视窗)右上角设置图标,把图中红框部门勾选上就开启预览模式浏览项目,就开启了预览模式。

什么叫预览模式:之前打开文件你需要双击,现在光标定位在哪个文件就显示哪个其对应内容,所以就支持键盘操作啦(上下键、tab键),不用依赖鼠标真的十分方便,提效神器啊。

7、在IDEA内部直接更新JDK

在之前版本介绍中知道现在可以在IDEA内部直接下载JDK(非Oracle官方的),这次更狠:可以在IDEA内直接升级JDK了(若有更新的话)。

我个人觉得此功能鸡肋,毕竟JDK谁会轻易去换呢。毕竟你发任你发,我用Java 8。

8、拖拽标签页

有些时候我们希望在处理一个项目时多打开几个选项卡(毕竟我们外接屏幕比较大嘛),有点分屏的意思。以前处理起来比较困难:先选中标签页右键,然后选择合适的split方式。现在很简单啦:可以通过拖放文件选项卡来水平或垂直地分割编辑器



如果想分屏的文件不在顶部选项卡里,IDEA也为你考虑到了,最近文件里也给你提供了入口:

8、IDEA设为某些文件默认打开程序

感觉IDEA的侵占欲越来越强了啊,它不仅仅只想做个开发用的IDE,我们的文本编辑工作它都想接管。这不你可以设置某些类型的文件默认打开程序为IDEA了:

9、调试器 - 交互式提示

当你在debug模式下运行时,可以直接点击变量后面的“小按钮”,弹出交互式窗口,从而可直接修改其值(做小家),大大方便了调试:



老版这里是木有可点按钮的:



若想要修改变量的值,得到底部的专门的窗口来,并且还得右键,选择set value才能达到目的,路径还是蛮长的:

10、调试器 - 内联watches

这也是调试的时候经常用到的一个功能:watch观察一个表达式的值。这在新版本里操作方便到令人发指:



点击这个按钮后就把i加入观察了,直接在程序里就可以观察到:所见即所得



若是以前版本的IDEA:



哎哟麻烦,技术真的具有不可逆性,用过就回不去喽。

11、Profiler - 更强大的分析器工具窗口

Profiler功能在2020.1就引入了,当时作为一个试验功能,但是Jetbrain承诺将来的方向会一直迭代它,然后它变得越来越强了。

上个版本,我们要用它分析一个xxx.hprof需要如下步骤:

  1. 通过jps命令找到java进程id
  2. 通过jmap -dump xxx生成一个hprof文件
  3. 将此快照文件放进IDEA的Profiler里来进行分析

具体操作示例,参见这篇文章:IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效

如果需要分析的项目就是本地项目,这顿操作还是非常麻烦的。既然是本地项目有木有更便捷的方法呢?IDEA在此版本给出了答案:



它允许你可以将分析器直接附加正在运行的应用程序上,进而选择要执行的功能:分析快照、监控CPU内存等等。

12、Profiler - 对.jfr和.hprof轻松访问

在这之前,我们需要分析一个现成的.hprof文件,只能在Profiler视窗里把它导入进来。现在更加方便了,直接可以通过File - Open 打开此文件,即自动调起Profiler视窗进行分析。

13、主菜单栏VCS -> Git

不说了,一切看图说话:



老版本是这样的:



这侧面也说明了什么问题呢:Git现在是VCS(version control system)版本控制系统的事实标准,勇敢点说甚至是唯一标准。

14、基于机器学习的代码完成

现在啥都跟机器学习扯上关系,IDEA号称这个代码补全建议在新版本里是基于机器学习技术搞的,我竟然信了。

要查看新的这套推荐系统是如何工作的,这么打开设置即可:



这样你就可以看到本次推荐的排名情况喽:

总之IDEA的自动代码完成/补全是一绝,用得越多它就越懂你,好像成为好朋友一样,有温度了。

15、其它

对Kotlin、Scala等的(新特性)支持,支持http -> cURL转换,更好的url自动补全,对Spring更好的支持等等。

当然还少不了对Javascript,以及当先很火的云原生Kubernetes的支持(主要体现在日志、脚本、配置上),这些因为不太普适,因此留给你在使用过程中慢慢发现吧。

另外,值得关注的是此版本的IDEA已经支持到了Maven 3.7.0,虽然后者还未正式发布,但这是马上的事,所以IDEA就提前先给支持喽。

升级建议

升。毕竟我木有“正版”烦恼,O(∩_∩)O哈哈~:

✍总结

作为2020年的封板之作,这个版本我个人觉得还是很讲武德的,符合定位。主要喜欢:

  1. 某些外观UI的重新设计,缓解了审美疲劳
  2. 阅读器模式,很赞
  3. 调试器的增强,是真的爱了,调试效率再进一步

虽然说坐在第二排看戏是最安全的,但每次我都安奈不住想尝试新功能的心,所以我也邀你一起吧,come on



最后不能忘了,依旧要向那些孜孜不倦为IT行业提供优秀工具的人们致敬!!!特别是捷克的那些创造者们,你们创造了非常好的工具提高了生产力,推动了社会某些产业的进步,功勋卓越!!!


推荐阅读:

IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德的更多相关文章

  1. IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效

    向工具人致敬.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的乌托邦]逐 ...

  2. IntelliJ IDEA 2020 的Debug功能也太好用了,真香!

    写在前边 作为一个有点强迫症的程序员来说,所有的应用软件.开发工具都必须要升级到最高版本,否则就会很难受到坐立不安.日思夜想.茶饭不思.至于什么时候得的这种病我也记不清了,哈哈哈 IntelliJ I ...

  3. Intellij IDEA 2020.1.1 破解 永久有效 亲测100%成功

    申明:本教程 WebStorm 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 前言 作为一个有强迫症的码农,怎么能忍受自己的开发工具跟不上潮流呢?笔者以前一直用 ...

  4. 程序员必须了解!IntelliJ IDEA 2020.2的新增功能

    IDEA 因为之前破解过,所以家里的电脑都是19版本的,用的也比较顺手,也就一直懒得去动他,但是,程序猿的好奇心可能真的挺重,猎奇心里,在网上也看到了很多关于2020版本的idea的各种好处,于是,闲 ...

  5. IntelliJ IDEA 2021.3 正式发布:支持远程开发、IDE故障排查等多项优化改进

    作者:程序猿DD 博客:https://blog.didispace.com/ 昨天刚刚跟大家聊了Jetbrains即将推出轻量级编辑器Fleet,以挑战 VS Code的消息,今天又收到了Intel ...

  6. 【IDEA】IntelliJ IDEA 2020.1破解版

    IntelliJ IDEA 2020.1破解版 2020-09-09  14:58:56  by冲冲 安装链接: 1. 百度网盘下载地址链接:https://pan.baidu.com/s/1cxjz ...

  7. github for windows回滚到某一个版本,

    建议先学会使用git命令再学GUI版的git,git本来就是命令行程序,GUI本质就是执行一些命令.仅从一些icon和单词去理解一些操作难免会有偏差.而反过来,熟悉命令会更好地理解GUI操作.想要回滚 ...

  8. 【转】.NET 安装和部署(Installer) 如何卸载上一个版本

    前言 当使用.NET“安装项目”打包的安装文件,再次安装的时候会弹出如下提示,这个时候会让我们很郁闷,怎样才能自动卸载上一个安装的版本呢?方法很简单,只需简单的两个操作步骤即可解决. 操作步骤 主要由 ...

  9. HDU 1877 另一个版本 A+B

    另一个版本 A+B Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total ...

随机推荐

  1. Flink的DataSource三部曲之一:直接API

    欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...

  2. 关于Android Studio中使用jni进行opencv配置开发环境的要素秘诀

    使用jni进行opencv开发可以快速地将PC端的opencv代码移植到手机上,但是如何在android studio下进行配置,网上几乎找不到教程,大多都是eclipse下使用mk文件的方法,找不到 ...

  3. 较详细的gdb入门教程

    本文主要介绍gdb的基础使用.若需了解一些技巧,请访问此篇博客:点这里 本篇教程适用于Windows,macOS及Linux,但由于Windows的自带终端很难用,所以体验可能不太好.Windows ...

  4. 转载-Eclipse无法打开Eclipse MarketPlace的解决办法

    问题描述: Eclipse点击 help-->Eclipse MarketPlace 后无任何反应,无报错,打不开 解决方法: 重新安装一下 epp MarketPlace help--> ...

  5. ATcoder Grand Contest总结

    最前面: AT的题都很有思维难度,总结一下一些AT的常规操作 1.对于有操作的题目,如果正面推不行的话考虑倒推,将操作转化,寻找更好的性质 2.模型转化,看到某一种的计算的式子,需要考虑有没有更简化的 ...

  6. 配置交换机基于接口划分VLAN(接入层设备作为网关)

    组网图形 简介 划分VLAN的方式有:基于接口.基于MAC地址.基于IP子网.基于协议.基于策略(MAC地址.IP地址.接口).其中基于接口划分VLAN,是最简单,最常见的划分方式. 基于接口划分VL ...

  7. 深入浅出 webpack 之基础配置篇

    前言 前端工程化经历过很多优秀的工具,例如 Grunt.Gulp.webpack.rollup 等等,每种工具都有自己适用的场景,而现今应用最为广泛的当属 webpack 打包了,因此学习好 webp ...

  8. tp3.2自动验证

    <?php namespace Home\Model; use Think\Model; class UserModel extends Model{ protected $patchValid ...

  9. Excel字符串函数

    Excel字符串函数(用到的记录一下)"a1"代表a1单元格 mid(a1,start_num,nums)  a1格从第start_num取nums个,从1开始. len(a1) ...

  10. acm一些小细节/技巧

    以后没有终止信号的输入统一用 : while(cin>>a) { ... } "1" 不是质数, 要注意.  当需要把一个数组中的数值初始化成正无穷时,为了避免加法算术 ...