IntelliJ IDEA2020.3 新特性(小结)

北京时间2020年12月1日,JetBrain公司推出了二十周年第三个稳定版的IntelliJ IDEA 2020.3 。
距离上一个稳定版IDEA,过去了小五个月,这次的更新来得比较晚,我的博客也是。如果不是同事提醒,我也差点忘记了自己其实是打算把IDEA编辑器这个系列给一直更新下去的哈哈哈,话不多说,让我们先进官网看看。
以下是官网的原话:

IntelliJ IDEA 2020.3 adds interactive hints and inline watches in the debugger, improves support for Java 15, and introduces support for Git staging, along with a variety of other features. Continue reading to learn about them all!

照例翻译一下
1.IntelliJ IDEA 2020.3在调试器中添加了交互式提示和嵌入式监视器
2.改进了对Java 15的支持
3.并引入了对Git暂存的支持
4.其他各种功能
继续阅读以了解所有内容!

这四点是官网欢迎页面的简单描述,我本人观看了1<<1<<1遍官网介绍视频后感觉总结得还算到位。
没写上去的功能基本就是锦上添花,提及的部分是真的非常提高生产力,尤其是debug中的嵌入式监视Git暂存,那简直是Nice中的Nice。
其余一些表情包功能,阅读器模式,主题和系统一致,相较于2020.2更强的search功能,还有一个重磅,那就是可以远程协助写代码了!!以后不会写的代码,可以找个大佬给我们解决了,棒棒棒!!

本篇博客中的更新要点全部来自官网首页的介绍视频,下面就按照视频中的顺序给大家一一实际展示一下

视频链接(需翻墙):https://www.youtube.com/watch?v=KffXqIZ0tYg&ab_channel=IntelliJIDEAbyJetBrains

新的改变

新的启动页

新的首页

全新的UI设计,将平时我们不太会操作的New ProjectOpenGet From VCS按钮放在了右上角的位置,突出新的重点:原有项目(毕竟我们的主要操作就是打开旧项目)。

同时,logo被移动到了左上角,更灵动了,下方排布了四个新的导航栏

  • Projects 项目(这个没啥好说的)
  • Customize 自定义界面样式

现在可以直接在初始界面就设置IDEA主题,字体大小
同时新增了跟系统主题保持一致的配置选项Sync with OS

  • Plugins 插件(就是将配置里的插件设置弄到了初始页面)
  • Learn Intellij IDEA 了解,学习IDEA

好家伙,我随手点了一下图中的Start Learning按钮,简直就是米老鼠进了米奇妙妙屋,妙到家了
一个非常完整的教程
如果退出教程,教程会在下次打开IDEA的时候展示在Projects
推荐刚上手Idea的小伙伴点进去看看,帮助快速上手IDEA

搜索窗口支持数学计算

双击Shift打开搜索全部窗口
输入简单运算加减乘除、幂运算这些,可以直接得到结果,按Enter或者鼠标点击,复制到剪切板,不用像以前打开系统的计算器了

不过我在测试的时候发现了一个不知道是bug还是double损失精度的问题,有空的小伙伴麻烦留言帮我解答一下~感激不尽!

眼尖的小伙伴可能已经看到了,我们的选项卡最后一个是git,现在的搜索框也支持搜索git的commit内容了!

分屏预览

现在支持拖动tab来分屏预览
其实!!
IDEA早就支持分屏了,只不过以前需要设置分屏快捷键,或者直接点击split
我以前是这样操作的,双击Shift打开搜索框,然后输入split就可以找到啦

2020.3搜索split关键字,出现的提示相较于2020.2版本,变得通俗易懂了
左旧右新
split horizontally 水平分割 ==> split down 向下分割
split vertically 垂直分割 ==> split right 向右分割

不过拖动更加方便嘛

可以拖动其他tab到编辑窗口了

比如我们可以拖动Terminal Tab到编辑窗口,不过我个人认为,Terminal还是放下面好看一些

机器学习(排序你的方法)

当我几年前第一次接触IDEA的时候,就被它强大的代码自动补全能力深深吸引了,甚至开始担心自己以后会不会因为用太多IDEA变得不会写代码了。。。后面证明我想多了,哈哈

Now,最新的IDEA来了,他带来了更强大的代码补全以及方法提示

视频中@Trisha Gee说道:

IDEA一直致力于提供代码编写早期的相关建议,2020.3引入了这方面的机器学习能力

那么我们怎么去使用这个新功能呢?照图上设置就可以啦。

默认是开启对于Java代码的机器学习的,
但是我们是没有直观感受的,所以IDEA提供了一个开关,我们可以点击,开启箭头提示

下面就是效果:重新排序完成建议,并用箭头标出最近的使用情况

你的编辑器,越用越懂你

更好地支持 Java 15

大部分开发者基本都使用Java8 或者Java11,这里我就不多赘述了,涉及到语言的新特性

内联方法 Inline Method

当开发人员使用多语言开发(图示Kotlin调用Java),同时存在语言之间互相调用方法的情况
我们可以使用Inline Method 选项来内联方法,将Java代码的方法转换成Kotlin代码并写进Kotlin文件中

更强大的 Structurally Search

2020.2版本新出的结构化查找,2020.3版本现在查找Kotlin文件了

具体使用方法在我的上一篇博客中有详细提及
视频中@Trisha Gee也推荐我们程序员要习惯去使用,是一个非常实用的东西
这里附上我上一篇博客的地址,对结构化查找有详细介绍,感兴趣的小伙伴动动手指~
链接: Show me the code系列之IntelliJ IDEA 2020.2 新特性

重点!!!2020.3对于debug的提升

以下几个地方,希望小伙伴们好好掌握,非常非常地好用,正确的debug能帮助你飞跃提升生产力

交互式内嵌提示 Interactive Inline Hint

现在支持交互式Inlay hints内嵌提示,注意是交互式,因为内嵌提示早就有了
当我们在debug的时候遇到了断点,代码行内会出现行内提示
2020.3以后可以直接点击这些提示,查看这个对象的完整信息

同时我们可以右键去做设置这个对象的属性,或者复制等操作

如果是旧版本,只能在底部的Debug的ToolBar去看了,总的来说这个改变还是人性化的

内联监视器 Inline Watcher

上一个功能点我们提到交互式内嵌提示,接下去讲,现在我们可以在行中直接添加监视器Add to Watches,也就是Inline Watcher

那,什么是watcher和Inline Watcher呢

我们假设一个场景,我们需要遍历一组数据,且其中一条数据出了问题,会导致不可预测的情况发生
我们现在需要debug把那条数据找出来

首先我们做一下准备步骤

-创建一个测试类-DebugTest
-测试类里写一个Hero内部类,拥有id,name和god属性值
-main方法中创建三个Hero对象,添加到list中
-循环输出hero的名字

public class DebugTest {
  public static void main(String[] args) {
    Hero superMan = new Hero(1,"超人2028",true);
    Hero batMan = new Hero(2,"BatMan",false);
    Hero wonderWoman = new Hero(3,"WonderWoman",true);
    ArrayList<Hero> list = new ArrayList<>(3);
    list.add(superMan);
    list.add(batMan);
    list.add(wonderWoman);

    for (Hero hero : list) {
      System.out.println(hero.getName());
    }
  }

  @Data
  @AllArgsConstructor
  public static class Hero {
    Integer id;
    String name ;
    boolean god;
  }
} 

现在我们在循环输出名字的地方打上一个断点(上图step4)
然后debug我们的main方法

这个时候我们可以观察到提示有两个对象,一个是hero,一个是list
我们平时debug的时候需要看到hero内部的参数,会选择在Debugger的工具栏里点击当前循环的hero对象,然后打开hero,来查找他的属性值,我们假设是name,就像下图

此从有了交互式内嵌提示,我们只需要在行内点击提示就可以做到

现在我们可以直观地看到内部的属性值了
那么问题来了,如果这个类的成员变量非常非常地多,我们不仅要点进去,还要往下拉很久才能找到这个值,不是很麻烦嘛

这个时候,我们的Inline Watcher就派上用场了
我们假设我们要找的属性值是name,我们点击属性值name,然后点击右下角的Add as Inline Watcher

出现hero.name,先不用管,我们点击回车(这里其实可以写代码比如hero.name+hero.id这样)

这个时候我们发现hero对象前面多了一个东西
小眼镜和hero.name

这样就完成了一个Inline Watcher的设置,当进入下一个循环的时候,就会展示下一个hero对象的name属性

这样我们debug起来是不是就特别容易找到有问题的那条数据了~~~~~

创建渲染 Create Renderer

继续上面往下讲,还是上面那个例子
我们不仅可以创建一个watcher去监视某个属性
我们也可以把hero对象渲染成别的东西
点击Create Renderer

点击User following expression来使用下面的表达式渲染对象

接下来我们会看到

hero会根据表达式被渲染成不同的对象了呢,是不是很神奇!!
这样是不是也可以一眼就能找出“人”,也就是一组数据中出问题的那一条

这个新特性,真心希望每个使用IDEA的小伙伴都能学会使用!

添加默认运行选项

在Run/Debug Configuration 对话框中,我们可以选择其中一个应用入口,来添加默认运行选项,就像是用于运行的命令行参数,使其在运行前,会先运行我们的配置,如下动图

像动图中那样操作后,每次我们在运行这个测试类的时候,会先去运行一下mvn clean这个命令

Git暂存代码 Git Stage

这里的暂存怎么理解呢?
有的小伙伴可能会问,git不是有stash这个东西嘛?

是的没有错,但是stash有一个缺陷就是,粒度只能最小到文件
而我们使用IDEA的暂存功能后,粒度可以最小到行

在我的另一篇博客 git分支与提交规范一文中
我提到过,代码提交的粒度要小到接口
只有粒度足够小,才便于同事间的协作和维护,回滚等操作

那么Git Stage怎么用呢

打开设置,进入Git选项卡,点击Enable staging area

这时候,我们的commit内容会分为Staged和Unstaged

而不是原来的changeList和Unversioned

想要使用原来的那种方式,只要再次点击配置中的Enable staging area就好了,具体看第一步操作

不过Git暂存的实际操作想要录制有点麻烦,CSDN也只允许上传5mb的gif动图,我就不录频了,会议上再去给大家讲解,操作起来不是很难

Code With Me!!

官方推出的新插件 Code With Me
直接在Plugins的市场搜索就可以下载

支持实时分享当前IDEA中打开的工程,并且协作写代码
最骚的是,对方甚至可以不需要安装IDEA甚至JDK,远程办公不再是梦(终于可以把家里的台式机用起来了)

有小伙伴可能会问,这不就是远程协助吗
确实是,但是这个插件可以设置安全级别,而且不共享桌面
我可以设置你能不能写,甚至能设置你能写,但是不能运行
官方出品,必属精品

其他更新

Lombok现在内置在2020.3中了

不会吧不会吧,不会还有人没用过lombok吧

阅读器模式 Reader Mode

这个模式默认开启
现在看文档,更美观了,不像以前全是反斜杠和星号/****/之类的

导航栏VCS的变化

以前的当行蓝中的VCS现在变成了Git,或者SVN,项目是用什么版本管理,导航栏就显示什么

这是旧的

这是新的

有一说一,现在谁还用SVN呢

JDK可以直接在内部升级

之前能下载我是知道的,现在可以升级了,有新版本会提醒,我们可以选择跳过或更新

正经人谁没事升级JDK,你升级吗,我不升级

支持简化版的Maven Pom

即将发布的Maven 3.7.0将具有简化结构的新POM。 IntelliJ IDEA 2020.3已包含对它们的支持
现在我本地的maven是3.6.3,还无法给大家测试
对于即将到来的3.7.0,我们拭目以待

其他对于kotlin,javaScript,databaseTool和微服务相关的优化

官方欢迎您

结尾

工欲善其事必先利其器,个人感觉新版本2020.3IDEA的变化还是挺实用的,有许多提高生产力的改动,非常地人性~

文章整理不易,转载请注明出处,CSDN超人2028
文章中有任何不对的地方,望不吝赐教~

更新建议 (2020.12.9)

强烈推荐:虽然我在写博客的时候,为了演示,发现了两个UI上的bug,就是输入表达式的窗口无法关闭这些。
但是瑕不掩瑜,整体而言,改动不大,能轻易上手,居家旅行必备

参考文献

IDEA官网

IDEA官方2020.3新特性视频,@Trisha Gee

我的上一篇博客:Show me the code系列之IntelliJ IDEA 2020.2 新特性

到此这篇关于IntelliJ IDEA2020.3 新特性(小结)的文章就介绍到这了,更多相关IDEA2020.3新特性 内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • grade构建阅读spring源码环境 Idea2020.3的过程

    笔者看了很多博客,从早上搞到晚上,终于成功了

  • IDEA 2020.3 更新了机器学习都整上了

    上周 Java 开发申请神器 IDEA 2020.3 新版正式发布: 小黑哥第一时间就在开发机上更新了新版本,并且完整体验了两周了. 需要idea2020.3激活码的朋友请点击下载 下面介绍一下这个版本的主要功能: 1.全新的欢迎窗口,更加人性化 IDEA 欢迎窗口全新升级,首页增加三个选项卡,一个用于设置 IDE 界面的 Customize,一个用于插件安装的 Plugins,一个于访问帮助和学习资源的 Learn IntelliJ IDEA,另外包括之前用于管理项目的 Projects. 这

  • IntelliJ IDEA 2020.3 重大特性(新功能一览)

    今天发现 idea 2020.3 版本发布了 ,那么废话不多说,赶紧更新起来: IntelliJ IDEA:https://www.jetbrains.com/idea ps:继续推荐使用 toolbox 进行安装: 首先欢迎页变化: 1.管理项目: 2.配置 IDE 界面(主要就是主题,字体.快捷键等设置): 3.插件(已经安装的插件和插件市场): 4.学习 IntelliJ IDEA (新增,以前我记得需要自己安装插件的这个功能): 5.项目搜索(新增): 6.几个功能没有变化,只是位置变了

  • 关于idea2020.3升级lombok不能使用的问题

    下面看下关于idea2020.3升级lombok不能使用的问题 因为lombok插件暂时没有更新到 2020.3版本,在pom文件中指定lombok版本为最新版本 ps:idea2020版本的lombok不能使用 在的Idea2020版本出现之后,发现了一个问题,在历史插件没有更新的情况下咱们更新了idea,就会导致插件更新没有及时跟上而导致失效. 解决办法: 官网插件地址:https://plugins.jetbrains.com/plugin/6317-lombok/ 进入官网插件地址进行下

  • idea2020.3测试评价及感受

    前言 idea2020.3测试版官方下载地址想要使用idea2020.3的可以点击链接下载测试版免费使用30天 https://www.jetbrains.com/idea/nextversion/#section=windows idea激活到2089年,需要的点击下载吧! IntelliJ IDEA 2020.2.3永久破解激活教程(亲测有效) 一.主页UI 样式如下(示例): 这次变化最大的也就是 UI了完全抛弃了之前一直使用的模板更改成了新的样式 项目库: 这次侧边栏三项选项分别是项目库

  • 解决IDEA 2020.3 lombok失效问题

    本地安装的是IDEA2020.3 社区版,使用lombok插件失效,编译报错,"You aren't using a compiler supported by lombok, so lombok will not work and has been disabled." 在网上搜索,最终找到解决方案.请参考本文附录内容 方案中的方法一 有效, 在以下位置加上该配置"-Djps.track.ap.dependencies=false" 方案中方法二 刚开始遇见此编译

  • IntelliJ IDEA2020.3 新特性(小结)

    北京时间2020年12月1日,JetBrain公司推出了二十周年第三个稳定版的IntelliJ IDEA 2020.3 . 距离上一个稳定版IDEA,过去了小五个月,这次的更新来得比较晚,我的博客也是.如果不是同事提醒,我也差点忘记了自己其实是打算把IDEA编辑器这个系列给一直更新下去的哈哈哈,话不多说,让我们先进官网看看. 以下是官网的原话: IntelliJ IDEA 2020.3 adds interactive hints and inline watches in the debugg

  • Intellij IDEA 2017新特性之Spring Boot相关特征介绍

    前言 Intellij IDEA 2017.2.2版本针对Springboot设置了一些特性,本篇文章给大家简单介绍一下如何使用这些特性. Run Dashboard 针对Spring boot提供了Run Dashboard方式的来代替传统的run方法.下面看一下官网提供的面板结构图: 是不是很炫,直接可以通过Dashboard看到Springboot的启动项目,并显示相应的端口等信息,同时还能在这里进行相应的操作.下面我们来看看如何调用出Dashboard. 首先,你的项目应该是一个spri

  • JDK 7 新特性小结实例代码解析

    1.switch支持String做参数 /*** * switch支持字符串做参数 jdk7 * @author huangjiawei */ public class SwitchTest { public static void switchTest(String arg) { switch (arg) { case "Lisa": System.err.println("我是Lisa!"); break; case "Mike": Syst

  • 你应该知道的Python3.6、3.7、3.8新特性小结

    很多人在学习了基本的Python语言知识后,就转入应用阶段了,后期很少对语言本身的新变化.新内容进行跟踪学习和知识更新,甚至连已经发布了好几年的Python3.6的新特性都缺乏了解. 本文列举了Python3.6.3.7.3.8三个版本的新特性,学习它们有助于提高对Python的了解,跟上最新的潮流. 一.Python3.6新特性 1.新的格式化字符串方式 新的格式化字符串方式,即在普通字符串前添加 f 或 F 前缀,其效果类似于str.format().比如 name = "red"

  • PHP5.3新特性小结

    本文总结分析了PHP5.3新特性.分享给大家供大家参考,具体如下: 1.命名空间 解决了类,函数和常量名冲突的问题 2.静态绑定 继承时父类可以直接调用子类重写父类的方法 class A { public static function who() { echo __CLASS__; } public static function test() { static::who(); // 后期静态绑定从这里开始 } } class B extends A { public static funct

  • 20多个小事例带你重温ES10新特性(小结)

    ES10 虽然没有像 ES6 那么多新特性,但 ES10 仍然有一些有用的特性.文本通过简单示例来介绍了 ES10 新出来的特性.通过这种方式,咱们就可以快速理解,而不需要看太多的官方解释. ES10 新特性主要如下: 数组方法:flat和flatMap Object.fromEntries 字符串方法:trimStart 和 trimEnd Symbol 的 description 属性 try { } catch {} // catch 的参数可以省略了 JSON ⊂ ECMAScript

  • C++第11版本中的一些强大的新特性小结

    Auto Type Deduction 自动类型推导 auto 关键字让用户得以使用 C++ 内置的类型推导特性. std::string something = somethingthatreturnsastring.getString(); auto something = somethingthatreturnsastring.getString(); Auto 关键字会对上述自变量(something)进行自动推导,得出其应该是 string 类型的结论,并在 auto 出现的地方用正确

  • Go1.18新特性之泛型使用三步曲(小结)

    目录 01 Go中的泛型是什么 1.1 传统的函数编写方式 1.2 泛型函数编写方式 02 从泛型被加入之前说起 2.1 针对每一种类型编写一套重复的代码 2.2 使用空接口并通过类型断言来判定具体的类型 2.3 传递空接口并使用反射解析具体类型 2.4 通过自定义接口类型实现 03 深入理解泛型--泛型使用“三步曲” 3.1 第一步:类型参数化 3.2 第二步:给类型添加约束 3.3 第三步:类型参数实例化 04 泛型类型约束和普通接口的区别 总结 01 Go中的泛型是什么 众所周知,Go是一

  • AndroidStudio升级到3.0的新特性和注意事项小结

     概述 谷歌发布Android Studio3.0正式版已经有一段时间了,最近抽空升级了一下,也踩了一些坑.特地记录一下.作为开发者第一时间体验谷歌带来的新特性是很有必要的.当然为了项目稳定性,也要根据实际情况决定是否升级相关插件 升级 从已有的IDE升级,无非就是File->Settings->Appearance&Behavior->Updates,这里可以选择升级渠道:Canary(金丝雀)Dev(开发版)Beta(Beta版)Stable(稳定版),以及是否使用安全链接.

  • 神经网络API、Kotlin支持,那些你必须知道的Android 8.1预览版和Android Studio 3.0新特性

    谷歌2017发布会更新了挺多内容的,而且也发布了AndroidStudio3.0预览版,一些功能先睹为快. 过去的五个月里, Kotlin一直是我们反复谈论的重点.现在要告诉大家的是,Android Studio 3.0可以将Kotlin添加到您的项目中了.最新版本的Android Studio在支持Java 8语言功能上得到了改进,另外一个亮点是,有了用于Gradle 3.0.0的Android插件. 好,下面步入正文. 曾仅用 55 秒发布会的 Android 8.0 Oreo 在时隔两个月

随机推荐