仰不愧天,俯不愧人,内不愧心。关注公众号【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. html+canvas实现很真实的下雨雨落

    原素材地址:http://www.htmlsucai.com/demo-9782.html <!DOCTYPE html> <html> <head> <me ...

  2. Azure DevOps 扩展之 Hub 插件的菜单权限控制配置

    这是 Hub 插件的描述配置代码片段: { "contributions": [ { "id": "feature-hidden-fields-man ...

  3. 833. Find And Replace in String —— weekly contest 84

    Find And Replace in String To some string S, we will perform some replacement operations that replac ...

  4. 基于synchronized锁的深度解析

    1. 问题引入 小伙伴们都接触过线程,也都会使用线程,今天我们要讲的是线程安全相关的内容,在这之前我们先来看一个简单的代码案例. 代码案例: /** * @url: i-code.online * @ ...

  5. 剑指offer之顺序打印数组

    算法的要求为: 输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打 ...

  6. 等效介质理论模型---利用S参数反演法提取超材料结构的等效参数

    等效介质理论模型---利用S参数反演法提取超材料结构的等效参数 S参数反演法,即利用等效模型的传输矩阵和S参数求解超材料结构的等效折射率n和等效阻抗Z的过程.本文对等效介质理论模型进行了详细介绍,并提 ...

  7. 鸿蒙之后,小米 Vela 也来了,下一代物联网平台应该是什么?

    1. 华为鸿蒙基于jerryscript构建物联网应用框架 2020年9月10日 鸿蒙OS 1.0 正式版发布,面向物联网领域,鸿蒙推出了类web开发架构ACE JS = LiteOS + jerry ...

  8. Serilog 源码解析——解析字符串模板

    大家好啊,上一篇中我们谈到 Serilog 是如何决定日志记录的目的地的,那么从这篇开始,我们着重于 Serilog 是向 Sinks 中记录什么的,这个大功能比较复杂,我尝试再将其再拆分成几个小块方 ...

  9. Python爬取B站耗子尾汁、不讲武德出处的视频弹幕

    本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,如有问题请及时联系我们以作处理. 前言 耗子喂汁是什么意思什么梗呢?可能很多人不知道,这个梗是出自马保国,经常上网的人可能听说过这个 ...

  10. InnoDB Insert Buffer(插入缓冲 转)

    一,插入缓冲(Insert Buffer/Change Buffer):提升插入性能 只对于非聚集索引(非唯一)的插入和更新有效,对于每一次的插入不是写到索引页中,而是先判断插入的非聚集索引页是否在缓 ...