码迷,mamicode.com
首页 > 系统相关 > 详细

macOS&&IntelliJ IDEA-IntelliJ IDEA介绍以及IntelliJ IDEA 2019.3新特性

时间:2019-12-22 14:20:31      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:too   轻松   字节码   neu   nod   运行时   运算符   覆盖   ras   

macOS&&IntelliJ IDEA-IntelliJ IDEA介绍以及IntelliJ IDEA 2019.3新特性

JetBrains公司介绍

在介绍IntelliJ IDEA之前,先介绍IntelliJ IDEA这个产品的生产厂商-JetBrains
技术图片
目前JetBrains官网部分内容支持中文访问,只需要在域名后面加上/zh-cn即可。

它是来自于捷克的软件开发公司,旗下有诸多的产品,涵盖了主流的语言和技术
技术图片

  • IntelliJ IDEA 主要用于Java技术栈开发
  • WebStorm 主要用于前端技术栈开发
  • CLion 主要用于C/C++技术栈开发
  • Datalore 主要用于数据分析
  • Pycharm 主要用于Python技术栈开发
  • GoLand 主要用于Go语言技术栈开发
  • DataGrip 主要用于关系数据库(Oracle/MySQL)开发
  • App Code 主要用于iOS和macOS应用开发
  • Phpstorm 主要用于PHP技术栈开发
  • RubyMine 主要用于Ruby技术栈开发
  • Rider .NET Framework开发

安卓的开发的Android Studio 也是基于Google公司在IntelliJ IDEA 的社区版开发的。

IntelliJ IDEA 介绍

技术图片
IntelliJ IDEA 首页

IntelliJ IDEA 是跨平台的集成开发环境,支持主流的操作系统(Windows,Linux,macOS)。主要分为旗舰版和社区版,其中旗舰版是收费(免费适用一个月),而社区版是可以永久免费使用。
旗舰版和社区版区别
技术图片

目前(2019/12/21)最新版本为2019.3.1,后续所有演示都是基于2019.3.1 旗舰版演示。

IntelliJ IDEA内置支持的语言、开发框架、技术以及工具

技术图片
IntelliJ IDEA内置支持的语言、开发框架、技术以及工具

IntelliJ IDEA支持主流的JVM语言

  • Java

  • Scala

  • Groovy

  • Kotlin
    IntelliJ IDAE支持Java企业级开发框架

  • Spring Framework

  • Java EE

  • Spring Boot

  • Spring Cloud
    IntelliJ IDEA支持移动端技术栈

  • Andoroid

  • React Native

  • Cordova

  • Ionic
    IntelliJ IDEA支持Web技术栈

  • JavaScript

  • TypeScript

  • HTML

  • CSS

  • Node.js

  • Angular.js

  • React

  • Vue.js
    IntelliJ IDEA 内置工具

  • 构建工具MavenGradle

  • 版本控制工具Git

  • HTTP客户端

  • 分析工具

  • 反编译器

  • 覆盖

  • 数据库工具

  • 终端

IntelliJ IDEA 功能与特性

让部署变成愉悦的体验

深度研究您的代码
IntelliJ IDEA 可以分析您的代码,在所有的项目文件和语言中寻找符号的相关性。 通过该信息,它可以提供深度编码辅助、快速导航、智能错误分析和 重构等功能。

智能补全
技术图片
^?Space 可以帮您列出 最适用于当前上下文的相关符号。 该自动补全以及其他自动补全功能将不断向您学习, 将最常使用的类和数据包移至建议列表顶部,使您可以更快选择。

链式补全
技术图片
提供比智能补全更为深度的挖掘,通过方法或当前上下文中的 getter 列出适用的符号。 例如,您打算查找值 Project, 现在却只有 Module module 声明。 连续按两次 ^?Space 即可轻松获得 module.getProject() 。

静态成员补全
技术图片
让您轻松使用静态方法或静态常量。 提供与输入相匹配的符号列表,自动添加所需的 import 语句。

数据流分析
技术图片
在提供补全变量时,IntelliJ IDEA 会分析数据流来猜测可能的运行时符号类型 并根据那个信息缩小选择范围,自动添加类转换。

语言注入
技术图片
将选定语言的编码辅助带入另一种语言的表达式和字符串文字中, 以及其他您平常所拥有的所有优势。 比如,您可以将 SQL、XPath、HTML、CSS 或 JavaScript 的代码片段注入 Java 字符串文字中。

跨语言重构
技术图片
在详细了解了符号的用法后,IntelliJ IDEA 可以提供超高效率和详尽的重构。 比如,在 JPA 语句中重命名类时,它会自动更新所有信息,包括 JPA 实体类以及使用它的每一个 JPA 表达式。

检测重复项
技术图片
实时查找重复的代码片段。 就算您只要提取一个变量、常量或方法, IntelliJ IDEA 也会告知您有可以用您正在编写的代码 替换的相似代码碎片。

检查与快速修复
技术图片
当 IntelliJ IDEA 侦测到您可能会出错时,编辑器中会弹出一个小灯泡图标。 点击小灯泡或按下 ?Enter 就可以打开操作列表,帮您修复错误。

开发者人体工程学

IntelliJ IDEA 的设计在方方面面都考虑到了人体工程学。 IntelliJ IDEA 的设计宗旨是开发者在流程中中的每一分钟都需要得到充分利用,所有导致开发者脱离流程的情况都必须严格避免。

以编辑器为本的环境
技术图片
在绝大多数情况下,编辑器(和代码)是屏幕上唯一可见的对象,您无需 离开编辑器去执行与编程无关的事情。

快速弹出窗口可以让您无需离开所处的上下文,即可查看 其他信息。 按下 ?Y 就可以在脱字符号中显示符号的 定义。

不必跟随复杂的向导或填写无数表格即可生成代码。

完整的快捷键
技术图片
IntelliJ IDEA 几乎为所有的操作都设置了专用快捷键,包括快速选择,以及在工具窗口和编辑器间切换等。

通过快捷键访问工具窗口可以将输入焦点移至它上面,这样就可以 在它的上下文中使用键盘命令了。 按下 Esc 即可返回编辑器。

位于 Project 工具窗口时,您不仅可以在已有的条目中导航, 还可以按下 ?N 新建条目。

人体工程学用户界面
技术图片
IntelliJ IDEA 中的所有列表、树和弹出窗口全都提供快速搜索功能,可以立即将您 带到包含输入文本的一组条目中。

IDE 操作的首个使命应该是提供最符合期待的结果。 需要更多结果吗? 再次按下 快捷键,IDE 就会进一步发掘您需要的结果。

内联调试器
技术图片
在调试代码时,IntelliJ IDEA 可以直接在源代码中的变量用法 旁显示变量值。

您甚至无需将鼠标指针放到变量上,也无需切换至 Debug 工具窗口 的 Variables 窗格。

当变量的值更改时,IDE 会将其用其他颜色高亮显示,这样您就 可以更好地理解它的状态是如何随代码改变的。

内建开发者工具

为了精简工作流程,IntelliJ IDEA 从一开始就提供了无与伦比的工具 集:反编译器、字节码查看器和 FTP 等等。

版本控制
技术图片
IntelliJ IDEA 为主要的版本控制系统提供统一的界面,包括 Git、 SVN、Mercurial、CVS、Perforce 和 TFS。 IDE 可以让您浏览变更历史记录, 管理分支以及合并冲突等等

构建工具
技术图片
IntelliJ IDEA 支持 Maven、Gradle、Ant、Gant、SBT、NPM、Webpack、Grunt、Gulp 与其他构建工具。 通过无缝集成,这些工具可以帮助实现自动编译、打包、运行测试、部 署以及其他活动

测试运行程序和覆盖
技术图片
IntelliJ IDEA 可以让您轻松执行单元测试。 IDE 为主要测试框架提供了测试运行程序和覆盖工具,其中 包括 JUnit、TestNG、Spock、Cucumber、ScalaTest、spec2 和 Karma。

反编译器
技术图片
IntelliJ IDEA 为 Java 类内置了反编译器。 当您希望查阅没 有源代码的库时,现在不使用任何第三方插件 即可轻松完成。

终端
技术图片
IDE 提供内置终端。 根据您使用的平台,您可以使用命令行提示、Far、powershell 或 bash。 通过 ?F12 调用终端,不用离开 IDE 即可执行任何命令。

数据库工具
技术图片
编辑 SQL 时充分利用智能编码辅助;连接至实时数据库; 运行查询;浏览和导出数据;甚至在 IDE 中通过可视化 界面管理方案。

应用程序服务器
技术图片
IntelliJ IDEA 支持主流的应用程序服务器:Tomcat、JBoss、WebSphere、WebLogic 和 Glassfish 等等。

您可以将项目直接部署到应用程序服务器上,并在 IDE 中 直接调试部署的应用程序。

Docker
技术图片
通过独立插件,IntelliJ IDEA 提供一个专用的工具窗口,可以让您连接至本地运行的 Docker 机器来 管理图像、容器和 Docker Compose 服务。

多语言体验

除了 Java 之外,IntelliJ IDEA 还为顶级的 JVM 和非 JVM 框架以及语言提供 一流的、开箱即用的支持。

为顶级框架提供一流支持
技术图片
IntelliJ IDEA 支持最流行的服务端和前端 框架。

充分利用为下列框架提供的扩展编码辅助: Spring、Java EE、Grails、Play、 Android、GWT、 Vaadin、Thymeleaf、React、AngularJS 等等。

多种语言,一个 IDE
技术图片
虽然 IntelliJ IDEA 是为 Java 开发的 IDE,它依然可以理解许多其他语言,包括Groovy、Kotlin、 Scala、JavaScript、TypeScript 和 SQL。

IntelliJ IDEA 是一种整体解决方案,但如果您需要额外功能,它丰富的插件生态系统可以帮到您。

IntelliJ IDEA 2019.3 新特性

IntelliJ IDEA 2019.3 进行了大幅性能和实用性改进,包括启动更快、更简单的主题和键盘映射插件安装、增强的 VCS 工作流,并添加了对微服务框架、MongoDB 等的支持。

更高的性能

启动更快
技术图片
此版本中的一个主要性能改进是启动时间比以前大大缩短。 我们引入了显著的架构变更来并行处理 IDE 在启动时执行的一些任务,这样就不会逐个执行任务。

  • 减小了内存消耗
    技术图片
    在 IntelliJ IDEA 2019.3 中,我们优化了性能,可以减少导入大型 Gradle 项目时的峰值内存消耗。

  • 自适应 UI
    我们成功修复了用户提交给我们的 1600 多个 UI 冻结报告。 除了这些之外,我们还修复了在编辑 Maven 项目中的 POM.xml 文件时遇到的问题,现在会无延迟地显示补全建议。 其他修复使用户能够更快速地处理大项目中的 VCS 状态更新,更好地处理忽略的文件,更高速地渲染项目树,以及在处理大量的编辑器或调试器选项卡时获得更出色的性能和加快的速度。

  • 更好的 Java 性能
    此版本对 Java 类型推理进行了大量改进,不仅修复了许多编辑器冻结,还加快了长方法调用链的 Java 类型推理。 “Join Lines”操作在应用到多行时速度加快。 您还会体验到加速的 Java 代码高亮显示,特别是对于包含泛型变量-参数的方法,它们可能包含几十种参数。

  • 更好的 Kotlin 性能
    IntelliJ IDEA 2019.3 捆绑了 Kotlin 1.3.60,后者带来了一些显著的加速,例如在编辑器中更快速地高亮显示。

改进了实用性

  • 无需重新启动 IDE 即可安装主题和键盘映射插件
    在 IntelliJ IDEA 2019.3 中,我们实现了对动态插件安装的支持,这意味着您现在可以加载和卸载主题与键盘映射插件,而无需重新启动 IDE。 我们计划在未来版本中将此方法扩展到大多数插件,使插件管理尽可能简单。

  • 更明显的滚动条
    如果您曾经无法看到滚动条,现在则可以突出显示它。 只需在 Settings/Preferences | Appearance & Behavior | Appearance 下启用“Use contrast scrollbars”设置。

  • 平滑滚动
    我们所做的一项很小但十分有价值的改进就是滚动,现在使用鼠标滚轮会更加流畅。

  • 自动配置导入的 Maven 或 sbt 项目
    现在,当您导入、创建或打开 sbt 或 Maven 项目时,IntelliJ IDEA 会自动为您设置,因此您不再需要手动配置设置。

  • 重新设计了上下文操作的行为
    在意图操作对话框中,IDE 现在会默认显示所有可用的意图操作,即使在您选择操作并关闭对话框之后也是如此。

功能优化

技术图片
Java13_textBlocks

扩展了对 Java 13 功能的支持
我们扩展了对 Java 13 文本块的支持:插入第三个引号时会自动格式化文本块。

  • 可以注入更多的模板语言
    技术图片
    借助 IntelliJ IDEA 2019.3,您可以将更多的模板语言注入到代码中,特别是 Pug(之前的 Jade)、Handlebars、EJS 和 Slim。

  • 新的“Field Call Hierarchy”操作
    技术图片
    现在能够以简单的方式查看选定字段的层次结构,只需通过 Ctrl+Alt+H 调用新的“Field Call Hierarchy”操作。

  • 统一了错误和文档的弹出窗口
    技术图片
    将鼠标悬停在检查高亮显示的符号上时,弹出窗口现在不仅会显示代码引用信息,还会显示错误。 在 Settings/Preferences | Editor | General 中选择“Show quick documentation on mouse move”即可启用。

  • 改进了 Git 签出工作流
    技术图片
    为了消除混淆,在远程分支上调用的新重命名的“Checkout”操作现在会创建新的本地分支,将它签出,并设置跟踪上游。 我们还为本地和远程分支添加了“New Branch from Selected”操作,这样会创建新的本地分支并将它签出,但不会设置跟踪任何远程分支。

  • 一种更简单的分支推送方法
    技术图片
    您会发现另一个能够节省时间的操作是无需再签出分支来推送它 - 只需在 Git 分支弹出窗口中选择分支,然后即可推送。

  • 统一的“克隆”经验
    技术图片
    我们重新设计了“Clone”对话框来统一 UI,以便从不同的 VCS 托管服务获取项目。 如果您已登录 VCS,IDE 会显示一个您可以从中选择的可用存储库列表,因此,您无需再输入存储库 URL。

  • 更深入地了解合并冲突
    技术图片
    现在,如果在执行合并、衍合或优选操作时出现冲突,您会在 Merge 对话框中获得更多变更源的信息。 只需点击“Show Details”链接,即可获得导致相应代码状态的提交列表。

新框架和技术

  • 微服务框架支持
    技术图片
    为了帮助您的 IntelliJ IDEA 项目保持技术相关,v2019.3 添加了对 Micronaut、Quarkus 和 Helidon 的初步支持。 如果您为 Java 项目部署基于微服务的架构,则可以充分利用完整的编码辅助、导航、检查、查找用例和其他功能。

  • OpenAPI 与 Swagger 支持
    技术图片
    我们引入了对 Swagger v2 和 OpenAPI v2 的支持,从而可以在包含 API 描述的 YAML/JSON 文件中提供按架构的验证,以及代码补全、导航、查找用例和 Rename 重构。

  • 新 Endpoints 视图
    技术图片
    全新的 Endpoints 工具窗口为 HTTP 和 Web Socket 协议提供了您的项目中所用客户端和服务器 API 的聚合视图。 此外,您还可以将视图扩展为当前在 IntelliJ IDEA 中打开的所有项目。

  • Spring Web Flux 支持
    技术图片
    在 Spring 工具窗口的 MVC 视图中查看 Web Flux URL 映射的完整列表,在它们之间导航,以及为 URL 和 URL 段充分利用编码辅助、搜索和 Rename 重构。

  • Java HTTP 客户端支持
    技术图片
    IntelliJ IDEA 2019.3 在以下 Java HTTP 客户端 API 中引入了 URL 支持:java.net.{URI/URL}、Retrofit v2、OkHttp v3 和可注入的 URL 引用。 编码辅助、导航、查找用例 - 您在 Java 中已经习惯的一切现在都已登陆 HTTP 客户端。

  • Project Reactor 支持
    为 Java 和 Kotlin Reactor 项目充分利用检查,这些检查可以报告在线程不应被阻止的代码段中检测到的阻止线程的方法调用。 IDE 还会警告您注意可能会从 Flux 和 Mono 方法的 lambda 运算符中返回的空值。 在此基础上,可以通过专用的 Reactor 调试模式为响应式堆栈框架和中间变量值提供实用视图。

  • MongoDB 支持
    IntelliJ IDEA 2019.3 提供了备受期待的 MongoDB 支持。 在您添加 MongoDB 数据源后,在数据库资源管理器中查看集合与字段,运行查询并检查查询结果。 我们打算在未来的版本中扩展 MongoDB 支持。

macOS&&IntelliJ IDEA-IntelliJ IDEA介绍以及IntelliJ IDEA 2019.3新特性

标签:too   轻松   字节码   neu   nod   运行时   运算符   覆盖   ras   

原文地址:https://www.cnblogs.com/ittimeline/p/12079515.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!