热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

IntelliJIDEA2020.3正式版发布,多项超酷新功能

2020年12月01日,IntelliJIDEA2020.3正式发布,这是2020年的第三个里程碑版本本文主要介绍IntelliJIDEA2020.3的

2020年12月01日,IntelliJ IDEA 2020.3 正式发布,这是2020年的第三个里程碑版本本文主要介绍 IntelliJ IDEA 2020.3 的新功能。

用户体验

重新设置欢迎界面

这个版本的 IntelliJ IDEA 重新设计了欢迎页面。新的页面包含了四个选项卡的快速访问:

•管理项目入口•自定义 IDE 界面;•插件安装入口•用于帮助用户学习 IntelliJ IDEA 的资源

IDE 主题和操作系统同步

IntelliJ IDEA 现在可以将主题和操作系统同步,比如操作系统选用暗色主题,IDEA 也会自动切换主题。要启用此功能,请以此选择 Settings / Preferences | Appearance & Behavior | Appearance,然后选择 Sync with OS 选择框,可以点击 Sync with OS 选择框旁边的齿轮图标来选择我们喜欢的主题。

阅读模式

只读文件和来自外部库的文件现在默认在阅读器模式下打开。在这种模式下,注释看起来像格式化的文本,并启用了字体连接,以帮助使用户更好地阅读代码。我们可以在 Settings / Preferences | Editor | Reader Mode 中自定义阅读器模式。

改进的 LightEdit

在 IntelliJ IDEA 2020.3 中,改进了 LightEdit 模式的用户体验。要从命令行以 LightEdit 模式打开文件,只需要加上 -e 选项,并且后面跟着要打开的文件的名称,比如 idea -e iteblog.txt。

更好的拼写和语法检查

现在,当我们按 Alt+Enter 时,IDE 会调用纠正语法或拼写的建议。更重要的是,这个版本开始使用新版本的 LanguageTool 语法检查引擎,它改进了英语文本检测,并增加了对10多种语言的支持。

更新了 Search Everywhere

这个版本在 "Search Everywhere" 对话框中添加了一个新的 Git 选项。也就是说我们现在可以利用 git commit hashes、messages、tags 以及 branches 来进行搜索了。

Preview tab

现在,只需单击 preview 选项卡就可以打开文件。当我们通过 Preview tab 打开文件时,它的名称将以斜体显示。如果我们开始编辑这个文件,它将不再是预览,而变成普通文件。如果我们单击另一个文件以预览模式打开它,它将出现在相同的标签,取代以前打开的一个。要启用此功能,单击项目视图中的齿轮图标并选择 Enable Preview tab

Linux emoji 选择器

这个版本添加了一个 Linux emoji 选择器。可以通过 Ctrl+Alt+; 快捷键打开它。我们可以按类别过滤表情符号,改变它们的肤色,以及按名字搜索表情符号。当然,我们也可以用键盘来操作表情符号选择器。

通过 IDE 来更新 JDK

从v2020.3开始,只要有更新可用,就可以从弹出窗口更新到最新的 JDK,我们可以选择是安装它还是跳过它。

编辑器相关更新

新的 Extract method 页面

我们更容易提取Java方法——只是媒体⌥⌘M在Mac或Ctrl + Alt + M在Windows或Linux,或选择重构/提取/介绍/方法,IDE会提取。当然,我们也可以依次选择 Refactor / Extract / Introduce / Method… 。

更直观地访问重命名设置

有了 inlay 提示中出现的新的重命名首选项,现在可以选择是希望重命名注释和字符串文本还是可打印文本中的字符。调用这个提示,Mac 用户可以 按 ⇧F6,Windows/Linux 用户可以 Shift+F6,然后按 Tab 键。我们可以通过 Settings / Preferences | Keymap. 来更改显示选项弹出的快捷方式。

拖放标签

如果希望在处理一个项目时打开几个选项卡,您现在可以通过拖放文件选项卡来水平或垂直地分割编辑器。

固定标签的改进

在v2020.3中,固定选项卡会显示新的 pin 图标。当你点击它时,文件就被 unpin(相当于解除固定)。你也可以通过拖放标签到其他固定或未固定的文件上来固定和取消固定标签。

改进了 Markdown 文档的编辑和预览

Markdown 工具现在有一个更好的预览 UI 和改进的用户体验。您可以在 Settings / Preferences | Editor | Code Style | Markdown 自定义 Markdown 格式。Mac 用户可以按 ⌘+Alt+L;Windows/Linux 用户可以按 Ctrl+Alt+L 来应用这个格式。同时,这个版本还增加了对 mermai.js 的支持。

将 IntelliJ IDEA 设置为打开文件的默认应用程序

现在我们可以将 IntelliJ IDEA 设置为打开文件的默认应用程序。在 Preferences | Settings / Editor / File Types ,点击 Associate file types with IntelliJ IDEA… 按钮。在打开的对话框中,选择要在 IDE 中打开的文件的扩展名。如果使用的是 macOS,则需要重新启动计算机来应用这些更改。

调试相关的提升

交互式提示

当应用程序在调试模式下运行时,我们可以单击变量以获得包含可以更改其值的相关字段的内联提示。在这个新的内联提示中单击 Create Renderer 打开一个对话框,在这里我们可以配置所有调试器视图中的内联值的显示。

Java 调试器中的基本内存分析

在调试器运行时,可以使用基本的分析功能。可以从调试工具窗口的上下文菜单中调用新的分析功能。第一个功能是 Show referring objects 它可以查找从对象到 GC 根的最短路径。第二个功能是 Calculate retained size,它计算对象的保留大小并显示其保留集。

版本控制

VCS 菜单被 Git 替代

VCS 菜单现在将根据我们当前使用的版本控制系统命名。新的菜单更加简洁,删除了除对项目版本化最有用的操作外的所有操作。比如如果我们的项目只使用Git,我们的 VCS 菜单将看起来如下图所示

分支功能的改进

当我们创建新的分支时,IDE 会自动更正分支名称中不支持的符号。同时这个版本已经重新修改了当前分支的上下文菜单,以显示相关的操作。对于远程分支,分别将 Merge into Current 和 Rebase Current onto Selected 修改为 Pull into Current Using Merge 和 Pull into Current Using Rebase

Java 支持相关的新功能

Record 转换成类

这个版本添加了一个新的功能,它允许我们将 Record 转换为类。当我们想降低代码库时,它会很有用。

完全支持 sealed classes

在这个版本中,为 sealed classe 添加了代码自动完成、代码洞察和重构等功能。当我们使用 sealed 修饰符时,我们将一个类声明为一个 sealed 类,它允许我们定义哪些其他类可以扩展它,以及哪些类可以防止被扩展。子类可以是 final 的、non-sealed 或者 sealed的。

基于机器学习的代码完成

代码补全建议现在基于机器学习技术,如果想要查看新的排名系统是如何工作的,请到 Settings / Preferences | Editor | General | Code Completion,然后选中 Mark position changes in the completion popup

更好的代码完成

当我们使用 String.toUpperCase 或 String.toLowerCase 时, 下拉框会弹出带有 Locale.ROOT 的方法;当我们调用 String.getBytes() 时,IDE 将建议使用 UTF_8 字符集。

Scala 支持相关的新功能

并行编译

Scala 编译器现在可以并行地编译独立的模块。这个版本的默认的 VM 选项中最多支持4个编译线程,这可以大大加快编译速度。如果我们的机器有很多 CPU 内核和大量内存,那么可以随意调整默认值以进一步改进编译时间。

支持 MUnit

Scala 插件已经支持JUnit、ScalaTest、uTest 和 Specs2。这个版本添加了对 MUnit 的支持,

Scala 3 改进

IntelliJ Scala 插件已经包含了对即将发布的 Scala 3 支持。Scala 新插件现在能够解析 Main 方法的新语法。

由于篇幅有限,完整版的新功能请参见 What’s New in IntelliJ IDEA 2020.3[1]

引用链接

[1] What’s New in IntelliJ IDEA 2020.3: https://www.jetbrains.com/idea/whatsnew/

Java与大数据架构

7年老码农,10W+关注者。【Java与大数据架构】全面分享Java编程、Spark、Flink、Kafka、Elasticsearch、数据湖等干货。欢迎扫码关注!


推荐阅读
  • 1,关于死锁的理解死锁,我们可以简单的理解为是两个线程同时使用同一资源,两个线程又得不到相应的资源而造成永无相互等待的情况。 2,模拟死锁背景介绍:我们创建一个朋友 ... [详细]
  • sklearn数据集库中的常用数据集类型介绍
    本文介绍了sklearn数据集库中常用的数据集类型,包括玩具数据集和样本生成器。其中详细介绍了波士顿房价数据集,包含了波士顿506处房屋的13种不同特征以及房屋价格,适用于回归任务。 ... [详细]
  • Go GUIlxn/walk 学习3.菜单栏和工具栏的具体实现
    本文介绍了使用Go语言的GUI库lxn/walk实现菜单栏和工具栏的具体方法,包括消息窗口的产生、文件放置动作响应和提示框的应用。部分代码来自上一篇博客和lxn/walk官方示例。文章提供了学习GUI开发的实际案例和代码示例。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • 篇首语:本文由编程笔记#小编为大家整理,主要介绍了在基于经文主题的神圣古兰经经文检索系统构建我的doc2vec嵌入模型时需要帮助相关的知识,希望对你有一定的参考价值。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • 本文介绍了Redis的基础数据结构string的应用场景,并以面试的形式进行问答讲解,帮助读者更好地理解和应用Redis。同时,描述了一位面试者的心理状态和面试官的行为。 ... [详细]
  • 使用在线工具jsonschema2pojo根据json生成java对象
    本文介绍了使用在线工具jsonschema2pojo根据json生成java对象的方法。通过该工具,用户只需将json字符串复制到输入框中,即可自动将其转换成java对象。该工具还能解析列表式的json数据,并将嵌套在内层的对象也解析出来。本文以请求github的api为例,展示了使用该工具的步骤和效果。 ... [详细]
  • 本文介绍了Web学习历程记录中关于Tomcat的基本概念和配置。首先解释了Web静态Web资源和动态Web资源的概念,以及C/S架构和B/S架构的区别。然后介绍了常见的Web服务器,包括Weblogic、WebSphere和Tomcat。接着详细讲解了Tomcat的虚拟主机、web应用和虚拟路径映射的概念和配置过程。最后简要介绍了http协议的作用。本文内容详实,适合初学者了解Tomcat的基础知识。 ... [详细]
  • Java程序设计第4周学习总结及注释应用的开发笔记
    本文由编程笔记#小编为大家整理,主要介绍了201521123087《Java程序设计》第4周学习总结相关的知识,包括注释的应用和使用类的注释与方法的注释进行注释的方法,并在Eclipse中查看。摘要内容大约为150字,提供了一定的参考价值。 ... [详细]
  • 本文介绍了一个适用于PHP应用快速接入TRX和TRC20数字资产的开发包,该开发包支持使用自有Tron区块链节点的应用场景,也支持基于Tron官方公共API服务的轻量级部署场景。提供的功能包括生成地址、验证地址、查询余额、交易转账、查询最新区块和查询交易信息等。详细信息可参考tron-php的Github地址:https://github.com/Fenguoz/tron-php。 ... [详细]
  • 本文整理了Java中org.gwtbootstrap3.client.ui.Icon.addDomHandler()方法的一些代码示例,展示了Icon.ad ... [详细]
  • 先记住几个专用名词,如下:Workspace:工作区IndexStage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库一、新建代码库#在当前目录新建一个G ... [详细]
author-avatar
不不不不不想你
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有