IntelliJ IDEA 2020.1 正式发布,15 项重大特性、官方支持中文了! | 原力计划

2023-05-16

头图&作者 | YourBatman,CSDN博客专家

责编 | 唐小引

出品 | CSDN(ID:CSDNnews)

前言

千呼万唤始出来!自从官方在 2020-01-20 发布了其 2020 年的 Roadmap 后,我便持续关注着、期待着 JetBrains IntelliJ IDEA 在“新 10 年”的首个版本的发布。这不,就在 4 月 9 日,发布了其“新 10 年”的首个版本 —— IntelliJ IDEA 2020.1。

按照国际惯例,作为大版本号的升级,一般都会“搞点事情”,而事实确实如此(包括了支持中文)。

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

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 惯用代码。

2、从 IDE 直接下载 JDK

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

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

下载 JDK 的 vendor 源可以有多种可选(木有官方正统的 Oracle 哟~):

3、更好的 Java 代码检查

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

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 可以启用此功能。

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

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

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

7、Zen 模式(禅模式)

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

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

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

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

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

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

9、调试器:属性置顶

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

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 的此功能把该文件读取进来:

文件读取进来后,可在其“专属视窗”看到分析结果:

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

11、Git 交互体验优化

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

  • 新 Commit 工具窗口:

可通过此页面右上角的小齿轮,switch 切换为弹窗模式:

前者若想生效,你需要配置它成为默认的 commit 窗口模式,如下截图所示:

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

这个小功能非常赞:可以搜索分支以及刷新啦。

12、改进的 HttpClient 工具

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

13、统一的浅色主题

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

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

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

14、小彩蛋:支持中文

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

汉化后的效果如下:

感谢捷克工程师(可能是由国人实现)对我大天朝程序员的“照顾”,且不说这个必要性到底有多大,但从侧面体现了我国 IT 产业在国际上的分量越来越重了,这是一个好的信号,是我们的骄傲。

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

15、其它

  • 更好的框架支持

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

  • 对 Docker、Kubernetes 更好支持

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

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

  • Maven/Gradle 自动导入更加智能

使用中会体会到。

  • 支持 Scala 3

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

  • 拆分 Terminal 终端会话

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

  • 运行配置可存储到文件

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

  • 彻底过度到 JBR11 版本

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

总结

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

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

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

版权声明:本文为 CSDN 博主「YourBatman」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/f641385712/article/details/105435920

更多精彩推荐

☞从Spring Cloud到Service Mesh,微服务架构治理体系如何演进?

☞“生命游戏之父”因新冠肺炎逝世,回顾数学顽童的一生

☞AI 时代,为什么程序员很贵?

☞“手把手撕LeetCode题目,扒各种算法套路的裤子”

☞区块链十年一梦:有人辞官归故里,有人星夜来赶考

☞面试造飞机系列:看架构师如何设计微服务接口

你点的每个“在看”,我都认真当成了喜欢

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IntelliJ IDEA 2020.1 正式发布,15 项重大特性、官方支持中文了! | 原力计划 的相关文章

  • python做数据拟合

    项目中有涉及趋势预测的工作 xff0c 整理一下这3种拟合方法 xff1a 1 线性拟合 使用math import math def linefit x y N 61 float len x sx sy sxx syy sxy 61 0
  • 关于VS编译的程序内存分配只能用1.5~2G上限的优化方案

    关于VS编译的程序 内存分配只能用1 5 2G上限的优化方案 遇到的问题是这样的 xff1a 电脑内存32G xff0c VS2012编译的一个程序 xff0c 在程序运行过程中 xff0c 一旦程序的内存使用达到1 5G xff0c 就会
  • 对称矩阵及正定性

    对称阵是非常重要的矩阵 xff0c 对于实对称矩阵 xff0c 其特征值也为实数 xff0c 且特征向量是垂直的 注意这里的垂直是指 xff1a 如果特征值互不相同 xff0c 那么每个特征值对应的特征向量是在一条线上 xff0c 那些线之
  • C++变量前面加下划线的含义

    参考C 43 43 变量前面加下划线的含义 云 43 社区 腾讯云 C 43 43 变量前面加下划线和不加下划线都不会影响对变量的定义 xff0c 只是风格问题 xff0c 更喜欢将成员变量或者私有成员变量的前面加上下划线 以表示该变量是某
  • 对PX4参数THR_MDL_FAC的理解

    对参数THR MDL FAC的理解 home wp src PX Firmware src lib mixer module mixer module hpp 这里引入了参数THR MDL FAC的使用 DEFINE PARAMETERS
  • TX2安装ubuntu18,ROS

    设备 TX2 8G版本 ubuntu18 04笔记本一台 重要提示 请看完全文再安装 xff01 本文不是手把手教你安装类型教程 给TX2刷系统 看看我的参考博客1吧 最好参考最新的博客 xff0c 现在官网的新版本都不是这样 JetPac
  • px4的PWM是如何输出的

    如果有io芯片 xff0c 且使用了io作为输出PWM的设备 则fmu将mixer传输给io xff0c io进行混控计算并输出PWM xff0c 将pwm结果传递回fmu xff0c 此时无app订阅acuator outpus xff0
  • PX4的mix文件是怎么被使用的呢?

    启动 怎么到启动这里的就不说了 2 作为MIXER FILE被mixer load的 src systemcmds mixer mixer cpp实现mixer load Mixer load调用函数 xff1a load const ch
  • 诚迈科技发布OpenHarmony发行版鸿诚志远HongZOS

    2022年11月3日 xff0c 诚迈科技在东莞松山湖举办 鸿雁于飞 至诚志远 开源鸿蒙 诚迈科技HongZOS发布会 xff0c 发布基于OpenHarmony的商业发行版鸿诚志远 xff08 HongZOS xff09 xff0c 并推
  • PX4阅读开发小技巧

    1 基操 本文件搜索 全局搜索 后退 前进 ctrl 43 p xff0c 搜索文件名 右键 xff0c 书签功能 ctrl 43 单击 F12 xff0c 转到定义 大纲视图 vscode的Open Folder插件搜索文件夹名 2 利用
  • 一种基于接触性检查的全方位空中操作平台

    这里写自定义目录标题 摘要简介相关工作系统描述控制架构A 系统模型B 外部力估计C Interaction Control Selective Impedance 交互作用控制 xff1a 选择性阻抗D Surface Normal and
  • PX4的代码测试

    PX4的代码测试 写完代码总要测试一下吧 xff0c 自己先测试一下 xff0c 怎么用Test呢 xff1f 官方关于测试的概括说明 xff1a Platform Testing and Continuous Integration PX
  • CMAKE学习

    官方学习资料 系统的学习还是看官方资料为好 CMake Reference Documentation CMake 3 23 1 Documentation https cmake org cmake help latest Documen
  • QNAP威联通配置docker下的mysql外部网络访问问题

    QNAP的ContainerStation的mysql 容器默认配置是NAT网络是不行的 直接把mysql容器的网络设置改成host并重启 xff0c 就可以在外部连入了 注意需要设置容器的环境变量来配置root密码 需要配置下 MYSQL
  • Python数据可视化教程之基础篇

    点击上方 AI遇见机器学习 xff0c 选择 星标 公众号 重磅干货 xff0c 第一时间送达 开运张 作者 知乎专栏 来源 https zhuanlan zhihu com p 55642042 经过学习之后 xff0c 我总结了利用py
  • 终身学习楷模!吴恩达74岁父亲8年完成146门课

    点击上方 AI遇见机器学习 xff0c 选择 星标 公众号 重磅干货 xff0c 第一时间送达 学习真谛和乐趣在于保持敏锐的头脑 xff0c 以及发现美的能力 作者 贝爽 我们需要保持精神年轻 xff0c 保持好奇心 这是一位74岁老先生的
  • 通过CMakeLists.txt和shell脚本实现自动化编译

    这是项目的整个目录结构 span class hljs comment 此种方式配置犹如Vs中的配置一样 span span class hljs comment CMakeLists file span span class hljs k
  • MAC 安装JD-GUI

    今天升级MAC系统到最新版本 12 0 1 xff0c 然后突然发现JD GUI xff08 v 1 6 xff09 运行不了了 然后就删除重新下载新的 xff0c 发现还是不行 xff0c 在网上搜资料 xff0c 都说需要修改运行文件
  • mysql使用笔记

    创建数据库 create database database name 删除数据库 drop database database name 创建表 span class token comment 最简单的语法 span span clas
  • 华为携手去哪儿、九牧等企业,共论鸿蒙生态发展蓝图

    11月5日 xff0c 在华为开发者大会2022 xff08 Together xff09 上 xff0c 华为携手中软国际 九牧集团 深开鸿 开鸿智谷 去哪儿 鸿湖万联6家鸿蒙合作伙伴代表 xff0c 分享了基于OpenHarmony技术

随机推荐

  • 桌面客户端框架技术选型

    摘自 技术怪咖 欧阳森林 作为客户端的架构选型主要面临以下几个方面的需求 xff1a 1 开发速度快 xff0c 能够快速迭代 xff0c 快速试错 2 客户端能够跨平台 xff0c 同时适应Windows和Mac平台 3 用户界面友好 x
  • python金融数据爬虫与数据分析学习(一)

    本文针对以下链接进行学习 链接 爬取东方财富网上的股票信息 由于后来发现爬的都是指数基金的股票 xff0c 便转向观看其它文章 目前发现一个比较好的python开源的财经数据包接口 xff0c Tushare Tushare简介 Tusha
  • 股票基础知识

    股票基础知识 定义沪股通 深股通 港股通动态市盈率 静态市盈率 TTM市盈率量比股息率前十大股东与前十大流动股东区别 tushare可以获取的信息日线行情每日指标个股资金流向沪深港股通持股明细沪深港通每日整体资金流向每日涨跌停统计港股通十大
  • kubernetes安装部署

    k8s是一款辅助管理容器的平台 负责容器的部署 xff0c 扩缩容和负载均衡 k8s集群是有master节点和work节点组成 xff0c master 一个 是主节点 xff0c 负责管理和控制 work是工作节点 xff08 很多 xf
  • js 中set去重并转为数组

    const items 61 new Set 1 2 3 4 5 5 去重 const array1 61 items 2 转成数组
  • fast lio测试

    fast lio2代码编译及运行 编译 fast lio2仓库地址 一 安装依赖 ubuntu18 43 ros环境下 xff0c pcl和eigen可默认使用ros自带版本 xff0c 所以只需安装 livox驱动包 livox ros
  • 机器人开发常见第三方库、软件安装和使用

    写在前面 大多数情况下 xff0c 没有人比官方更懂官方 xff0c 所以编译安装 库配置及简单使用优先看官方github仓库README或者官网 xff0c 当然不排除有些博文或者教程有更好的表达方式更详细的说明cmake 编译三件套 通
  • Android UDP 通信总结 (终于从坑中爬起来了)

    2018 08 02 最近做的项目要求为 xff1a 一端为电视端 xff0c 一端为手机端 xff0c 实现电视端与手机端通过UDP进行通信 解释 xff1a 就是两个机器在同一个局域网内 xff08 即两端连接的同一个WiFi xff0
  • ES6之Promise常见面试题

    ES6 谈一谈 promise 所有的 ES6 特性你都知道吗 xff1f 如果遇到一个东西不知道是 ES6 还是 ES5 你该怎么区分它 es6的继承和es5的继承有什么区别 promise封装ajax let const的优点 es6
  • docker容器内关于pip的trick

    在运行某个文本检测算法的时候 xff0c 运行setup py脚本 xff0c 生成了dist目录 xff0c 且在此目录下生成了 dlocr 0 1 SNAPSHOT tar gz文件夹 下一步需要pip install dlocr 0
  • 用两台TFmini Plus实现PPT切换

    1 PPT自动切换模块简介 本模块利用北醒公司两台TFmini Plus Arduino DUE板 一个低功率红外激光指向灯 两个LED指示灯 一个单向开关 一个双向开关和连接线结合设计 系统作用 xff1a 通过检测人的手势 xff0c
  • 用两台TFmini Plus实现 PPT切换

    1 PPT自动切换模块简介 本模块利用北醒公司两台TFmini Plus Arduino DUE板 一个低功率红外激光指向灯 两个LED指示灯 一个单向开关 一个双向开关和连接线结合设计 系统作用 xff1a 通过检测人的手势 xff0c
  • TFmini-Plus在Arduino上的开发例程

    TFmini Plus在Arduino上的开发例程 本例程以Arduino Uno 和 DUE板作为示例 xff0c 主要帮助客户快速熟悉我公司雷达 xff0c 减少产品的研发周期 关于Arduino的详细介绍请参考以下网站 xff1a 英
  • TFmini 常见问题与解答

    TFmini 是一款小型激光雷达模组 主要实现实时 无接触式的距离测量功能 xff0c 具有测量准确 稳定 高速的特点 TFmini常见问题与解答 Q xff1a 请问TFmini是否可以在水面检测 xff1f A xff1a 不建议在水面
  • TFmini和TFmini-Plus——激光雷达模组 资料汇总

    本文主要介绍TFmini和TFmini Plus激光雷达相关资料 目录 产品基本介绍产品基本FAQ与开源硬件的基本匹配其他 xff08 I C版参考方案 xff09 应用方案 一 产品基本介绍 产品规格书 产品使用说明等有关下载地址 xff
  • 使用数传电台无线远程传输雷达数据的参考方案

    本文介绍使用数传电台无线远程传输雷达数据的参考方案 方案概述 本方案为使用数传电台方式无线远程传输北醒TF系列雷达数据的参考方案 本方案中所使用的除TF激光雷达外的设备和工具并非北醒官方产品 xff0c 不提供任何官方售后服务 xff0c
  • TFmini(Plus)在STM32上的应用

    STM32 TFmini 下载地址 xff1a 链接 https pan baidu com s 15IqhmbFTEHsLFydYbzir w 提取码 8iv1 复制链接打开 本文件夹为TFmini的STM32转接例程程序 xff0c 使
  • 阿里云ubuntu18.04搭建图形界面的介绍

    经过几天的奋战 xff0c 在综合别人的宝贵经验之后 xff0c 终于把阿里云的ubuntu18 04的图形界面搭配出来了 xff0c 在此把我个人的经历分享给大家参考一下 首先声明 我是参考原博主的经验搭建出来的 xff0c 具体链接可以
  • 嵌入式开发Verilog教程(一)——数字信号处理、计算、程序、 算法和硬线逻辑的基本概念

    嵌入式开发Verilog教程 xff08 一 xff09 数字信号处理 计算 程序 算法和硬线逻辑的基本概念 一 引言二 数字信号处理三 计算四 算法与数据结构五 编程语言和程序六 系统结构与硬线逻辑七 设计方法学八 专用硬线逻辑与微处理器
  • IntelliJ IDEA 2020.1 正式发布,15 项重大特性、官方支持中文了! | 原力计划

    头图 amp 作者 YourBatman xff0c CSDN博客专家 责编 唐小引 出品 CSDN xff08 ID xff1a CSDNnews xff09 前言 千呼万唤始出来 xff01 自从官方在 2020 01 20 发布了其