IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!

现在站在什么地方不重要,重要的是你往什么方向移动。

目录

    • 前言
    • 正文
      • what’s new(新特性)
        • 1、支持Java 14
        • 2、从IDE直接下载JDK
        • 3、更好的Java代码检查
        • 4、LightEdit模式
        • 5、Javadoc渲染
        • 6、改进的导航栏/面包屑栏
        • 7、Zen模式(禅模式)
        • 8、调试器:数据流分析辅助
        • 9、调试器:属性置顶
        • 10、初步支持HProf快照分析
          • 使用Demo
        • 11、Git交互体验优化
        • 12、改进的HttpClient工具
        • 13、统一的浅色主题
        • 14、小彩蛋:支持中文
        • 15、其它
          • 更好的框架支持
          • 对Docker、Kubernetes更好支持
          • Maven/Gradle自动导入更加智能
          • 支持Scala 3
          • 拆分Terminal终端会话
          • 运行配置可存储到文件
          • 彻底过度到JBR11版本
    • 总结
      • 声明

前言

千呼万唤始出来。自从官方在2020-01-20发布了其2020年的Roadmap后,我便持续关注着、期待着JetBrains IntelliJ IDEA在“新10年”的首个版本的发布。这不,就在昨天(2020-04-09)发布了其“新10年”的首个版本:IntelliJ IDEA 2020.1。按照国际惯例,作为大版本号的升级,一般都会“搞点事情”,而事实确实如此(包括了支持中文哦)。

说明:2020是Jetbrain公司成立20周年,小伙子是20岁的大男孩了


正文

老规矩,先来一张最新版的IDEA启动图尝尝鲜:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第1张图片
比2019.3的启动页更好看,还是更美了呢?仁者见仁~


what’s new(新特性)

IntelliJ IDEA 2020.1 添加了对 Java 14 的支持、为部分 Web 和测试框架添加新功能,通过数据流分析辅助升级了调试器,新增了LightEdit模式,以及支持从IDE直接下载和配置JDK等!


1、支持Java 14

2020年3月17日,Oracle的JDK/Java 14 正式GA(General Available),这是自Java采用六个月一次的发布周期后的第五次发布。

“咱们”IDEA顺序跟上,提供了支持其新特性。除了针对record提供完整的代码洞察支持,IDE 还允许用户快速创建新record,生成其构造函数与组件,以及对既有错误发出警报。 另外,IDE 现已支持 instanceof 运算符的模式匹配,其中包括新的检查以及快速修复,后者用简洁明了的新模式变量快速简化了冗长的 instanceof-and-cast 惯用代码。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第2张图片
IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第3张图片


2、从IDE直接下载JDK

当你还在吐槽现在JDK下载起来越来越麻烦的时候,IntelliJ IDEA此举会不会让你感动到哭?

您无需再从网络中搜索不可或缺的 JDK。 从 IntelliJ IDEA 2020.1 开始,在创建并配置项目时,您可以直接从 IDE 下载并配置 JDK 构建。 如果您打开下载的项目,IDE 将检查计算机是否安装了为此项目配置的 JDK。 如果未安装,IDE 将提示您下载 JDK。当然你也可以自己主动下载:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第4张图片
下载JDK的vendor源可以有多种可选(木有官方正统的Oracle哟~):

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第5张图片


3、更好的Java代码检查

在 IntelliJ IDEA 的每个新版本中,都会扩展其静态代码分析功能。 此版本也不例外。 除了上述改进外,还新增了多项代码检查。 它们可以检查 SimpleDateFormat 模式中的大写字母,分析日期格式设置,搜索其他冗余方法调用,以及报告并建议消除字符串文字中多余的转义字符等。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第6张图片
在这里插入图片描述


4、LightEdit模式

“轻编辑”模式,用意是用来作为简单的文本编辑器。IntelliJ IDEA 2020.1 增加了期待已久的 LightEdit 模式。 如今,用户无需创建或加载整个项目,即可在类似文本的编辑器中快速修改独立文件。 您可以从命令行,IDE 的欢迎屏幕或操作系统文件管理器中,在此新的轻量级编辑器中打开文件。 此外,使用“Open File in Project” (Alt+Enter) 意图,可以从 LightEdit 模式切换至完整项目模式。

想法是好的,但我感觉有点鸡肋:还要通过命令行模式打开,并且有编辑功能的阉割~


5、Javadoc渲染

这个小功能本人非常的喜欢,照顾到了爱好读源码一族。在编辑器中阅读 Javadoc 可能令人不胜其烦。此类文本中充斥着各种标记,在需要与参考链接和图像进行交互时,更是雪上加霜。 正因如此,IDEA在编辑器中增加了一种渲染 Javadoc 的方法。 通过 Help | Find actions | Render documentation comments on file opening 可以启用此功能。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第7张图片
IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第8张图片

提个小建议:渲染后就不能鼠标选中 or 复制了,期望可以选中和复制,这样讲课起来做示例会方便很多。


6、改进的导航栏/面包屑栏

这个小功能我也是非常的喜欢,当然我平时使用快捷键会更多,但也还是喜欢此功能。IntelliJ IDEA 2020.1 提供了一种新选项来简化项目导航。 新导航栏可以显示 Java 类和接口中的方法,用户无需滚动屏幕,即可直接跳转到需要在文件中查看的行。 如果之前很少使用导航栏,那么何不体验一下这项功能。通过 View | Appearance | Navigation Bar 即可将其打开(默认就是打开的)。


7、Zen模式(禅模式)

很高级有木有,对于快捷键控,平时工作中我个人还挺喜欢使用这种模式编码,投入度高效率就高了。

IntelliJ IDEA 2020.1 在编辑器中引入了新的 Zen 模式。 这种模式有助于消除所有干扰项,使您可以专注于源代码。 Zen 模式将“免打扰模式”和“全屏模式”完美融合,无需同时开启这两种模式。 从主菜单中选择 View | Appearance | Enter Zen Mode,全身心沉浸在代码世界中。

禅模式下的全屏截图如下:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第9张图片


8、调试器:数据流分析辅助

该功能挺不错的,辅助你调试,提高调试效率。

IntelliJ IDEA 2020.1 为 JVM 调试器新增了数据流分析功能。 在代码实际执行前,这项功能可对执行情况进行预测。 当应用程序在断点处停止时,IDE 将根据程序的当前状态执行数据流分析,检查/预测接下来的运行结果。 要在调试器中使用 DFA,请在 Settings/Preferences | Build, Execution, Deployment | Debugger | Data Views | Java 下启用该功能(默认是启用的)。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第10张图片


9、调试器:属性置顶

又是一个非常非常实用的小功能。简单的说,你在调试的时候呢,有些对象的字段太多了,要去找他有时候还要翻页或者下拉很多,一般IDEA调试可能要走好多遍代码,你现在在第一次调试后,吧这个调试的字段置顶,以免老是要去找。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第11张图片


10、初步支持HProf快照分析

.hprof文件一般指的是内存快照文件,用于做JVM内存溢出分析。之前IDEA一般借助jvisualvm.exe这个好用的工具来打开/分析此文件,现在IDEA内置就支持啦。

IntelliJ IDEA 2020.1 可以打开 .hprof 内存转储文件,这种文件有助于识别内存泄漏,并找到优化内存使用率的方法。 例如,您可以查看总体大小实例数量以及堆栈跟踪等基本文件信息。 这些文件还列出了按类分组的所有根对象、按实例数或大小排序的所有类以及带有字段值查看器的所有类实例。

使用Demo

先使用jmap -dump:file=test.hprof,format=b 你的pid拿到一份dump文件:test.hprof。然后使用IDEA的此功能把该文件读取进来:

在这里插入图片描述
文件读取进来后,可在其“专属视窗”看到分析结果:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第12张图片

需要注意的是:这项功能目前处于早期阶段,功能相对捡漏,后续的主要版本中将继续改进,加入新的功能。


11、Git交互体验优化

此版本在Git的交互体验上做了优化,使得使用起来确实更得心应手了。

新Commit工具窗口

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第13张图片
可通过此页面右上角的小齿轮,switch切换为弹窗模式:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第14张图片
前者若想生效,你需要配置它成为默认的commit窗口模式,如下截图所示:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第15张图片

对应的,还会衍生出Git其它操作中一些新的交互方式,见下图们:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第16张图片
IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第17张图片
这个小功能非常赞:可以搜索分支以及刷新啦

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第18张图片


12、改进的HttpClient工具

IntelliJ IDEA 2020.1 中的 HTTP 客户端更加智能。 现在,它可以正确地自动补全路径变量和 URL 路径,引导用户直接从 HTTP 请求文件访问相关端点。 IDEA还为 Spring 用户提供了一项更新:Spring MVC 处理程序方法现在获得了指示 URL 映射的间距图标。 使用它可以创建或打开现有的 HTTP 请求文件并导航到 HTTP 客户端。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第19张图片

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第20张图片


13、统一的浅色主题

IntelliJ IDEA 2020.1 将新的浅色主题作为其在所有操作系统中统一使用的默认主题。 IntelliJ推荐你使用! 但是像我用习惯了我的“自定义白色系主题”,所以我会切换回来的,看个人习惯喽~

另外它默认使用的JetBrains Mono字体,若你不喜欢你也可以改回自己原来的。

此字体据说评价不错,但我习惯了之前的,那就改吧


14、小彩蛋:支持中文

这算此版本给的一个小彩蛋。需要注意的是:源生是不支持中文的,需要你额外下载Chinese (Simplified) Language Pack这个由官方提供的简体中文插件:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第21张图片
汉化后的效果如下:

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第22张图片
感谢捷克工程师(可能是由国人实现)对我大天朝程序员的“照顾”,且不说这个必要性到底有多大,但从侧面体现了我国IT产业在国际上的分量越来越重了,这是一个好的信号,是我们的骄傲。

由于插件还是EAP版本,所以有些地方汉化不是非常彻底,不过绝大部分都是很ok的。程序员“老鸟”一定会觉得汉化的IDE很low,但很明显这对新手是非常友好的~~~


15、其它

更好的框架支持

Spring WebFlux、Spring、JMS、RxJava、Swagger Codegen...等最主流框架均做了些许更好的支持,你使用过程中自会体会到的。


对Docker、Kubernetes更好支持

为了便于您从Docke注册表中拉取映像,此版本重新设计了 UI 并移除了弹出对话框。 现在,只需点击 Service 工具窗口左侧窗格中的 Images 节点,IntelliJ IDEA 即可在右侧窗格中打开 Images Console 选项卡,您从中可以轻松拉取映像。 IDE 还为映像提供了补全功能。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第23张图片

Kubernetes方面:通过直接从编辑器间距调用“Apply”命令,您可以更新 Kubernetes 集群,从而匹配在本地文件中定义的状态,使用中自行体会哈。


Maven/Gradle自动导入更加智能

使用中会体会到


支持Scala 3

说明:初步支持,随着Scala 3的发展也会逐渐提供更多支持


拆分Terminal终端会话

这个小功能也非常好用。此版本新增了垂直或水平拆分终端会话的功能,便于用户并行运行多个会话。 您可以从终端调用上下文菜单来创建、导航和关闭拆分的终端会话。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第24张图片


运行配置可存储到文件

这个小功能非常不错,特别适合团队协作。从 v2020.1 开始,运行配置可以灵活存储于项目文件夹中。 为此,请打开 Run/Debug Configurations 对话框,选中右上方的 Store as project file,然后点击齿轮图标。 之后将打开一个弹出窗口,您可以在其中选择运行配置的存储位置。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第25张图片


彻底过度到JBR11版本

从此版本开始,JetBrains Runtime 8 (JBR8) 已成历史,已彻底过渡到 JetBrains Runtime 11 (JBR11)。

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第26张图片


总结

作为2020年的第一个版本,有点“跨时代”的意思,带来的新特性们还是可圈可点的。

升级建议:如果你不是“正经付费党”,再次提示你:升级需谨慎哦(当然喽,若纯从使用角度来说,我本人是强烈建议你使用它的)。

最后,依旧要向那些孜孜不倦为IT行业提供优秀工具的人们致敬!!!特别是捷克的那些创造者们,你们创造了非常好的工具提高了生产力,推动了社会某些产业的进步,功勋卓越!!!

附:捷克最新疫情数据如下:

在这里插入图片描述
捷克总人口1065万(和武汉市总人口差不多),疫情总体控制得还行。一起祈福人类,祈福地球,疫情快快散去,God bless we all.

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第27张图片

声明

本号所有“享学xxx”系列文章/视频,和什么“享学课堂”、“享学科技”无任何关系。只因笔者名字和其重名,仅此而已

  • 原创不易,码字更不易,你的【三连】是对A哥的最大支持
  • 关注我吧:一个前25年还不会写Hallo World的半残程序猿,人送外号:A哥
    • 公众号:BAT的乌托邦(ID:BAT-utopia)
    • CSDN:BAT的乌托邦
    • 掘金:BAT的乌托邦
    • 腾讯云+社区:BAT的乌托邦
    • 知识星球:BAT的乌托邦
    • 扫码/加我wx:fsx641385712,邀你加入[Java高工、架构师]系列纯纯纯技术群

IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第28张图片
IntelliJ IDEA 2020.1正式发布,你要的Almost都在这!_第29张图片

  • Netflix OSS套件一站式学习驿站(Eureka、Hystrix、Ribbon、Feign、Zuul…)
  • [享学Jackson] 一、初识Jackson – 世界上最好的JSON库
  • [享学Jackson] 二、jackson-core之流式API与JsonFactory、JsonGenerator、JsonParser
  • [享学Jackson] 三、jackson-databind之ObjectMapper与数据绑定、树模型
  • [享学Jackson] 四、控制Jackson行为的特征们之JsonFactory.Feature、JsonGenerator.Feature、JsonParser.Feature
  • [享学Jackson] 五、控制Jackson行为的特征们之JsonWriteFeature、JsonReadFeature
  • [享学Jackson] 六、控制Jackson行为的特征们之MapperFeature、SerializationFeature、DeserializationFeature
  • [享学Jackson] 七、Jackson使用bit位运算来开启/禁用Feature的原理解析
  • [享学Jackson] 八、jackson-databind数据绑定基础配置之BaseSettings、MapperConfig、MapperConfigBase
  • [享学Jackson] 九、jackson-databind数据绑定序列化/反序列化配置之SerializationConfig、DeserializationConfig
  • [享学Jackson] 十、jackson-databind序列化之ObjectMapper序列化原理、序列化器匹配原理
  • [享学Jackson] 十一、jackson-databind之JsonSerializer序列化器全解析
  • [享学Jackson] 十二、jackson-databind反序列化之ObjectMapper反序列化原理、JsonDeserializer反序列化器全解析
  • [享学Jackson] 十三、jackson-annotation注解模块全解析及Jackson注解大全
  • [享学Jackson] 十四、深入理解Jackson的Module模块化设计及原理分析
  • [享学Jackson] 十五、第三方模块Module的深度实践:JavaTimeModule、JSR310Module、ParameterNamesModule、Jdk8Module
  • [享学Jackson] 十六、Jackson在Spring MVC中的使用之Date、JSR310时间类型的处理
  • [享学Jackson] 十七、spring-web整合Jackson源码解析之Jackson2ObjectMapperBuilder
  • [享学Jackson] 十八、Spring容器深度整合Jackson的桥梁之SpringHandlerInstantiator
  • [享学Jackson] 十九、Spring下使用ObjectMapper的正确姿势 — Jackson2ObjectMapperFactoryBean
  • [享学Jackson] 二十、Spring MVC下的Jackson — MappingJackson2HttpMessageConverter
  • [享学Jackson] 二十一、Spring Boot下的Jackson — JacksonAutoConfiguration自动配置
  • [享学Jackson] 二十二、Jackson与Fastjson的恩怨情仇(完结篇)

你可能感兴趣的:(程序人生)