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",&…

架构师必须掌握的 10 条设计原则

转载自 架构师必须掌握的 10 条设计原则 01、 遵循单一职责原则 函数是程序员的工具中最重要的抽象形式。它们能更多地被重复使用&#xff0c;你需要编写的代码就越少&#xff0c;代码也因此变得更可靠。较小的函数遵循单一职责原则更有可能被重复使用。 02、 尽量减少共享…

《四世同堂》金句摘抄(六)

System.out.println("这两天还是读的《四世同堂》"); System.out.println("这本书好长啊"); System.out.println("不断的听&#xff0c;不断的看&#xff0c;才到1000多页");今天的金句摘抄&#xff1a; 她翻滚的闹&#xff0c;整桶的流泪&…

[翻译]编写高性能 .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…

《四世同堂》金句摘抄(七)

System.out.println("这两天还是读的《四世同堂》"); System.out.println("这本书好长啊"); System.out.println("不断的听&#xff0c;不断的看&#xff0c;才到1000多页"); System.out.println("这几天没有好好的读&#xff0c;追求了速度…

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 #…

《四世同堂》金句摘抄(八)

System.out.println("这两天还是读的《四世同堂》"); System.out.println("这本书好长啊"); System.out.println("不断的听&#xff0c;不断的看&#xff0c;才到1000多页"); System.out.println("这几天没有好好的读&#xff0c;追求了速度…

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

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

java后台手动分页

单个实体类 Integer pageNumber po.getPageNumber();Integer pageSize po.getPageSize();Integer last pageNumber * pageSize;if ((pageNumber * pageSize)>weekResultInfoVOS.size()){lastweekResultInfoVOS.size();}int size weekResultInfoVOS.size();List<Week…

超详细的 Redis Cluster 官方集群搭建指南

转载自 超详细的 Redis Cluster 官方集群搭建指南 今天从 0 开始搭建 Redis Cluster 官方集群&#xff0c;解决搭建过程中遇到的问题&#xff0c;超详细。 安装ruby环境 因为官方提供的创建集群的工具是用ruby写的&#xff0c;需要ruby2.2.2版本支持&#xff0c;ruby安装需…

《四世同堂》金句摘抄(九)

System.out.println("这两天还是读的《四世同堂》"); System.out.println("这本书好长啊"); System.out.println("不断的听&#xff0c;不断的看&#xff0c;才到1000多页"); System.out.println("这几天没有好好的读&#xff0c;追求了速度…

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; 前…

Java中的常量池(字符串常量池、class常量池和运行时常量池)

转载自 Java中的常量池(字符串常量池、class常量池和运行时常量池) 简介&#xff1a; 这几天在看Java虚拟机方面的知识时&#xff0c;看到了有几种不同常量池的说法&#xff0c;然后我就去CSDN、博客园等上找资料&#xff0c;里面说的内容真是百花齐放&#xff0c;各自争艳&…

《四世同堂》金句摘抄(十)

System.out.println("这两天还是读的《四世同堂》"); System.out.println("这本书好长啊"); System.out.println("不断的听&#xff0c;不断的看&#xff0c;才到1000多页"); System.out.println("这几天没有好好的读&#xff0c;追求了速度…