IntelliJ IDEA 2018.2 发布,支持 Java 11

转载自   IntelliJ IDEA 2018.2 发布,支持 Java 11

近期,JetBrains发布了其旗舰产品IntelliJ IDEA的2018.2版本。新版本支持即将推出的Java 11、断点意图(Breakpoints Intentions)、MacBook的Touch Bar等特性,并改进了Spring Boot、Scala和Docker插件。

  

Java

IntelliJ IDEA 2018.2支持Lambda参数使用的本地变量新语法(即JEP 323)。这是定于11月推出的Java 11中的一个新特性。该特性支持开发人员在Lambda表达式中使用var:

//Java 8,不支持var。 
BiConsumer<Processor, String> consumer = (Processor x, String y) -> x.process(y);//Java 11,支持var。
BiConsumer<Processor, String> consumer = (var x, var y) -> x.process(y);

为配合Java 11对var的支持特性,在IDE中按住“Ctrl/⌘”键并将光标驻留于var上,将会显示该变量的类型。

对于代码中冗长的方法链,IntelliJ IDEA将会给出类型提示(Type Hint)。面对具有泛型的长方法链时,开发人员可通过该功能查看每个调用的类型提示。 

2018.2为使用Extract Method(提炼方法)的重构新添了一个预览面板。它有助于开发人员在确认更改前查看重构的可能情况。

 

 

IntelliJ IDEA改进了对@org.jetbrains.annotations.Contract标注的支持。该标注支持开发人员为特定参数的传递指定一个响应方法,这将为空性(Nullability)分析以及其它一些代码检查提供帮助。其约束新增的支持值包括:new,方法应该返回一个非Null的新对象;this,方法应该返回一个非Null的本身(this)指向;paramX,方法应该返回第X个参数。

Stream API支持也做了改进。它将会显示不必要的排序操作,以及错误使用了收集器(Collector)或集合(Colleciton)。此外,它还新增了对collect()(toSet())方法之前冗余调用distinct()方法给出警告。

Java项目的调试也做了大量的改进。如果开发人员组合使用Alt+Enter键及其他一些可用意图(Intension),就可能会看到三种新的断点意图:在类中只停(stop only)、类中不停,以及在当前对象中只停。此外,调试中还提供了一种新的Caller过滤器,支持开发人员从指定方法调用时在一个断点处只停,或是从指定方法调用时跳过一个断点。

用户界面

新版本还交付了一系列用户界面上的改进。现在IDEA直接支持MacBook的Touch Bar,并在Touch Bar界面的中间显示TouchJ IDEA按钮。这使得开发人员可以直接从Touch Bar运行、调试、提交更改和更新项目。对于macOS上的IntelliJ主题,现在支持以更暗方式显示标题栏,并添加了一些新的图标。而Linux上的IntelliJ主题也做了一些更新。

Scala

IntelliJ IDEA对Scala插件做了多项改进。它支持开发人员以内联提示的方式查看隐式转换和参数,并在一个提示工具(Tooltip)中浏览并扩展显示信息。现在,Scala插件中添加了Scalafmt格式化工具。要配置Scala插件,可依次点击菜单项“Preferences/Settings”>“Editor”>“Code Style”>“Scala”。

类型标注的自动完成和模式匹配功能也做了改进。如有可能,Scala插件会对类和接口给出一组建议的类型模式,参见下图:

JavaScript/Typescript

2018.2还改进了对JavaScript和TypeScript的支持。开发人员可以使用新的提炼组件(Extract Component)重构特性新建一个React组件,使用新的Code Coverage特性发现并未在客户端使用的JavaScript/TypeScript代码,并对代码做手工功能测试。为此,开发人员需要使用Code Coverage启动一个JavaScript Debug配置,并与Chrome中的应用进行交互。配置完成后,IntelliJ IDEA会在Coverage工具窗口中给出一个代码覆盖情况报告。

此外,开发人员可使用一系列JavaScript和TypeScript意图,例如实现接口、创建派生类、实现接口或抽象类的成员、生成switch语句中的case,以及使用“for..of”实现迭代运算。 

Spring

在2018.2中新添了一个Spring Integration Diagram。它使用XML或Java标注显示了Spring应用的配置情况,包括gateway、channel和bridge等。

 

2018.2针对Spring Boot应用做了一些改进。新的Diagram Model支持开发人员对Spring Boot应用运行时Bean之间的依赖关系做可视化。开发人员可以通过Run Dashboard管理HTTP请求映射。

Docker

IDEA的Docker插件日渐成熟。新支持的特性包括使用新的Use Soft Warps操作支持Docker日志换行(wrap word)。开发人员也可以从Compose节点和容器浏览对应的Compose和Docker文件。此外,现在支持定义一个用于为Docker文件执行docker build命令的根目录。

更多信息,以及完全的改进列表,提供于“新特性”页面中。

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

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

相关文章

发布支持多线程的PowerShell模块 —— MultiThreadTaskRunner

应用场景 多线程在需要批量处理一些任务的时候相当有用&#xff0c;也更加有利于充分利用现有计算机的能力。所有主流的开发语言都支持多线程。 默认情况下&#xff0c;PowerShell作为一个脚本语言&#xff0c;是不支持多线程操作的&#xff0c;虽然有所谓的后台任务&#xf…

java中,在一个有序数组中插入元素,使得数组保持有序排列

//已知有一个数组&#xff0c;/*数组里面的元素有a b c d e f y z,从控制台中随机输入一个字母&#xff0c;按照升序的顺序插入到该数组中并且遍历输出。*/public static void test1(){String [] str{"a","b","c","d","e",&…

[翻译]编写高性能 .NET 代码 第一章:工具介绍 -- Visual Studio

Visual Studio vs虽然不是全宇宙唯一的IDE&#xff0c;但它是.net开发人员最常用的开发工具。它自带一个性能分析工具&#xff0c;你可以使用它来做开发&#xff0c;不同的vs版本在工具上会略有差别。 VS可以分析CPU使用率&#xff0c;内存分配以及资源锁情况。它能在你开发与…

Java 程序员必备的 Intellij IDEA 插件

转载自 Java 程序员必备的 Intellij IDEA 插件 来源&#xff1a;柠檬学园 以下是我用过不错的Intellij插件&#xff0c;分享给大家希望能帮到大家。 1. .ignore 地址&#xff1a;https://plugins.jetbrains.com/plugin/7495--ignore 生成各种ignore文件&#xff0c;一键创建g…

表单中去掉重置和提交按钮和搜索框

去掉重置和提交按钮 <ProFormsubmitter{{// 配置按钮文本searchConfig: {resetText: 重置,submitText: 提交,},// 配置按钮的属性resetButtonProps: {style: {// 隐藏重置按钮display: none,},},submitButtonProps: {},// 完全自定义整个区域render: (props, doms) > {c…

ASP.NET 开发者 开始学习ASP.NET Core 2吧

.NET Core 从2016年6月28日发布&#xff0c;过去了将近一年的时间&#xff0c;但是在工作中发现大家对.net core的接受程度并不高&#xff0c;这只是一个感觉&#xff0c;俗话说“没有调查就没有发言权”&#xff0c; 这两天通过微信小程序在微信群里做了一个调查&#xff0c;参…

Spring Boot Redis Cluster 实战干货

转载自 Spring Boot Redis Cluster 实战干货 添加配置信息 spring.redis:database: 0 # Redis数据库索引&#xff08;默认为0&#xff09;#host: 192.168.1.8#port: 6379password: 123456timeout: 10000 # 连接超时时间&#xff08;毫秒&#xff09; pool: max-active: 8 #…

编写高性能 .NET 代码 第一章:工具介绍 -- Performance Counters(性能计数器)

Performance Counters&#xff08;性能计数器&#xff09; 性能计数器是监视应用程序和系统性能的最简单的方法之一。它有几十个类别数百个计数器在&#xff0c;包括一些.net特有的计数器。要访问这些可以通过系统自带的 性能监控程序&#xff08;perfmon.exe&#xff09;来实…

EF通用数据层封装类(支持读写分离,一主多从)

浅谈orm 记得四年前在学校第一次接触到 Ling to Sql&#xff0c;那时候瞬间发现不用手写sql语句是多么的方便&#xff0c;后面慢慢的接触了许多orm框架&#xff0c;像 EF&#xff0c;Dapper,Hibernate,ServiceStack.OrmLite 等。当然每种orm都有各自的优势&#xff0c;也有不足…

前端进行时间段筛选

传给后端参数时进行格式化 weekResultTimeStart:params.insertTime!null?moment(params.insertTime[0]).format(YYYY-MM-DD HH:mm:ss):null,weekResultTimeEnd:params.insertTime!null?moment(params.insertTime[1]).format(YYYY-MM-DD HH:mm:ss):null,注意点&#xff1a; 前…

IdentityServer4(OAuth2.0服务)折腾笔记

以下&#xff0c;称这个使用了IdentityServer4的OAuth2.0服务的项目称为Passport项目。 组件说明&#xff08;Nuget&#xff09; Passport项目所需组件 项目以Asp.net Core Identity项目模板初始化&#xff0c;集成IdentityServer4中间件&#xff1b;集成IdentityServer4.AspN…

map遍历进行展示

{userList.map((item,index)> <Option key{index} value{item.userId}>{item.realName||null}</Option>)||null}

Javase基础

Javase基础1.XML文档作用 保存和传输数据 类如&#xff1a; <标题> 标题 </标题> 2.Java的特性优势&#xff08;编译型语言和解释性语言&#xff09; 1.安全 2.面向对象 3.简单性&#xff08;C&#xff09; 4.高性能 5.分布式 6.多线程 7.高并发 8.跨平台 可移植性…

LocalDateTime与LocalDate之间的相互转换

LocalDateTime转换为LocalDate和LocalTime LocalDate转为LocalDateTime

DDD领域驱动之干货 (一)

说道DDD不得不说传统的架构与DDD的架构区别。 传统的架构不外乎就是三层&#xff0c;而在这三层里面又不断的细分&#xff0c;始终没有达到想要的效果&#xff0c;那么为什么当时还是采用三层。 当然在DDD没有提出的时候三层是大多数人的选择。 那么当领域驱动被提出来的时候…

第十三章 常用类(Math 类、Arrays 类、System类、Biglnteger 和BigDecimal 类、日期类)

一、Math 类&#xff08;P481&#xff09; Math 类包含&#xff0c;用于执行基本数学运算的方法&#xff0c;如初等指数、对数、平方根和三角函数。 &#xff08;1&#xff09;abs&#xff1a;绝对值 &#xff08;2&#xff09;pow&#xff1a;求幂 &#xff08;3&#xff09;c…

实体类为什么要用包装类而不用基本类型

eg 基本类型默认为有值的 用包装类不传值得是否默认为空 mybatisplus进行操作时更容易进行是否非空的判断

Asp.Net Core轻量级Aop解决方案:AspectCore

什么是AspectCore Project ? AspectCore Project 是适用于Asp.Net Core 平台的轻量级 Aop(Aspect-oriented programming) 解决方案&#xff0c;它更好的遵循Asp.Net Core的模块化开发理念&#xff0c;使用AspectCore可以更容易构建低耦合、易扩展的Web应用程序。AspectCore使…

指定查找区间,查找学生姓名并显示是否修改成功

首先需要创建两个类&#xff08;面向对象OO的方式实现&#xff09;&#xff1a; 一个是Student&#xff0c;该类主要的代码&#xff1a; String [] names new String [5]; //指定位置查找学生信息public boolean select(int start,int end,String name){boolean flag false;…