百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术流 > 正文

IntelliJ IDEA 2018.1发布,语言、框架、调试器统统都到碗里来!

citgpt 2024-08-10 15:18 15 浏览 0 评论

IntelliJ IDEA 2018.1来了,它具备新的Java 9检测和快速修复,JUnit 5@Tag注释支持,Kotlin插件已更新至v1.2.30,现在支持部分Git提交。

IntelliJ IDEA 2018.1发布,语言、框架、调试器统统都到碗里来!

IntelliJ IDEA 2018.1是JetBrains 2018年的第一次重大更新。它为支持的语言,框架,版本控制工具,调试器,编译器和编辑器带来了许多改进。IntelliJ IDEA 2018.1新增功能:

Java

  • Stream API链中的完成现在知道类型转换,这意味着它可以根据现有的call filter (String.class :: isInstance)建议完成项目,并且也用于自动类型转换完成项目。

  • 数据流分析(data flow analysis)现在可以跟踪诸如“大于”和“小于”之类的变量之间的关系。此外,当变量进行比较时,IDE还会在所有可能的代码路径中检测条件始终为真(或错误)的时间。

  • 新的Java 9检查和快速修复将派上用场,因为IDE会检查ServiceLoader加载的服务是否在module-info.java文件中声明,并提供快速修复以将缺少的语句添加到模块信息.javafile。

  • 如果在module-info.java中提到了一个未解决的类,那么IDE将建议创建缺少的类,以及缺少导出的包。

  • 有一个新的Fix partially按钮,当你有几个选项来修复所选范围内的可能问题时,会出现这个按钮。你会在“Fix partially”按钮下找到所有建议的快速修复程序。

  • 添加了对JUnit5 @Tag注释的支持,这意味着你可以在测试范围中包含标记的类和标记的方法。你只需在Run/Debug Configuration对话框中的Test kind字段中选择Tags(JUnit 5)选项。确保使用Uniqueld字段根据其ID来过滤测试。

JVM调试器

  • 有一个新的Throw Exception操作。这意味着你可以在程序中的特定位置抛出异常而无需更改代码。你会在Run | Throw Exception找到它,或在调试会话期间的帧上下文菜单中。

  • 你现在可以在控制台上打印Breakpoints Stacktraces。 Stacktrace选项可以在Breakpoints对话框中启用。

  • 此外,你现在可以通过新的Copy Stack操作复制当前线程堆栈踪迹。

  • JetBrains扩展了异步堆栈跟踪功能,这意味着你现在可以使用@Async.Schedule和@ Async.Execute注释来设置未包含在默认配置中的捕获点。你只需将Maven artifact添加为依赖项即可。

Java编译器

  • Java编译器页面上的交叉编译(Java 9及更高版本)的新使用 --release选项可在Preferences | Build, Execution, Deployment|Compiler | Java Compiler默认启用。你应该知道,当想要在Java 9中使用--source和--target选项并同时链接到Java 9类时,可以禁用新复选框。

  • 还有一种使用特定版本的ECJ编译器的新功能。你只需从Use Compiler下拉菜单中选择Eclipse,然后在该字段中指定具有所需编译器的jar的路径。

Editor

  • 好消息!如果在代码中检测到任何问题,IDE现在会突出显示包含错误或警告的折叠代码区域,并根据其验证状态对块进行着色。

  • 说到折叠代码,IDE还会在你搜索当前文件时突出显示折叠代码区域(如果它们包含任何匹配项)。

  • 你现在可以在源代码中看到@NotNull或@Nullable注释的自动推断。你必须在这里启用Show inferred annotations inline复选框:Preferences | Editor | General | Appearance。

Kotlin

  • 你会注意到,在Project Tool Window中,可以直接将代码片段粘贴到包中,并且会创建一个包含粘贴代码的新Kotlin文件。

  • Kotlin插件提供了新的意图,它们将调用函数的调用转换为相互调用,并且也转换为应用程序,反之亦然

Groovy

  • 你现在可以使用@CompileStatic批注在范围中标注每个常规类[Refactor|Convert to @CompileStatic中的上下文菜单中提供了一个新的重构操作。]。

  • IntelliJ IDEA 2018.1还会为Groovy文件报告不必要的导入别名检测。

Android

Android Studio 3.0的更改已合并,这意味着有很多新功能,其中包括:

  • Android Profiler,这是一套新的分析工具,可为你的应用的CPU,内存和网络活动提供实时数据。

  • Device File Explorer Tool Window显示你的Android设备或模拟器的文件和目录结构。如果你想在Android设备上查看,复制和删除文件,此工具窗口将派上用场。你会在View | Tool Windows | Device File Explorer中找到它。

  • 布局编辑器已得到改进。

  • 你现在可以构建即时应用程序,轻量级Android应用程序,无需安装即可运行。但是,你必须确保已安装Instant Apps Development SDK。

Spring Boot

  • 在运行Spring Boot Web应用程序之后,在具有处理传入HTTP请求的@RequestMapping注释的方法的装订线中会显示一个新图标。如果要打开扩展名为.http的临时文件中的所有映射,并通过新的REST客户端在编辑器中执行HTTP请求,请继续并单击该图标。

  • 所有在应用程序上下文中注册的bean都可以在Run Dashboard(或运行工具窗口)的Beans选项卡中看到。在IntelliJ 2018.1中,这些信息也可以在编辑器中找到。

JavaScript和TypeScript

  • 现在支持最新的TypeScript 2.7功能。

  • Implement Members行为得到了改善。

  • 你可以用Vue.js插件创建一个新的Vue项目。要安装Vue CLI,请在终端中运行npm install -g vue-cli。

Docker

  • Docker插件现在支持 Multiple Docker Compose文件,并且不仅考虑docker-compose.yml,还考虑可选的docker-compose.override.yml文件。

  • 该插件显示所有现有的Compose projects。

Kubernetes

  • 新的Kubernetes插件支持从v1.5到v1.9的Kubernetes资源文件[最新版本]。它会在文件中查找apiVersion和其他类型的字段,如果存在,它会将这些文件视为Kubernetes资源文件。

  • 丰富的YAML Kubernetes资源文件支持:如果你输入所需的密钥并调用Smart Completion,新插件将自动完成以下所有级别的所有必需密钥。

  • 有一个内置的实时模板,可以让你快速创建你需要的YAML Kubernetes资源文件的类型。有几个预定义的Kubernetes模板,可以通过键入其缩写来调用必需的实时模板。

  • 此外,只要你选择不推荐的Kubernetes属性,Kubernetes插件就会提醒你。

  • 还有一些基于JSON模式功能的对JSON Kubernetes资源文件的支持

相关推荐

js中arguments详解

一、简介了解arguments这个对象之前先来认识一下javascript的一些功能:其实Javascript并没有重载函数的功能,但是Arguments对象能够模拟重载。Javascrip中每个函数...

firewall-cmd 常用命令

目录firewalldzone说明firewallzone内容说明firewall-cmd常用参数firewall-cmd常用命令常用命令 回到顶部firewalldzone...

epel-release 是什么

EPEL-release(ExtraPackagesforEnterpriseLinux)是一个软件仓库,它为企业级Linux发行版(如CentOS、RHEL等)提供额外的软件包。以下是关于E...

FullGC详解  什么是 JVM 的 GC
FullGC详解 什么是 JVM 的 GC

前言:背景:一、什么是JVM的GC?JVM(JavaVirtualMachine)。JVM是Java程序的虚拟机,是一种实现Java语言的解...

2024-10-26 08:50 citgpt

使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
  • 使用Spire.Doc组件利用模板导出Word文档
跨域(CrossOrigin)

1.介绍  1)跨域问题:跨域问题是在网络中,当一个网络的运行脚本(通常时JavaScript)试图访问另一个网络的资源时,如果这两个网络的端口、协议和域名不一致时就会出现跨域问题。    通俗讲...

微服务架构和分布式架构的区别

1、含义不同微服务架构:微服务架构风格是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用轻量级通信机制(通常用HTTP资源API)。这些服务围绕业务能力构建并...

深入理解与应用CSS clip-path 属性
深入理解与应用CSS clip-path 属性

clip-pathclip-path是什么clip-path 是一个CSS属性,允许开发者创建一个剪切区域,从而决定元素的哪些部分可见,哪些部分会被隐...

2024-10-25 11:51 citgpt

HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
  • HCNP Routing&Switching之OSPF LSA类型(二)
Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
  • Redis和Memcached的区别详解
Request.ServerVariables 大全

Request.ServerVariables("Url")返回服务器地址Request.ServerVariables("Path_Info")客户端提供的路...

python操作Kafka

目录一、python操作kafka1.python使用kafka生产者2.python使用kafka消费者3.使用docker中的kafka二、python操作kafka细...

Runtime.getRuntime().exec详解

Runtime.getRuntime().exec详解概述Runtime.getRuntime().exec用于调用外部可执行程序或系统命令,并重定向外部程序的标准输入、标准输出和标准错误到缓冲池。...

promise.all详解 promise.all是干什么的
promise.all详解 promise.all是干什么的

promise.all详解promise.all中所有的请求成功了,走.then(),在.then()中能得到一个数组,数组中是每个请求resolve抛出的结果...

2024-10-24 16:21 citgpt

Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解
  • Content-Length和Transfer-Encoding详解

取消回复欢迎 发表评论: