IDEA2020版本正式发布已经有3个月了,当时由于各方面原因(太懒)也没有去尝试新功能。于是这个周末特意去在另一个电脑上下载了最新版的IDEA,并尝试了一下。总的来说呢,体验上明显的提升。

作为一个大版本的升级,自然也增加了许多新功能。个人体验了两天,

  • 支持Java14,并且可以直接通过IDE去直接下载JDK完成安装配置

  • 发布官方版汉化插件

  • 导航栏优化可直接跳转至方法或对象所在位置

  • 新增Mono字体(人称最适合程序员的字体)

  • LightEdit模式

  • 终端的窗口拆分(水平/垂直拆分)

  • Zon(禅)模式

  • javadoc文档的渲染a

  • 新增新的主题

  • 更加智能的错误检测

  • Debug增强预处理

激活方法:https://shimo.im/docs/XXGr3gWJJ8kQjjPx

支持Java14

支持Records

用于获取声明数据类的方法,只通过一行代码就可以获取到数据。

public class Range {

      private final int min;

      private final int max;

      public Range(int min, int max) {

          this.min = min;

          this.max = max;

      }

      public int getMin() {

          return min;

      }

      public int getMax() {

          return max;

      }

      @Override

      public boolean equals(Object o) {

          if (this == o) return true;

          if (o == null || getClass() != o.getClass()) return false;

          Range range = (Range) o;

          return min == range.min && max == range.max;

      }

      @Override

      public int hashCode() {

          return Objects.hash(min, max);

      }

      @Override

      public String toString() {

          return "Range{" +

            "min=" + min +

            ", max=" + max +

            '}';

      }

  }

如上数据类,无参构造方法;初始化时对成员变量赋值;成员变量只有getter方法;覆写了 超类 Object 的 equals 、hashCode、toString 方法。

使用Records只需要一样代码即可以实现上述功能

  public record Range(int min, int max) {}

如果你的IDEA没有配置JDK,可以直接在IDEA内部进行JDK下载安装配置。

instanceof模式简化

我们经常会使用instanceof运算符将引用变量与类型进行比较的代码。如果结果为true ,那么就可以将其显式转换为与之比较的类型。

if (obj instanceof String) {

      String s = (String) obj;

      System.out.println(s);

  }

Java 14中的instanceof模式匹配引入了instanceof运算符的模式变量。如果instanceof条件为true,则模式变量将绑定到要比较的变量,从而避免了显式强制转换以使用其成员的需要。

于是我们可以改成这种写法

  if (obj instanceof String s) {

      System.out.println(s);

  }

官方版汉化插件

官方这次更新之后支持了汉化版,汉化需要借助JetBrains官方提供的Chinese (Simplified) Language Pack EAP插件。可通过安装插件进行汉化

安装方法:

在Plugins 搜索“Chinese”第一个就是我们汉化时需要安装的插件。



我在另外一台电脑试着安装时,发现搜索不到这个插件。如果有同学遇到同样的问题,可以去IDEA插件中心进行搜索安装

地址:https://plugins.jetbrains.com/idea

按照提示操作,下载相应的版本,然后进行安装即可,安装方式有两种

  • 直接将插件拖入至IDEA界面即可

  • 在plugins界面通过导入本地文件进行安装

汉化之后的界面如下图所示,目前来看大部分内容已经汉化,还剩一点点菜单内容没有完成汉化。使用汉化之后突然竟然感觉不太会用了,我个人不建议使用汉化的。

导航栏优化

在IDEA2020之后的版本可以通过点击.java文件导航到具体的方法或者对象所在的位置。再此之前的版本可以通过Structure界面进行位置跳转

新增Mono字体

一款被称为目前最适合程序员的字体,新的版本下载之后自带了Mono字体。

长时间使用代码期间减轻眼睛疲劳的问题。同时考虑了字母的大小和形状等问题;它们之间的空间量,自然以等宽字体设计的平衡;一些看起来不必要的细节和符号之间不清楚的区别,例如I和l。

对于旧版本IDEA,如果想自行安装Mono字体,可以通过官网自行下载安装

地址:https://www.jetbrains.com/lp/mono/

LightEdit模式

可以理解为是一个轻量级的编辑器,可以在不加载项目的情况下,打开某个文件。

这样我们就可以用IDEA以编辑器的形式去打开Java文件,



如果需要打开并加载文件所在项目,只需要alt+enter之后选择Open file in project 即可。

终端的窗口拆分

这个更新,感觉真的提升了不少效率,多个终端在同一界面节省了来回切换的麻烦。



使用时是这样的,有没有感觉效率提升了不少呢?

Zon(禅)模式

一个可以让程序员全身心投入到写代码,不受外界干扰的一种模式。

启用方式如下图所示:

  • Enter/Exit Presentation Mode:进入/退出 展示模式

  • Enter/Exit Distraction Free Mode:进入/退出 免打扰模式

  • Enter/Exit Full Screen:进入/退出 全屏模式

  • Enter/Exit Zen Mode:进入/退出 禅模式(一个终极模式,包含以上3种模式)

下图为禅模式,整个屏幕就是你的编辑页面,带上耳机打开禅模式,真的会有一种瞬间全世界都清净的感觉!

javadoc文档的渲染

当我们去阅读源码的注释或者一些帮助文档API,可能含有各种标记,影响阅读,而通过javadoc渲染功能之后,会自动祛除一些不必要的标题。并且可以修改字体的大小,方便阅读!

如下是SimpleDateFormat中javadoc的一部分,是不是给人一种无法读下去的感受。



用了JavaDoc之后呢,它就是这样的了

新增新的主题

在view中点击Quick Switch Scheme,然后在弹出的对话框中点击Themes,可以更换IDEA的主题。



新增了统一的IntelliJ Light主题,这个主题已经在不同的操作系统中完全统一了。不过就我个人而言,还是更新换用Darcula黑灰色主题风格。

错误检测

比如我们在写日期转化的时候不小心写错了,如下:

public static void main(String[] args){

        SimpleDateFormat sdf =

                new SimpleDateFormat("YYYY-MM-dd");

        System.out.println("this is a boy");

    }

这里呢,IDEA就会在YYYY字符上进行高亮显示,鼠标放上去就会提示我们,点击下方的Replace ‘YYYY’ with ‘yyyy’ 会自动帮我们进行替换。

Debug增强预处理

如下代码

public static void main(String[] args) {

        int a = 0;

        while (a < 100) {

            if (a == 3) {

                System.out.println("+++++");

            }

            a++;

        }

    }

在第5行加了断点,当我们debug启动时,第6行就会进行与判断False。



执行到a = 3时,会与判断为True。

总结

以上就是我这两天体验了一下IDEA2020版本之后的测评清单,还有很多功能需要在平时的使用中进行挖掘。如果大家有什么新功能要分享欢迎留言区进行留言。最后呢,建议大家最好不要使用公司的电脑进行升级,以免引起不必要的麻烦耽误了正常工作。

最后呢,我录制了一个视频上传至B站了,大家可以去看一下。顺便记得点赞哦

https://www.bilibili.com/video/BV1ua4y1a7d7/

文末福利

肝了全网,43份Java思维导图,需要自取!!!

《Java面试手册》V1.0版本,高清PDF免费获取

肝了两天IntelliJ IDEA 2020,解锁11种新姿势, 真香!!!的更多相关文章

  1. 解锁Opera浏览器新姿势:【Surf The Internet In Right Ways】

    下载Opera浏览器 官网下载:https://www.opera.com/zh-cn 更改PC系统区域 我的本子是win10,其他系统未测. 进入: 设置 → 区域和语言 将国家或地区设置为:中国台 ...

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

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

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

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

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

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

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

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

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

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

  7. 【IDEA】IntelliJ IDEA 2020.1破解版

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

  8. 【代码审计】后台Getshell的两种常规姿势

    0x00 前言 在早些年刚接触web安全的时候,基础套路都是找注入--找后台--找上传点--找数据库备份--Getshell,然而在代码审计的角度,也存在类似的基本操作. 这里结合代码实例介绍白盒Ge ...

  9. 05. flex元素水平垂直居中(三种position水平垂直居中和两种新老版本水平垂直居中)

    flex元素水平垂直居中(三种position水平垂直居中和两种新老版本水平垂直居中) (1).position : <!DOCTYPE html> <html lang=" ...

随机推荐

  1. rust 学习之旅一, rust编程环境相关

    Mac rust环境 rust安装: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh rust更新: rustup upd ...

  2. VNC连接cnetos图形化界面

    VNC连接cnetos图形化界面 Linux系统在服务器上一般都直接最小化安装,是不安装图形界面的,但是有时候,有一些特殊情况,需要使用图形界面,而下面就利用VNC来实现类似windows的远程桌面功 ...

  3. Andrew Ng - 深度学习工程师 - Part 1. 神经网络和深度学习(Week 3. 浅层神经网络)

     =================第3周 浅层神经网络=============== ===3..1  神经网络概览=== ===3.2  神经网络表示=== ===3.3  计算神经网络的输出== ...

  4. lw_oopc(c语言实现面向过程宏文件)解析

    一:计算结构体成员变量偏移量宏 #ifdef LW_OOPC_USE_USER_DEFINED_OFFSETOF // 有些环境可能不支持,不过,这种情形极少出现 #define LW_OOPC_OF ...

  5. vscode启动vue项目出错,给了管理员权限没用

    今天在安装vue环境测试项目的时候, 发现vscode调用终端异常,语句无法运行,百度上给的解决方法是给管理员权限 给了以后发现没用,怎么试都没用,然后想到了,重启大法,然后问题就完美解决了

  6. redis基础二----操作set数据类型

    set集合是无序的,不能存在重复元素 bbb吃重复元素,是不能添加成功的 2 接下来分析zset,是有序的,你在添加的时候要指定元素的序列号 上面的 3 4 5 6 就是指定的元素的序列号 withs ...

  7. git常用命令(部分)

    git常用命令 1.git init 初始化一个新本地仓库,它在工作目录下生成一个名为.git的隐藏文件夹. 安装好git的,新建一个文件夹,在空文件夹中鼠标右击点击Git Bash Here 2.g ...

  8. 【Model Log】模型评估指标可视化,自动画Loss、Accuracy曲线图工具,无需人工参与!

    1. Model Log 介绍 Model Log 是一款基于 Python3 的轻量级机器学习(Machine Learning).深度学习(Deep Learning)模型训练评估指标可视化工具, ...

  9. 面试官:你精通多少种语言的 Hello World?

    Hello World,是程序员入门编程语言的第一课.不论是C.C++还是Java ,我们写的第一个程序就是它了,还记得小编在大一C语言课上,花了一整节课时间才把它打印到控制台上.万事开头难啊,相信看 ...

  10. python用直方图规定化实现图像风格转换

    以下内容需要直方图均衡化.规定化知识 均衡化:https://blog.csdn.net/macunshi/article/details/79815870 规定化:https://blog.csdn ...