IntelliJ IDEA 即将支持全新的 Java 13 Preview 功能。 IDE 支持更新的 Switch 表达式及其新语法:现在, 如果您需要在 Java 13 中从多行代码块返回值,可以使用 yield 关键字,而不用换行。 我们还更新了对文本 块的支持,允许您将更长的多行文本块嵌入源代码中,例如 HTML 或 SQL。 借助此功能,您可以粘贴 两种格式:在粘贴到字符串中时转义值,或者在粘贴到文本块中时省略转义。
我们添加了一个新意图,您可以运行此意图,将带有多个返回的方法转换成单个出口点并进行准备,以便用于 Inline Method 重构。 一个方法可能通过定义多个返回语句的方式包括多个出口点。 当您在 IntelliJ IDEA 中内联这样的方法时,可以对其 进行修改,以单个返回语句的形式定义一个出口点来退出该方法。 此类方法不容易引起混淆,因为您有一个可以 定位它们的路径并且不需要搜索出口。
我们使用一种名为「Find Cause」的新操作替换了传统且效果非常好的「Constant conditions & exceptions」检查。 除了会通知您 可能或实际的问题外,此检查还会将您导航到可疑代码段。 不用再通读文件和搜索 必要的代码行。
我们将用于 Java 的「Duplicated code fragment」检查与用于其他语言的「Locate duplicates」工具合并,为您提供了一种名为 「Duplicated code fragment」的新检查。此检查功能十分强大,汲取了前两种工具的精华。 新检查可以配置,动态运行,并支持除了 Java 外的 许多语言。
在 IntelliJ IDEA 2019.2 中,我们更改了代码补全弹出窗口的外观,使其可以提供更多帮助。 从现在开始,补全会识别错误输入的 模式并建议可能的修复,因此若您意外输入「retru」,IDE 会建议将其替换为「return」。
Structural Search 是一个强大的功能,允许您在项目中搜索特定的代码模式。 在您输入时,IntelliJ IDEA 会在编辑器中高亮显示 与您的搜索匹配的字符串。 此外,IDE 还会直接在 Structural Search 对话框的编辑区域中显示筛选值。 在您 试验模式时,不再需要连续不断地重复运行搜索。
现在,您可以直接在 IDE 中分析应用程序的性能,因为 IntelliJ IDEA 已在 Windows、macOS 和 Linux 上与 Java Flight Recorder 集成。
macOS 和 Linux 用户还可以使用 Async Profiler。 此工具可以轻松成为您的最佳伴侣,因为它可以提供内存和 CPU 在您的应用程序分配的所有信息。
现在,您可以在一个视图下获取控制所有操作的一切信息。 全新的 Services 工具窗口整合并封装了最有用的工具: RunDashboard、Database Console、Docker 和 Application Servers 视图。 它还为连接、运行与调试配置、应用程序服务器、数据库控制台等提供了单一的显示和控制点。 对于数据库,该工具窗口还有一个查询生存计时器,可以显示运行查询的每个连接的持续时间。
在 IntelliJ IDEA 2019.2 中,您可以在 Services 工具窗口内 Docker 节点的 Files 标签页中查看正在运行的 Docker 容器的文件系统。
此版本改进了文件系统刷新的性能和 UI 响应,并缩短了由处理文件系统更改引起的大多数延迟。 我们竭尽全力优化了启动性能,因此您应当能够在启动 IDE 时感受到提升。
您现在可为每个文件夹使用单独的代码样式配置。 想要试试吗? 将 EditorConfig 文件置于模块或软件包的根目录中,然后即可看到效果。
IDE 现在通过 EditorConfig 文件管理所有代码样式设置。 所有调整现在都可以在预览中看到,因此您漫无目的地尝试设置的日子已经一去不复返了。
IntelliJ IDEA 现在与 TextMate 编辑器集成,可为 20 多种不同的编程语言提供开箱即用的语法高亮显示。 如果要为任何其他语言添加高亮显示,您只需为语言下载 TextMate 捆绑包,然后将它导入到 IDE。
现在,您可以选择将脱字符号置于何处:当前单词的结尾或者下一个单词的开头。 在 Settings/Preferences | Editor | General 的 Caret Movement 选项中选择最适合您的行为。
另一个可以帮助您更快输入的功能现在默认处于启用状态:Tab 键现在可以让您跳出右中括号或引号。 此功能仅在您输入时运行。
要禁用此选项,请转到 Settings/Preferences | Editor | General | Smart Keys,然后取消选择「Jump outside closing bracket/quote with Tab when typing」复选框。
虽然不是全新的技术,但这个超级方便的功能现在已默认启用:当您输入大括号或引号时,IntelliJ IDEA 会自动使用大括号或引号包围选定的代码。
如果您不喜欢我们提供的这个功能,请转到 Settings/Preferences | Editor | General | Smart Keys,然后取消选择「Surround selection on typing quote or brace」复选框。
我们为从 Mac OS X 至 macOS 10.5+ 的 macOS 更改了默认按键映射。 我们还重命名了按键映射:Mac OS X 10.5 现在叫作 Default for macOS,过时的 Mac OS X 现在为 IntelliJ IDEA Classic。
现在,您可以在 IntelliJ IDEA 中轻松打开大于 25MB 的文件,并且不用等待很长的时间即可完成搜索。 对于处理日志文件的用户来说,这是一项非常好的小改进。
此版本可以更快地提供由代码检查建议的修复。 检查弹出窗口现在不仅会描述问题,还会直接为您显示最相关的解决方案。 如果修复适合您,请按 Alt+Shift+Enter,或者使用 Alt+Enter 快捷键从列表中选择其他选项。
New Class 对话框具有新的外观。 此外,此对话框现在还可让您预览您能够创建的类的类型。
在 Windows 10 上,IDE 现在采用全新的现代无边框外观。
新选项可以帮助您监视项目动态,并显示 Project 视图树中所有项的大小和修改时间戳。 要启用此功能,请在树形视图中选择 View | Appearance | Descriptions。
编辑器和调试器标签页的设计在 Light 和 Darcula 皮肤下已改为拥有一致的外观。 在 Light 皮肤下,我们将标签页的高度调整为工具窗口标题的高度。 我们还移除了标签页下面的白线以最大程度减少视觉混乱。
随着从工具栏移除不受欢迎的图标并在视觉上减少它们加载的趋势,我们精简了 Find Usages 工具窗口的工具栏。 一部分图标现在已群组,一部分则被移除。
在此版本中,我们添加了期待已久的 Gradle 依赖关系图。 只需点击 Gradle 工具窗口工具栏上的 Show Dependencies 图标,或者按 Alt+Shift+Ctrl+U/Alt+Shift+Cmd+U。 从此关系图中选择节点可以查看它们的相邻节点,然后点击节点即可查看它们连接到根节点的方式。
从 2019.2 版本开始,您可以更轻松地编辑 build.gradle 文件。 IntelliJ IDEA 现在支持任务声明语法和各种依赖关系表示法,并在依赖关系块和依赖关系配置闭包中提供代码补全。
Gradle 操作的状态树和输出控制台现在并排显示,可以帮助您监视同步/生成过程。 这样可以提供更详细和熟悉的 Gradle 输出信息。
现在,IntelliJ IDEA 在 Build 工具窗口中报告 Maven 导入过程和 Maven 生成输出。 这提升了进度和错误报告的可见性,简化了导航,并让 Gradle/Maven 体验更加一致。
pom.xml 中的依赖关系代码补全现在开箱即用。 之前,只有在您触发 Maven 代码库的索引编制时,补全才会运行。
在此版本中,我们为 Git 添加了原生忽略文件的处理功能。 从现在开始,原生忽略文件处理开箱即可用于所有受支持的版本控制系统。
您不再需要于 .gitignore 列表中手动添加文件。 现在一切都更简单:从 Project 树或 VCS 工具窗口的 Local Changes 标签页中将文件添加到忽略文件的列表。 用于提供 Git 忽略和 HG 忽略支持的 .ignore 插件现在仅提供 VCS 忽略的高级功能,因为主要功能是平台的一部分。
IntelliJ IDEA 2019.2 为使用 Git 或 Mercurial 的项目带来了重大变化。 无需打开一个单独的对话框来提交文件;您现在可以从 Version Control 工具窗口的 Local Changes 标签页中提交文件。 在此标签页中,您可以检查修改的文件并根据需要进行更改,因为提交对话不会妨碍 IDE 的其他部分。
要进行尝试,请在 Settings/Preferences | Version Control | Commit Dialog 中选中「Commit from the Local Changes without showing a dialog」复选框。
IntelliJ IDEA 2019.2 可以提醒您修改您通常随最近修改的文件一起提交的文件。
IntelliJ IDEA 可以提示您将从 IDE 外部复制的任何文件添加到项目中,或者将在控制台中或代码执行期间创建的文件添加到版本控制中。 您还可以将 IDE 配置为自动添加此类文件。
现在,您可以选择想在 VCS Log 标签页中看到哪些列。 点击眼睛图标,选择显示列 (Show Columns),然后选择您想要显示的列:作者、日期或提交哈希。
现在,您不用切换到终端即可放弃 Git Merge 或 Cherry-Pick。 在进程运行时,Abort Merge/Abort Cherry-pick 选项会出现在 Branches 弹出窗口中。
轻松跟踪项目中的更改。 现在,当您在 Project 视图中的选定目录上使用 Git | Show History 操作时,IDE 会在按照各自路径筛选的 Log 标签页中显示结果。
您还可以同时查看在多个文件夹中进行的更改。 右键点击您想要检查其更新的文件夹,然后选择 Git | Show History。
之前,当您使用 Update Project 和 Pull 操作时,IDE 会在 Version Control 工具窗口的 Update Info 标签页中显示更新文件的树。 在 v2019.2 中,Update Info 以更新期间收到的提交列表形式显示。 Update Info 标签页现在与 Log 标签页类似。
Branches 弹出窗口中的「Compare with Current」现在分成 2 个单独的操作:「Compare with Current」和「Show Diff with Working Tree」。 更新的「Compare with Current」操作现在可以显示提交中的差异,而全新的「Show Diff with Working Tree」则可以显示文件差异。
在「Collapse Unchanged Fragments」模式下,Diff 现在可以显示在当前代码块中修改的方法。 您不仅会更容易地看到更改,还可以理解上下文。
IntelliJ IDEA 中捆绑的 Kotlin 插件现在已更新到 v1.3.41。
IntelliJ IDEA 2019.2 提供了更多适用于 Kotlin 的 JPA 编码辅助功能。 现在,您可以使用 Generate Kotlin Entities 脚本在选定的表上生成 Kotlin 实体类。 此脚本可轻松自定义;转到 Scripts Directory,通过修改脚本以解决特定任务来对脚本进行试验。 此外,IDE 现在还可以使用「Go to Declaration(Cmd+B/Ctrl+B) 」操作将您导航到相应的列或表。
当您在挂起函数或 lambda 内的某个断点处停止时,「Async stack trace」现在可以向您显示挂起的最后一个点处的变量的状态。 您可以浏览从当前协程开始的挂起函数的整个堆栈跟踪,并检查变量的存储值。 这可以帮助您了解到达执行的当前点的方式。
如您所知,在 Kotlin 中,您可以使用临时文件对代码库进行小规模试验。 现在,您可以使用交互模式,此模式会在特定的超时之后向您实时显示结果,而无需显式重新运行脚本。
您多久检查一次项目中的 TODO 列表? IntelliJ IDEA 现在会在 Kotlin 中正确地高亮显示多行 TODO 注释,并在 TODO 工具窗口中以列表的形式显示它们。
如果您为 Java 使用外部为 Null 性注释,IDE 现在可以在 Kotlin 中警告您注意不正确的注释 Java 方法的用例。 请注意,这是一种纯粹的 IDE 功能;相应的代码将由 Kotlin 编译器编译并且没有警告,而 IDE 将显示附加警告。
我们扩展了 Groovy 3.0 语法以及对嵌套式代码块的支持。 而且,IDE 现在还会在默认情况下将闭包表达式中的大括号和箭头加粗,这样您就可以轻松地理解代码的结构并将代码块与闭包区分。
您还可以使用快速修复,它们会为没有明确定义参数类型的 Groovy 方法的方法声明中的所有参数添加显式类型。
IntelliJ IDEA 现在会显示类型归因提示并高亮显示与预期类型不匹配的部分,而不是使用红色波形曲线为类型不匹配错误添加下划线,后一种方式可能会延伸到多个行。
类型不匹配工具提示现在进行了精细的垂直对齐,并提供成对比较。 算法会考虑语法糖、子类型、差异和其他棘手的方面。
类型注释提示现在支持动态折叠、工具提示、导航和大括号匹配。 类型提示现在仅在真正需要时显示。
之前,您必须使用意图将表达式包围在大括号中或从中解包。 现在,IntelliJ IDEA 可以在您输入时自动执行此操作。
IntelliJ IDEA 总是使用灰色将未使用的导入或不可到达的代码标记为「冗余」(依配色方案定义)。 不过,一些其他冗余代码被高亮显示为「一般警告或错误」,这会污染代码并隐藏真实错误。 现在,我们使用灰色来一致地标记所有冗余代码,因此高亮显示不再醒目。
您现在可以补全整个 case 子句 (之前,您只能在 case 子句中补全模式)。 补全不仅适用于 match 语句,也适用于更高阶函数。
现在,您可以将语言注入包含边距的多行字符串文字。
IntelliJ IDEA 现在支持 Build Server Protocol (BSP),此协议将生成工具(服务器)与 IDE(客户端)彼此沟通的方式标准化。 很长时间以来,BSP 支持都是一项实验性功能。现在它已正式成为 IDE 的重要功能。
借助新的「Propagate to destructuring」意图操作 (Alt+Enter),您可以在可行的场景下将一个额外变量替换为解构。 要完全移除解构,请使用名为「Replace destructuring with property or index access」的意图操作。 如果条件中的布尔表达式含有不必要的部分,IDE 现在将发出警告,并且提供简化该表达式的建议。
重命名 JavaScript 或 TypeScript 文件中的符号时,IDE 现在会将动态用法组合在一起,并且默认会从重构中排除它们。 这使重构更准确,并且使您可以更严格地控制应该在重构预览工具窗口中重命名的东西。
在 Vue.js 应用程序中使用 Vuetify 或 BootstrapVue? 我们为这些库在 IDE 中采用了新方式。 从现在开始,这些和其他 Vue 组件库的组件及其属性的代码补全更加准确。
现在,Node.JS 插件已预先安装在 IntelliJ IDEA Ultimate 中。
现在,即使您不知道其确切位置,也可以搜索需要的数据。 右键单击您想要在其中搜索的单个数据源或一组数据源,然后选择 Full-text Search,或者按 Ctrl+Alt+Shift+F / Cmd+Alt+Shift+F。
结果将进行筛选,仅向您显示在其中找到数据的字符串。 如果由于列过多而无法定位数据,请在数据编辑器中使用文本搜索 (Ctrl/Cmd+F)。
在 GoTo 弹出窗口中定位对象并不总是非常容易,尤其是在有很多相似项的情况下。 在 IntelliJ IDEA 2019.2 中,您可以选择搜索的位置:在特定的数据源中或一组数据源中。 这些同样适用于 Find In Path。 如果您要在其他对象的 DDL 中查找源代码,这将特别有用。
当您在包含多个方法调用的行上进行「单步执行」时,可以选择您想要单步执行的方法、lambda 或方法引用。
此版本为 shell 脚本提供了丰富的编辑支持,包括单词和路径补全、快速文档,甚至是文本更名。 您还可以创建用于执行 shell 脚本的运行配置 - 这只是一部分功能。 我们将多个外部工具集成到 IntelliJ IDEA 中,提供更高级的 shell 脚本支持。 从现在起,您可以使用 Shellcheck 检测和修复脚本中的错误,使用 Shfmt 正确地格式化 shell 脚本,使用 Explainshell 获得必需命令的完整描述 (按 Alt+Enter)。
现在,您可以将一段 cURL 请求字符串粘贴到 HTTP 客户端中,并让 IDE 自动将其转换为完整请求。
假设您向服务器进行身份验证请求,在随后的请求中,您调用一些需要额外权限的端点。 之前,您会丢失第一个响应的 cookie。 但现在不会这样了:IDE 现在会为您保留所有 cookie,并在后续请求中进行传输。
之前,终端有时会在换行时断开链接,且有些换行不正确。 现在,在您运行输出长行的命令时,终端会顺利地自动换行,且能确保所有链接处于有效状态。 如果您点击换行的链接,它会立即发送到您的浏览器。
在用作合并文件的命令行工具时,IntelliJ IDEA 现在会返回正确的退出代码。 您现在可以在任何自定义工作流中将 IntelliJ IDEA 用作合并工具。 我们还支持 --wait 命令行选项,用于以块的方式从终端中编辑文件。
IDE 现在可以立即在 Settings/Preferences 对话框的 Plugins 页面上显示插件详细信息,因此,您不用逐个点击各个插件。 我们移除了 Updates 标签页,并将「Update」按钮置于 Installed 标签页中的插件名称附近。 我们在齿轮图标下添加了新选项,允许您同时禁用或启用下载的插件。 帮助您省去众多点击次数,并将时间用在更重要的事情上。
带有 Kubernetes 插件的新版本 IntelliJ IDEA 2019.2 为 Kustomize 提供了编辑支持,包括键和路径补全以及适用于 Kustomize 资源文件的许多检查。
更名重构现在可以用于 Kustomize 资源文件的文件和目录更名。 您可以使用 Ctrl+B/Cmd+B 快捷键,从 Kustomize 资源文件中声明的路径跳到 Project 工具窗口中的相关软件包或文件。
现在,您可以使用 URL 从外部源加载自定义资源定义 (CRD) 规范。 要添加规范,请转到 Settings/Preferences | Languages & Frameworks | Kubernetes,然后添加 CRD 规范的 URL。 (之前,只能从本地文件添加 CRD。)