IntelliJ IDEA 开发工具

IntelliJ IDEA 2019.2:Java 13 Preview 功能、分析工具、Services 工具窗口

 今日新闻:我们的旗舰 IDE 的重大升级 IntelliJ IDEA 2019.2 正式发布!

在此版本中,IntelliJ IDEA 获得了大量出色的新功能和改进。如果您渴望尝试这个不可思议的 IntelliJ IDEA 版本,请访问我们的网站或通过 Toolbox 应用更新到此版本!

下面总结了此版本中的亮点。有关完整详情,请访问最新功能页面。

Java

  • Java 13 即将于 9 月推出,并且像往常一样,IntelliJ IDEA 已经准备就绪。IDE 支持 Switch 表达式预览功能 (JEP 354) 及其新语法,还有 Text Blocks 预览功能 (JEP 355)。

  • 即使返回声明中断执行流,IDE 仍可以执行内联方法重构。

  • 对于通过数据流分析检测到的问题,新操作 Find cause 可导航到可疑的代码段。

  • 我们改进了重复代码检测并将其扩展到许多其他语言。

  • 代码补全现在可以理解拼写错误,并为错误输入的模式提供最可信的建议。

  • 在使用结构化搜索时,IDE 会立即在编辑器中高亮显示结构化搜索模式的所有发现。

有关更多详情,请参阅“最新功能”页面的 Java 部分。

分析工具

  • 受欢迎的变化!

    现在,IntelliJ IDEA 2019.2 在 Windows、macOS 和 Linux 上与 Java Flight Recorder 集成,在 macOS 和 Linux 上与 Async profiler集成。

要了解详情,请参阅“最新功能”页面的分析工具部分。

Services 工具窗口

  • 借助全新的 Services 工具窗口,您可以在一个位置查看所有连接,以及已配置为向 Services 视图报告的运行配置。

  • IDE 在 Services 工具窗口内 Docker 节点的 Files 选项卡中显示正在运行的 Docker 容器的文件系统。

有关更多详情,请参阅“最新功能”页面的服务部分。

性能

  • 此版本的启动时间大大缩短。

 

编辑器

  • 通过 EditorConfig 文件按范围管理所有代码样式。 了解详情

  • 由于与 TextMate 编辑器的内置集成,可以为 20 多种不同的编程语言提供语法高亮显示。

  • Move Caret to Next Word 操作的默认行为已发生变化,IDE 现在会将脱字符号移动到当前单词的末尾。

  • 在您输入时,Tab 键在默认情况下可使脱字符号跳出右中括号或右引号。

  • Surround a selection with a quote or brace 默认处于启用状态。

  • IntelliJ IDEA 现在可以流畅地处理大文件。

  • macOS 上的新默认键盘映射是 macOS 10.5+,而不是 Mac OS X。

  • 为了使代码更易于阅读,我们更改了行间距,现在的默认值为 1.2。您始终可以在 Settings / Preferences | Editor | Color Scheme | Color Scheme Font 中更改行间距

有关更多详情,请参阅“最新功能”页面的编辑器部分。

外观

  • 为了使快速修复更容易被发现,我们为检查工具提示设计了一个新的外观,所以现在它不仅显示问题描述,还可以立即为您提供第一个可用的修复。

  • New Class 对话框焕然一新,现在可以立即显示所有可能选项列表的预览。

  • 代码补全弹出窗口的外观焕然一新。

  • 在 Windows 10 上,现在采用全新的现代无边框 UI。

  • 树形视图中的全新 View | Appearance | Descriptions 选项为 Project 视图中列表和树中的元素添加了其他信息,例如文件大小和修改时间。

  • 包含调试器选项卡的编辑器和工具窗口选项卡经过了一些改进,在 Light 和 Darcula 主题下已改为拥有一致的外观。

  • 继续介绍 UI 整理工作:我们清理了 Find Usages 工具窗口中的工具栏,并将所有很少使用的图标移除或组合在一起。我们还清理了上下文菜单。

有关这些新功能的更多详情,请访问“最新功能”页面的外观部分

Gradle

  • 点击 Gradle 工具窗口工具栏(Linux 和 Windows:Alt+Shift+Ctrl+U/macOS:Alt+Shift+Cmd+U)上的 Show Dependencies 图标,能够以图表的形式查看 Gradle 依赖关系。

  • 此版本包含 build.gradle 文件中的代码洞察改进。现在,代码补全支持任务声明、Gradle 任务的注释,甚至可以在依赖块内部使用。

  • 我们改进了 Gradle 操作输出的显示,为您提供有关同步/构建过程当前状态的信息,现在,状态树和输出控制台并排显示在一起。

  • Gradle 设置对话框已经过重新设计和清理。

有关更多详情,请参阅“最新功能”页面的 Gradle 部分。

Maven

  • Maven 同步的输出现在显示在 Build 工具窗口中,以便更清晰地显示进度和错误报告并简化导航。

  • IntelliJ IDEA 开箱即在 pom.xml 文件的 Maven 依赖项内部提供了代码补全。

  • 捆绑的 Maven 版本已更新至 v3.6.1。

有关更多详情,请参阅“最新功能”页面的 Maven 部分。

版本控制和差异

  • IntelliJ IDEA 2019.2 开箱即支持原生 Git 忽略文件处理。了解详情

  • 对于通常与当前修改的文件一起提交的文件,IDE 将提醒您修改这些文件并包含到提交中。

  • 现在可以从 Local Changes 选项卡提交;只需启用 Preferences / Settings | Version Control | Commit Dialog 中的 Commit from the Local Changes without showing a dialog 选项。

  • 查看从 Project 视图中选择的目录或多个目录的 Git 文件历史记录。

  • 存在正在进行的合并或 cherry-pick 进程时,Branches 弹出窗口中将显示两个新选项 Abort Merge 和 Abort Cherry-pick

  • 通过选择以下列之一来自定义 VCS Log 列:Author、Date 或 commit hash,这些列将显示在 VCS Log 选项卡中。

  • Update Project 操作后的 Update Info 以 Log 选项卡形式显示。

  • Git Branches 弹出菜单中改进的 Compare Branches 操作在 Log 选项卡中显示在一个分支中存在但在另一个分支中不存在的所有提交的列表。

  • 新的 Show Diff with Working Tree 操作可显示当前分支与所选分支之间的差异。

  • Diff 改进的 Collapse Unchanged Fragments 模式现在可显示在其中修改当前代码块的方法名称,以便您更轻松地理解上下文。

  • IDE 现在会提示您将文件添加到从外部复制到项目中的版本控制中。

有关更多详情,请参阅“最新功能”页面的版本控制部分。


Kotlin

捆绑的 Kotlin 插件已更新至 v1.3.41。

  • 更好的 Kotlin JPA 支持包括:代码补全、错误高亮显示、用于导航的间距图标以及生成 Kotlin 实体类的能力。

  • Async stack trace 操作现在显示挂起的最后一个点处变量的状态。

  • Kotlin 临时文件的新交互模式可在特定的超时之后向您实时显示结果,而无需显式重新运行脚本。

  • IDE 在编辑器中高亮显示 Kotlin TODO 注释,并在 TODO 工具窗口中显示它们。

  • 如果您为 Java 使用外部可空性注释,IDE 现在可以在 Kotlin 中警告您注意不正确的注释 Java 方法的用例。

要了解详情,请参阅“最新功能”页面的 Kotlin 部分。

Scala

  • IntelliJ IDEA 现在会显示类型归因提示并高亮显示与预期类型不匹配的部分。

  • 类型不匹配工具提示现在进行了精细的垂直对齐,并提供成对比较。

  • 类型注释提示现在支持动态折叠、工具提示、导航和大括号匹配。

  • IntelliJ IDEA 现在可以在您输入时自动包围(或解包)表达式。

  • IDE 现在使用灰色来一致地标记所有冗余代码,因此高亮显示不再醒目。

  • 我们改进了代码补全,现在您可以补全整个 case 子句。

  • 现在,您可以将语言注入包含边距的多行字符串文字。

  • IntelliJ IDEA 完全支持 Build Server Protocol (BSP)

有关更多详情,请参阅“最新功能”页面的 Scala 部分。

Groovy

  • Groovy 3.0 语法的支持已改进 – 我们现在支持嵌套代码块,并且会在默认情况下将闭包表达式中的大括号和箭头加粗,这样便可更轻松地将代码块与闭包区分。

要了解详情,请访问“最新功能”页面的 Groovy 部分。

JavaScript 和 TypeScript

  • 借助新的 Propagate to destructuring 意图 (Alt+Enter),可以将一个额外变量替换为另一个解构(如果可行)。

  • 重命名 JavaScript 或 TypeScript 文件中的符号时,IDE 现在会将动态用例组合在一起,并且默认会从重构中排除它们。

  • 对于 Vuetify 和 BootstrapVue 库的组件及其属性,可以使用更精确的代码补全。

有关更多详情,请访问 WebStorm 最新功能页面。

JVM 调试器

  • 现在,Step Into 操作为您提供了一种单步执行方法。

 

Shell 脚本支持

  • 为 Shell 脚本提供丰富的编辑支持,包括单词和路径补全、快速文档预览,甚至还有文本重命名。

  • IDE 集成了 Shfmt(一个外部格式化程序引擎)、Shellcheck(一个方便的检查工具)以及 Explainshell(一个为所选命令提供详细解释的网站)。

  • 您可以创建运行配置来执行脚本。

    要了解详情,请访问“最新功能”页面的 Shell 脚本部分。

 

HTTP 客户端

  • HTTP 客户端支持 cURL 请求。只需粘贴一个 cURL 字符串,IDE 就会自动将其转换为完整的请求。

  • HTTP 客户端现在会为您保留所有 Cookie,并在后续请求中进行传输。

    有关更多详情,请参阅“最新功能”页面的 HTTP 客户端部分。

 

终端

  • 现在,在您运行输出长行的命令时,终端会顺利地自动换行,且能确保所有链接正常工作。

要了解详情,请查看“最新功能”页面的终端部分。

数据库工具

  • 借助全文搜索,您可以通过搜索数据源或数据源组来查找未知位置中的某些数据。

  • 您可以在搜索和导航中按数据源筛选。

有关更多详情,请参阅“最新功能”页面的数据库工具部分。

插件

  • 我们使 Plugins 页面更符合人体工学。

  • 新的 IDE 版本剥离了空闲插件。

    在此版本中,我们已经取消捆绑了几个插件:Struts 1、J2ME、JsTestDriver、Griffon(1.x) 和 CloudBees。了解详情

  • Node.JS 现在与 IntelliJ IDEA 旗舰版捆绑。

有关更多详情,请参阅“最新功能”页面的插件部分。

Kubernetes

  • Kubernetes 插件获得 Kustomize 支持。IDE 提供键和路径补全、检查、Rename 重构等。

  • 您可以使用 URL 从外部源加载自定义资源定义 (CRD) 规范。

有关更多详情,请参阅“最新功能”页面的 Kubernetes 部分。

JetBrains Runtime

  • IntelliJ IDEA 2019.2 默认在 JetBrains Runtime 11 下运行。

像往常一样,IntelliJ IDEA 不仅提供精心设计的新功能,而且还带来了稳定性和性能改进以及无数的错误修复。如果您想深入了解详情,请参阅版本说明

我们非常感谢所有用户通过我们的问题跟踪器、官方微博微信和此处的评论与我们分享您的看法和建议。没有您,就不会有今天的 IntelliJ IDEA!我们希望您喜欢我们准备的所有新功能和改进!立即下载 IntelliJ IDEA 2019.2!

祝您开发愉快!

原文发表于2019年7月24日,作者Zlata Kalyuzhnaya

Discover more

网络研讨会视频:快速上手,使用 Kotlin 把支付宝小程序装进自己的 App

写一个 Android App 或许不难,但企业对于移动应用的要求愈来愈高,不只要求开发速度、稳定度、质量等,甚至希望能具备动态扩展的架构设计、在 App 中自启动小程序。面向这些需求,若是有好的开发工具及平台的支持,将可以大大降低开发及运维的成本。本次网络研讨会特别邀请到支付宝高级无线开发工程师温盛章为大家演示用 Kotlin 开发移动应用,并集成 mPaaS 让 App 具备小程序能力。 (本次视频已同步发表至 B 站) 主題分享 本次分享共有三个关键字: Kotlin 、 小程序 、 mPaaS 。温盛章首先从用户、开发、技术、平台等四大视角,向大家说明小程序是什么?简单来说,小程序就是一种拥有完整生命周期、应用间相互隔离、独立运行于宿主应用内的应用。而小程序从工作型 App、平台型 App、超级 App 到新阶段一路的演化历程,目前已经可以有接近 Native 的体验和顺畅、也可以有 H5 的快捷发布的优势。 对小程序有概念后,温盛章就以 Android Studio 演示如何在一个 Mobile App 里,以 Kotlin 撰写 Mobile App 的代码,并接上 mPaaS 平台,让 App 有自启动小程序的能力。要接入 mPaaS,首先需在 Android Studio 里安装 mPaaS 插件,并到阿里云的 mPaaS 后台创建一个新建用。接着,在 Andro

网络研讨会视频:重构还是重写?聊聊 Java 代码臭味与重构技巧

在重构一书里,将有问题的代码称作代码臭味(Code Smells,有些翻译成”代码异味”、”代码坏味道”),表示这份代码可能有设计上的问题、或是因为写得太凌乱而难以维护。总得来说,这份代码需要通过重构来改善。这样的场景往往是许多开发者的每日工作,因此,判定一位开发者的等级,往往就是看他的重构技巧是否熟练。本次网路研讨会特别邀请到 Odd-e 敏捷教练张博超(Jackson)为大家演示如何用 IntelliJ IDEA 的重构功能来改善 Java 代码臭味。 (本次视频已同步发表至 B 站) 主題分享 在本次的分享里,张博超先用一个日常工作的场景给大家举了个例子:我们在工作前可能会先收拾一下桌子、重启电脑、提前打开软件、在昨天写的代码上加注释,这些动作代表很多情况下,人会有直觉去做改善措施,这些改善措施的背后都会对应一个需要解决的问题。写代码也是类似的,每当我们说要改善代码前,需要先想清楚这个改善的目标是什么?是要解决什么问题?同时,我们也要思考这个改善的作法是不是能真正的解决问题? 为了让大家具体体现重构的过程,张博超以一个计算预算的代码为例子,实际以 IntelliJ IDEA 演示该怎么综合运用提取变量、提取方法、提取类、引入参数对象、修改构造函数等重构功能安全地修改代码,将一个原本高达 30 行、充满原始类型迷恋(Primitives Obsession)、过分亲密(In