IntelliJ IDEA 2020 的Debug功能也太好用了,真香!
写在前边
作为一个有点强迫症的程序员来说,所有的应用软件、开发工具都必须要升级到最高版本,否则就会很难受到坐立不安、日思夜想、茶饭不思。至于什么时候得的这种病我也记不清了,哈哈哈
IntelliJ IDEA
作为工作最常用的开发工具之一,自然就成了我的主要升级对象,早上在逛IntelliJ IDEA
官网时,惊奇的发现居然有新版本更新,这让我有点喜出望外,没说的果断下载!
IntelliJ IDEA 2020.1
这个版本除了修复日常bug,对调试器和事件探查器(Profiler)进行了改进,并引入了新的提交工具窗口(Commit toolwindow)以及禅模式(Zen Mode)。
debug升级
IntelliJ IDEA 2020.1
向调试器添加了数据流分析协助功能(dataflow analysis assistance)
,此功能根据程序执行的当前状态预测并显示可能的异常以及始终为真/假的条件。
我们说的在明白一点就是当我们调试 Java 代码并到达断点时,IDE 将基于程序的当前状态运行数据流分析,并向我们显示在代码执行到该断点之前下一步将发生的情况:
举个简单的例子:
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功能也太好用了,真香!的更多相关文章
- 程序员必须了解!IntelliJ IDEA 2020.2的新增功能
IDEA 因为之前破解过,所以家里的电脑都是19版本的,用的也比较顺手,也就一直懒得去动他,但是,程序猿的好奇心可能真的挺重,猎奇心里,在网上也看到了很多关于2020版本的idea的各种好处,于是,闲 ...
- IntelliJ IDEA 2020.3正式发布,年度最后一个版本很讲武德
仰不愧天,俯不愧人,内不愧心.关注公众号[BAT的乌托邦],有Spring技术栈.MyBatis.JVM.中间件等小而美的原创专栏供以免费学习.分享.成长,拒绝浅尝辄止.本文已被 https://ww ...
- IntelliJ IDEA 2020.2正式发布,诸多亮点总有几款能助你提效
向工具人致敬.本文已被 https://www.yourbatman.cn 收录,里面一并有Spring技术栈.MyBatis.JVM.中间件等小而美的专栏供以免费学习.关注公众号[BAT的乌托邦]逐 ...
- IntelliJ IDEA 2018.3 升级功能介绍
|0前言 2018.11.28 IntelliJ IDEA 2018.3 正式版发布.对于一个忠实爱好者,迫不及待的我下载了最新版本来体验下.而且 IDEA 今年的第三次重大更新提供了不容错过的显著功 ...
- Intellij IDEA中使用Debug
Intellij IDEA中使用Debug Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化.通常我们也可以启用 ...
- Intellij IDEA中使用Debug调试详解
转载:https://www.linuxidc.com/Linux/2017-09/146772.htm Intellij IDEA中使用Debug调试详解 Debug用来追踪代码的运行流程,通常 ...
- Intellij IDEA 2020.1.1 破解 永久有效 亲测100%成功
申明:本教程 WebStorm 破解补丁.激活码均收集于网络,请勿商用,仅供个人学习使用,如有侵权,请联系作者删除. 前言 作为一个有强迫症的码农,怎么能忍受自己的开发工具跟不上潮流呢?笔者以前一直用 ...
- JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)
1.IP简述使用//获取本地主机ip地址对象.InetAddress ip = InetAddress.getLocalHost();//获取其他主机的ip地址对象.ip = InetAddress. ...
- 云笔记项目-网页端debug功能学习
在做云笔记项目的过程中,除了服务端在eclipse中debug调试代码外,有时候需要在浏览器端也需要进行debug调试,刘老师举了一个冒泡排序算法的dubug例子,进行了讲解. 首先上浏览器端测试代码 ...
随机推荐
- alpha week 2/2 Scrum立会报告+燃尽图 06
此作业要求参见:https://edu.cnblogs.com/campus/nenu/2019fall/homework/9803 小组名称:“组长”组 组长:杨天宇 组员:魏新,罗杨美慧,王歆瑶, ...
- 我终于懂得如何使用matplotlib进行画图
一 前言 本篇文章带大家快速入门如何使用matplotlib画出精美数学的图片:看完本篇文章你将获得熟悉并简单使用matplotlib工具,会画基本得折现图,散点图,sin,cos图,一张画布画出多图 ...
- 阿里云函数计算 .NET Core 初体验
体验了一波阿里云函数计算, 已支持 .NET Core 2.1, 那么按照惯例, 来写个 "Hello World" 吧. 作者注: 开发环境 Windows 10 & V ...
- 《算法笔记》之基础C/C++进阶
这一次主要讲C++不同于C的地方:类. 1.类的定义 定义一个类,本质上是定义一个数据类型的蓝图.这实际上并没有定义任何数据,但它定义了类的名称意味着什么,也就是说,它定义了类的对象包括了什么,以及可 ...
- Linux下Qt+CUDA调试并运行
Qt与CUDA相结合具体的操作主要修改qt项目中的配置文件pro.下面以测试的项目为例. 因为这是一个测试案例,代码很简单,下面将这几个文件的代码贴出来,方面后面对应pro文件和Makefile文件中 ...
- 22.Python安装和卸载第三方模块方法
安装和卸载第三方开源模块的步骤:下例,安装urllib3模块的步骤. 1.安装开源模块步骤: 按键盘windows键+r键,输出cmd回车.或开始->windows系统->命令提示符: 输 ...
- Java五子棋小游戏(控制台纯Ai算法)
Java五子棋小游戏(控制台纯Ai算法) 继续之前的那个五子棋程序 修复了一些已知的小Bug 这里是之前的五子棋程序 原文链接 修复了一些算法缺陷 本次增加了AI算法 可以人机对战 也可以Ai对Ai看 ...
- linux 反选删除文件
一.背景 历史原因自动部署程序的历史版本没有自动删除脚本.导致服务器没有空间了.但是又不能将所有的备份都删除. 所以要求只保留一个备份版本,把其他的删除. 二. 要求 要求:删除 除了 2017110 ...
- Your Ride Is Here 你的飞碟在这儿 USACO 模拟
1001: 1.1.1 Your Ride Is Here 你的飞碟在这儿 时间限制: 1 Sec 内存限制: 128 MB提交: 9 解决: 9[提交] [状态] [讨论版] [命题人:外部导入 ...
- kubernetes concepts -- Termination Of Pod
Pods are the smallest deployable units of computing that can be created and managed in Kubernetes. W ...