[转]IntelliJ IDEA 2019.3正式发布,给我们带来哪些新特性?

 

每篇一句

 

工欲善其事必先利其器 ——《论语·卫灵公》

 

前言

 

千呼万唤始出来。自从JetBrains在今年7月24日发布了IDEA 2019.2版本后,从9月份开始我便一直在关注此版本正式版的发布。JetBrains公司在9月中旬就对外公布了下一个主要版本 2019.3的Roadmap,而且马上就发布了第一个早期访问版本( EAP 版本),因此我一直对它保持着关注。

 

2017年9月我首次接触使用IDEA,从最初的觉得别扭,到现在的回不去STS了,这就是IntelliJ产品的魅力~

 

IntelliJ IDEA 2019.3版本的Roadmap承诺的是会在11月份完成RELEASE,还好它抓住了11月份的尾巴,在北京时间2019.11.28深夜发布了这个2019.3正式版本

 

(说明:PyCharm的2019.3版本截止到发文的今天还未正式RELEASE,我预估应该不会食言会赶在11月份结束之前发布,可能就是今天晚上也说不定~)

 

先睹为快:一张最新版的IDEA启动图送给大家

 

 

what’s new(新特性)

 

2019.3版本的核心关键词是:Performance And Usability(性能和可用性)
它并没有带来特别亮眼的新特性,而提供了主要的性能和可用性改进(有点静心修炼内功的感觉有木有),包括更快的启动速度,更容易安装主题和动态插件(无需重启),增强的VCS工作流,并增加了对微服务框架、MongoDB等的支持…

 

下面针对于这些新特性,我们来具体的聊一聊

 

性能(Performance)

 

启动时间更快

 

这是该版本最吸引人的新特性之一。官方给出了一张和之前版本启动速度的对比图如下:
在这里插入图片描述
可见不管是在Mac、Linux还是在windows上新版本的启动速度都是占优的。

 

虽然提升了只有1s左右,但足以看到JetBrains程序员追求极致的心,这不就是我们做技术该有的样子吗?

 

大型Gradle项目方面

 

这个性能优化,主要表现在降低导入大型Gradle项目时的峰值内存消耗。同样的官方给出了对比图如下:
在这里插入图片描述

 

响应式UI方面

 

该版本在UI层面修复了非常非常多的问题(1600+项之多,但基本对用户无感知)。另外还修复了在Maven项目中编辑POM.xml文件的问题,以及其它问题归类如下:

 

  • 在Maven项目中,完成建议现在可以毫无延迟地显示
  • 在大型项目中更快地处理VCS状态更新(如git状态)
  • 更好地处理被忽略的文件(如.gitignore)
  • 更快地呈现项目树
  • 处理大量编辑器或调试器选项卡时更好的性能以及更快的速度

 

Java语言方面

 

Java类型推断带来了很多改进,它不仅修复了各种编辑器冻结(假死),而且还加快了长方法调用链的Java类型推断。当应用于多行时,“连接行”操作的速度更快。您还将体验Java代码的加速高亮显示…

 

Kotlin语言方面

 

此版本内置了Kotlin 1.3.60版本支持,从而提供了更好的性能表现。

 

可用性(Usability)

 

动态插件/主题支持

 

从此版本开始,你可以在不重启IDE的情况下加载和卸载主题和插件。

 

说明:此特性并不是所有的插件都支持(不需要重启),在未来的版本中把这种方法扩展到大多数插件中,使插件管理尽可能的简单
但主题方面:你可以所见即所得了

 

更明显的滚动条显示

 

你是否吐槽过IDEA的滚动条颜色也太浅了,滚动条看不不太清楚,着实影响了使用。如果你和我一样有过这种困惑,那这个版本就可以拯救你了。你只需要这么设置(默认是不开启的哦)即可:Settings/Preferences | Appearance & Behavior | Appearance,然后勾选上"Use contrast scrollbars"即可,前后的对比图如下:
在这里插入图片描述
在这里插入图片描述

 

更平滑的鼠标滚动体验

 

这个改进看起来很小,但实际非常有价值:它能让你滚动鼠标更加的平滑,可能比德芙还丝滑~

 

自动配置Maven项目

 

在之前版本,很多时候我们首次导入一个Maven项目进来的时候,需要手动配置一些东西(比如模块、子模块、maven设置等)。这个版本很暖心:让这一切变为了自动挡

 

更好的意图猜测上下文

 

我觉得IDEA相比eclipse最亮眼的一点便是它的上下文机制:这让你觉得IDEA是懂你意图的(虽然有时候也猜错),而不像eclipse一样它是固化的。这不,这次又对它进行了优化,旨在能让IDEA更加的懂你~

 

对Java13的特性提供了更好的支持

 

比如对它的"""三引号字符串提供了更好的支持等等…

 

支持了更多的模版语言

 

形如ex-Jade,Handlebars,EJS,Slim等模版语言

 

Field Call Hierarchy字段调用树

 

这个是新增的支持,我个人非常喜欢。在IDEA中,我们知道可以很方便的查看方法、类的调用树,但当要查看一个字段的调用树时,这将变得十分不方便(之前版本不支持)。
之前版本我们只能知道某个属性它被哪些地方使用到了(Find Usages),形如下面这样:
在这里插入图片描述
这样其实仅仅只是找出了使用处,但层次结构并看不出来(调用栈)。而此版本新增了一个能力:能看到属性被调用的地方的层次结构,形如这样:
在这里插入图片描述
该功能名称是:Call Hierarchy,默认快捷键是Ctrl + Alt + H

 

Git的使用增强

 

这种使用层面的就一笔总结带过:

 

  • 为了不混淆。检出分支会跟踪上游分支了,新增:New Branch from Selected选项便捷检出
  • 想向远程push一个分支,不再需要先检出再push了,而是可以选中后直接push
    在这里插入图片描述
  • 通过VCS克隆项目时,不管你是git还是svn,体验上保持了统一
  • 提升了merge conflicts解决冲突时候的深入性
  • 更好地显示 Git PR 信息的时间轴
  • 强制从忽略列表向 VCS 添加文件
    - 解释:在之前版本中,如果文件位于忽略列表,则无法将文件添加到 VCS。从此版本开始,对该限制进行了处理,现在即使文件位于 .gitignore(或 .hgignore)列表中,我们也可以将文件强制添加到 Git(或 Mercurial)

 

新的框架和技术

 

说明:这些特性是旗舰版才有的新特性,社区版是没有的。

 

微服务框架支持

 

新增了对微服务框架Micronaut, Quarkus, and Helidon的支持。

 

这对于我们使用Spring Boot的小朋友,貌似没啥卵用

 

Endpoints视图

 

在这里插入图片描述
支持Spring MVC,WebSocket、Jax等框架的端点…

 

Spring Web Flux支持

 

 

MongoDB支持

 

这是很多MongoDB使用者期待已久的功能,终于在这个版本里被加入进来了。
在添加了MongoDB数据源之后,在database explorer中可查看集合和字段,运行查询并查看查询结果。这个在将来的版本中还会继续扩展对MongoDB的支持到更多的功能(是不是有种感觉:MongoDB确实还挺火的,毕竟IDEA都还木有支持Elasticsearch勒~)

 

修复Fix

 

  • IDE现在可以通过自制程序检测Gradle安装到的目录
  • 用户界面已经得到了改进,所以现在更容易手动设置Gradle主目录
  • IntelliJ IDEA现在支持通过KWallet在Linux上存储密码
  • 对于JavaFX项目,IDE可以在Scene Builder选项卡中显示带有嵌入场景生成器的FXML文件
  • 当SVN服务器不可用时,SVN的“身份验证要求”对话框不再弹出
  • IDE现在在索引Git日志时显示一个进度条(新增)
  • 现在,您可以在文件历史视图和VCS注释中选择查看何时编写了更改或提交时间戳(新增)
  • JetBrains 运行时升级:主要是JBR 8/11的升级(由于开发者不用关心,略)

 


 


 


 

2019.1/2版本主要新特性回顾

 

为了更好的让大家了解到IDEA的新特性,提高你的工作效率,此处我附赠上前两个版本的主要新特性,供你参考学习。

 

总结

 

工欲善其事必先利其器,提供工作效率的一个重要手段之一:强大的工具。19年来(2000-2019)JetBrains公司提供的JetBrains 全家桶给我们带来一个又一个的惊喜。
从某种程度上讲,正是因为有了像IDEA、PyCharm...这种非常优秀的IDE,才得以让我们在工作、学习过程中连续获得便利性很好的体验,所以它的出现一定程度上是促进了整个社会的发展的,感谢捷克的这家公司为人类做出的贡献。

 

向那些孜孜不倦为IT行业提供优秀工具的人们致敬 !


---------------------
作者:_YourBatman
来源:CSDN
原文:https://blog.csdn.net/f641385712/article/details/103309292#comments
版权声明:本文为作者原创文章,转载请附上博文链接!
内容解析By:CSDN,CNBLOG博客文章一键转载插件

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/285223.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Git中的日常使用 码云

http://git.mydoc.io/?t83143转载于:https://www.cnblogs.com/yangyuqiu/p/6164822.html

【谭浩强版】C语言程序设计(第三版)课后习题完整答案附源码--高等教育出版社

文章目录 第一章 语言程序设计的概念第二章 基本数据类型第三章 C语言程序的流程控制第四章 模块化程序设计第五章 数组第六章 指针第一章 语言程序设计的概念 1.1 请编写一个程序, 显示以下两行文字。 #include <stdio.h> main() {printf("I am a student.\n&qu…

php判断是否为json格式的方法

http://www.poluoluo.com/jzxy/201403/265005.html 首先要记住json_encode返回的是字符串, 而json_decode返回的是对象 判断数据不是JSON格式: .代码如下:function is_not_json($str){ return is_null(json_decode($str));}判断数据是合法的json数据: (PHP版本大于5.3) .代码如…

FineReport中以jws方式调用WebService数据源方案

在使用WebService作为项目的数据源时&#xff0c;希望报表中也是直接调用这个WebService数据源&#xff0c;而不是定义数据连接调用对应的数据库表&#xff0c;这样要怎么实现呢&#xff1f; 在程序中访问WebService应用服务&#xff0c;将WebService返回的数据转为程序数据集&…

C语言试题148之海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只 猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了 一个,它同样把多的

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:海滩上有一堆桃子,五只猴子…

一文读懂什么是CTO、技术VP、技术总监、首席架构师

究竟什么是CTO&#xff0c;一个公司真的需要CTO么&#xff1f;哪些公司的职位对于技术管理者来讲真的是CTO的职位&#xff1f;同样是技术最高负责人&#xff0c;为什么有人叫CTO、有人叫技术总监、技术VP&#xff0c;有人叫首席架构师&#xff1f;他们之间的差别是什么&#xf…

与MySQL传统复制相比,GTID有哪些独特的复制姿势?

与MySQL传统复制相比&#xff0c;GTID有哪些独特的复制姿势? http://mp.weixin.qq.com/s/IF1Pld-wGW0q2NiBjMXwfg 陈华军&#xff0c;苏宁云商IT总部资深技术经理&#xff0c;从事数据库服务相关的开发和维护工作&#xff0c;之前曾长期从事富士通关系数据库的开发&#xff0c…

【ArcGIS Pro微课1000例】0007:ArcGIS Pro 2.5质量检查:拓扑创建与编辑案例教程

文章目录 1. 加载矢量数据2. 创建数据库、要素数据集3. 拓扑创建4. 拓扑错误编辑与修改1. 加载矢量数据 矢量数据可以是单独shp格式的文件数据,也可是存在于数据库中的要素类。 2. 创建数据库、要素数据集 创建数据库 无论是在ArcMap,还是ArcGIS Pro中,创建拓扑都需要在…

C语言试题149之809乘以??=800乘以??+9乘以??+1 其中??代表的两位数,8乘以??的结果为两位数,9乘以??的结果为 3 位数。求??代表 的两位数,及 809乘以??后的结果

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:809*??=800*??+9*??+1…

[转]想要成为一名优秀的Java程序员,这份文档必读

A、规则&#xff08;1–2 级&#xff09; 1、在switch 中每个 case 语句都应该包含 break 或者 return 。 2、不要使用空的for 、if 、while 语句。 3、在运算中不要减小数据的精度。 4、switch 语句中的 case 关键字要和后面的常量保持一个空格&#xff0c;switch 语句中不要定…

QC 环境安装条件

1、HP-QC设置 HP Quality Center环境设置是一个复杂的过程&#xff0c;它不是一般的安装&#xff0c;我们一个windows操作系统上开展。 Enterprise安装将会分发&#xff0c;但是&#xff0c;对于学习/评估目的之一&#xff0c;可以在独立的服务器上安装HP-ALM11.5的试用版。还应…

.Net之时间轮算法(终极版)定时任务

TimeWheelDemo一个基于时间轮原理的定时任务对时间轮的理解其实我是有一篇文章(.Net 之时间轮算法(终极版)[1])针对时间轮的理论理解的&#xff0c;但是&#xff0c;我想&#xff0c;为啥我看完时间轮原理后&#xff0c;会采用这样的方式去实现。可能只是一些小技巧不上大雅之堂…

phpstorm config include paths for swoole

配置phpstorm 当你写swoole 类或者函数时会自动补全 https://github.com/swoole/ide-helper.git 克隆下这个工具包 点加&#xff0c;然后指定你下载好的工具包路径&#xff0c;点ok 本文转自 skinglzw 51CTO博客&#xff0c;原文链接&#xff1a;http://blog.51cto.com/sking…

C语言试题150之八进制转换为十进制

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款模拟面试、刷题神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:八进制转换为十进制 2 、温馨…

JavaScript全面学习(中阶)

1.typeof操作符总是返回一个字符串&#xff1a; typeof 123; // number typeof NaN; // number typeof str; // string typeof true; // boolean typeof undefined; // undefined typeof Math.abs; // function typeof null; // object typeof []; // object typeof {}; // obj…

【ArcGIS风暴】ArcGIS创建栅格数据集色彩映射表案例--以GlobeLand30土地覆盖数据为例

矢量数据快速符号化&#xff0c;可以将常用的样式保存到样式符号库&#xff0c;栅格数据快速符号化&#xff0c;需要创建色彩映射表。本文以GlobeLand30土地覆盖数据为例&#xff0c;详解ArcGIS中创建与使用色彩映射表。 文章目录一、 ArcGIS色彩映射表介绍二、土地覆盖数据色彩…

Visual Studio 2019 16.3.10 初体验

Visual Studio 2019 版本 16.3.10 发布时间&#xff1a;2019 年 11 月 20 日 官网地址&#xff1a;https://visualstudio.microsoft.com/zh-hans/vs/ 介绍&#xff1a; https://devblogs.microsoft.com/visualstudio/dot-net-core-support-in-visual-studio-2019-version-16…

【ArcGIS风暴】GlobeLand30全球数据处理教程(批量投影转换、无效值处理、拼接)

本文讲述GlobeLand30全球数据批处理流程&#xff0c;主要步骤包括&#xff1a;批量分幅投影转换、批量分幅无效值处理、批量图幅拼接和成品展示。由于图幅数目和数据量较大&#xff0c;本文是采用Python代码批量实现的&#xff0c;有关Python的基本操作及处理案例&#xff0c;可…

Docker 私有仓库的搭建

Docker在2015年推出了distribution项目&#xff0c;即Docker Registry 2。相比于old registry&#xff0c;Registry 2使用Go实现&#xff0c;在安全性、性能方面均有大幅改进。Registry设计了全新的Rest API&#xff0c;并且在image存储格式等方面不再兼容于old Registry。去年…

请查收.NET MAUI 的最新学习资源

点击上方蓝字关注我们&#xff08;本文阅读时间&#xff1a;3分钟)2022 年 5 月 23 日&#xff0c;.NET MAUI 正式发布。.NET MAUI 为您提供了一流的跨平台 UI 堆栈&#xff0c;面向 Android、iOS、macOS 和 Windows。我们很高兴地宣布&#xff0c;有几种不同的学习 .NET MAUI …