写在前边

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

IntelliJ IDEA 作为工作最常用的开发工具之一,自然就成了我的主要升级对象,早上在逛IntelliJ IDEA 官网时,惊奇的发现居然有新版本更新,这让我有点喜出望外,没说的果断下载!

IntelliJ IDEA 2020.1 这个版本除了修复日常bug,对调试器和事件探查器(Profiler)进行了改进,并引入了新的提交工具窗口(Commit toolwindow)以及禅模式(Zen Mode)。

debug升级

IntelliJ IDEA 2020.1 向调试器添加了数据流分析协助功能(dataflow analysis assistance),此功能根据程序执行的当前状态预测并显示可能的异常以及始终为真/假的条件。

我们说的在明白一点就是当我们调试 Java 代码并到达断点时,IDE 将基于程序的当前状态运行数据流分析,并向我们显示在代码执行到该断点之前下一步将发生的情况:


在这里插入图片描述

举个简单的例子:

  1. 1public void test(){
    2   int a = 1 ;
    3   int b = 2 ;
    4   int c = a + b;
    5}

之前 debug 代码时只有当断点走到 int c = a + b;时才会显示 c=3 的结果。

升级后的 debug 功能可以在断点走到 int b = 2 时就可以显示出 c=3 的结果了,就不用我们一行一行的往下 debug 了。省去了很多无用功,节约了很多调试的时间。


折叠递归调用

当在堆栈中的更高层调用同一方法时,IntelliJ IDEA 现在可以检测到递归调用。

现在,IDE 会建议开发者将这些调用从子树中取出,从而可以绕过递归,并专注于消耗大部分资源的方法以及它们进行的调用。

递归调用在“调用树”选项卡中用以下新的特殊图标表示:


在这里插入图片描述

新commit工具窗口

在 2020.1 中为 Commit UI 提供了一个新的工具窗口。新的commit窗口包含了LocalChange和Shelf两个选项卡,个人觉得是这次版本更新最实用的一个功能点,以往提交代码时想看某文件的差异会单独弹出一个窗口,相对繁琐。而这次的新窗口将所有与提交有关的任务都放在了一起,例如:差异检查、选择要提交的文件及代码块、提交注释信息,看起来如下:


在这里插入图片描述

禅模式(Zen Mode)

再也不怕敲代码时,被一些无关紧要的消息被打扰了

此版本添加了新的禅模式(顾名思义就是很清静了,佛系敲代码做到心无旁骛666),以消除可能的干扰并帮助开发者完全专注于代码上。

其实这种模式本质上,就是结合了免打扰模式和全屏模式,因此不必每次想要进入或退出它们时都启用或禁用这两种模式。

那么要如何启用禅模式?

第一种、 View > Appearance > Enter Zen Mode

第二种、Ctrl+` > View mode > Enter Zen Mode


LightEdit 模式

顾名思义,这就是一个轻量的编辑模式,专用于打开和编辑文件。LightEdit 模式允许我们在简单的编辑器窗口中打开文件,而无需创建或加载项目。这也是对不少开发者希望将 IntelliJ IDEA 作为通用文本编辑器的要求的回应。

尝试 LightEdit 模式最简单的方式是通过命令行打开文件,如下所示:


在这里插入图片描述

总结

Java开发工具演变之路,从我最初接触Java开始用的 myeclipse 到 eclipse,再到 Idea,技术一路革新开发效率也再不断提升,如今Idea已然成为最流行的Java开发工具!

暂时就写到这,后续有新版本功能在和大家分享,学无止境加油

IntelliJ IDEA 2020 的Debug功能也太好用了,真香!的更多相关文章

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

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

  2. IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德

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

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

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

  4. IntelliJ IDEA 2018.3 升级功能介绍

    |0前言 2018.11.28 IntelliJ IDEA 2018.3 正式版发布.对于一个忠实爱好者,迫不及待的我下载了最新版本来体验下.而且 IDEA 今年的第三次重大更新提供了不容错过的显著功 ...

  5. Intellij IDEA中使用Debug

    Intellij IDEA中使用Debug Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用 ...

  6. Intellij IDEA中使用Debug调试详解

    转载:https://www.linuxidc.com/Linux/2017-09/146772.htm   Intellij IDEA中使用Debug调试详解 Debug用来追踪代码的运行流程,通常 ...

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

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

  8. JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)

    1.IP简述使用//获取本地主机ip地址对象.InetAddress ip = InetAddress.getLocalHost();//获取其他主机的ip地址对象.ip = InetAddress. ...

  9. 云笔记项目-网页端debug功能学习

    在做云笔记项目的过程中,除了服务端在eclipse中debug调试代码外,有时候需要在浏览器端也需要进行debug调试,刘老师举了一个冒泡排序算法的dubug例子,进行了讲解. 首先上浏览器端测试代码 ...

随机推荐

  1. Alpha阶段中间产物提交入口

    此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9865 git地址:https://e.coding.net/Eustia ...

  2. 【学习笔鸡】整体二分(P2617 Dynamic Rankings)

    [学习笔鸡]整体二分(P2617 Dynamic Rankings) 可以解决一些需要树套树才能解决的问题,但要求询问可以离线. 首先要找到一个具有可二分性的东西,比如区间\(k\)大,就很具有二分性 ...

  3. Windows To Go 企业版2019 LTSC 开发环境部署

    Windows To Go 是一项非常实用的功能,与传统方式安装Windows 10相比更具有灵活性,会根据每次接入的硬件型号保留不同版本驱动. 由于博主是一名全栈程序员(截至发稿处于菜鸟级别),对灵 ...

  4. 配置ca服务器和http,mail加密

    一·CA介绍 certificate authority   数字证书授权中心 被通信双方信任的.独立的第三方机构 负责证书颁发.验证.撤销等管理 数字证书 经证书授权中心数字签名的包含公开密钥拥有者 ...

  5. k8s(1.14.0)+etcd(3.3.10)+flanneld(0.10)

    K8s(1.14) 几张比较不错的图 1.kubernetes 组件图 kubernetes 架构图 2.kubernetes 网络架构图 数据从源容器中发出后,经由所在主机的docker0虚拟网卡转 ...

  6. Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件

    本文通过Java代码调用Shell脚本并传入参数实现DB2数据库表导出到文件,代码如下: import java.io.File; import java.io.IOException; import ...

  7. 云资源中的低成本战斗机——竞价实例,AWS、阿里云等六家云厂商完全用户使用指南

    云端资源价格 预留实例:长期持有,批发路线,价格最便宜. 按需实例:即买即用,零售路线,价格最贵. 这两种资源,基于不同区域/价格的六家云厂商价格对比,连同原始数据文档我们已经打包成了一份电子文档,有 ...

  8. jS Ajax 上传文件报错"Uncaught TypeError: Illegal invocation"

    使用jquery ajax异步提交文件的时候报Uncaught TypeError :Illegal invocation错误,报错信息如图: 错误原因: jQuery Ajax 上传文件处理方式,使 ...

  9. cogs 495. 滑动窗口 单调队列

    495. 滑动窗口 ★★   输入文件:window.in   输出文件:window.out   简单对比时间限制:2 s   内存限制:256 MB [问题描述] 给你一个长度为N的数组,一个长为 ...

  10. VMware Workstation CentOS7 Linux 学习之路(2)--.net core环境安装

    1.为了安装.NET,需要注册微软签名密钥和添加微软相关的支持.这个操作每台机器只能做一次. Add the dotnet product feed(其实就是向微软提交投名状,表示我这台服务器要用co ...