PhpStorm 2019.2 最新变化

通过 PhpStorm 在 2019 年的第二次重大更新体验超高效。

PHP 7.4 类型属性

PHP 7.4 预计在 11 月底推出, PhpStorm 很早就开始支持,以便您有时间测试和开始规划升級。 最值得期待的功能也许是新的类型属性,PhpStorm 2019.2 已经完全支持该功能。 新检查将高亮显示类型违规,可以使用快速修复 为属性增加类型宣告 (Add declared type for the field) 更新代码库。 PhpStorm 将根据 PHPDoc、默认值或构造函数中的参数类型声明自动检测类型。

即时定位重复项

即时定位重复项

在项目中多次出现相同代码块可能会增加修改时间,如果忘记更新所有实例,甚至会导致回归错误。 PhpStorm 通过高亮显示重复代码有助于防止在代码中创建重复代码,而且便于您轻松发现它们。 现在,如果您偶然发现存在重复,或者以某种方式在代码中创建了重复,您将立即知道它! 新检查名为重复代码段 (Duplicated code fragment),默认启用。 转到 Preferences | Editor | Inspections | General 配置它。 可以在 Preferences | Editor | Duplicates 调整相关设置。 当然,可以通过 Code → Run Inspection by Name 随时在整个项目 (或自定义范围) 上运行它。

正则表达式注入

正则表达式注入

正则表达式对于搜索和替换字符串极其有用。 在 PhpStorm 中,您现在可以在 PHP 中自动注入正则表达式。 这意味着无论代码是否使用 preg_* 函数,都将高亮显示该模式并验证其正确性。 此外,您现在可以直接在 IDE 中测试模式。 将插入符号移动到模式上并按下 Alt+Enter 以查看快速操作 检查正则表达式 (Check RegExp)

通过任何远程 PHP 解释器运行 Composer

通过任何远程 PHP 解释器运行 Composer

以前必须通过本地 PHP 解释器运行 Composer。 其问题在于本地环境通常并未反映真实的生产设置,或者根本没有本地 PHP 解释器。 在 PhpStorm 2019.2 中,可以选择任何远程解释器来运行 Composer: DockerVagrant,通过 SSH 或任何其他东西 – 您可以想到的!

转到 Preferences | Languages & Frameworks | PHP | Composer,选择 Remote Interpreter,然后从下拉列表选择解释器 – 或新增一个。

检查与快速修复

String Juggling Toolbox 中的新意图

String Juggling Toolbox 中的新意图

PhpStorm 支持多种操作字符串的意图 Alt+Enter, 在 2019.2 中又新增一個新的。

如需在 sprintf 表达式中引入新参数,只需选择它,运行提取选定字符串部分,作为格式化函数的参数 (Extract selected string part as format function argument) 意图,PhpStorm 将选择参数的正确位置。 这也适用于串联。

将一行列表转换为多行,以及反向转换

将一行列表转换为多行,以及反向转换

根据 PSR-2,应该将长度超过 80 个字符的行拆分为多行,且每行不超过 80 个字符。 因此,如果参数列表或数组过长,现在只需一次点击,使用新意图 Alt+Enter 将逗号分隔的值拆分为多行 (Split comma-separated values into multiple lines)。 如果想将项目组合成一行,也可以使用相反的意图。

Switch 语句的意图和检查

Switch 语句的意图和检查

现在可以复制并修改现有分支,从而加快添加分支的速度。 现在可以在 body-less case 语句上使用 Alt+Enter 并选择复制 swich 分支 (Copy ‘switch’ branch)。 别忘了修改复制的,因为如果 switch 代码块含有重复分支,PhpStorm 将发出警告,即:相同的代码体,既不能冗余也不能写错。 此外,在 PhpStorm 2019.2 中,如果某个 switch 语句没有默认分支,也可以使用 Alt+Enter 快速修复。

PHPT 支持

PHPT 支持

.phpt 文件可以帮助您以简单的方式写函数测试。 该格式用于测试 PHP 内核。 PhpStorm 2019.2 支持 .phpt 文件,包括高亮显示部分 (section) 和脚本,PHP 和 INI 语言自动注入相应部分,补全部分名称,以及跳到在 EXTERNAL 部分引用的文件。

Docker

服务工具窗口

服务工具窗口

Docker 已经移到新的服务工具窗口。 此工具窗口的目标是从一个地方查看所有连接和正在运行的进程。 目前为止,PhpStorm 包括 Docker 和数据库连接。

浏览 Docker 容器文件系统

浏览 Docker 容器文件系统

现在可以查看运行的 Docker 容器的文件系统。 在新增的 Files 标签页显示文件系统。

HTTP客户端

HTTP 客户端的 cURL 格式

HTTP 客户端的 cURL 格式

很简单,只需从浏览器开发工具、文档、终端或任何其他地方复制 cURL 请求字符串,随后在 PhpStorm 中将其粘贴到 .http 文件,它将扩展为完整的请求! 之后可再利用智能补全来实现您的请求。

在 HTTP 客户端保留 cookie

在 HTTP 客户端保留 cookie

假设您提出了使用服务的身份验证请求,在随后的请求中,您想要调用一些需要其他权限的端点。 之前,您会丢失第一个响应的 cookie。 但现在不会这样了:PhpStorm 现在会为您保留所有 cookie,并在后续请求中进行传输。

Web 技术

和往常一样,WebStorm 的所有功能和改进都适用于 PhpStorm,要么开箱即用,要么通过插件 Marketplace 中的免费插件提供。

用于 JavaScript 和 TypeScript 的智能意图

用于 JavaScript 和 TypeScript 的智能意图

借助新的传播到解构 (Propagate to destructuring) 意图 Alt+Enter,您可以将一个额外变量替换为另一个解构。 要完全移除解构,可使用名为用属性或索引访问替换解构 (Replace destructuring with property or index access) 的意图操作。

如果条件中的布尔表达式含有任何不必要的部分,IDE 将发出警告,并且提供简化该表达式的建议。

改进了 JavaScript 的更名重构

改进了 JavaScript 的更名重构

重命名 JavaScript 或 TypeScript 文件中的符号时,IDE 现在会将动态用法组合在一起,并且默认会从重构中排除它们。 这使重构更准确,并且使您可以更严格地控制应该在重构预览工具窗口中重命名的东西。

改进对 Vue.js 的支持

改进对 Vue.js 的支持

在 Vue.js 应用程序中使用 Vuetify 或 BootstrapVue? 这些和其他 Vue 组件库的组件及其属性的代码补全更加准确。 这是通过我们采用新方法在 IDE 中使用这些库实现的。

20+ 语言的语法高亮显示

20+ 语言的语法高亮显示

PhpStorm 2019.2 为 20 多种编程语言提供开箱即用的语法高亮显示,包括:Ruby、Python、Go 等。 高亮显示基于集成的 TextMate 捆绑包,因此,如果您需要任何其他语言,可随意下载该语言的响应捆绑包,然后导入 IDE。

EditorConfig

EditorConfig

PhpStorm 现在开箱即用地支持 .editorconfig 文件! 无论您想使用多少个都行。 在任何文件夹中创建它们,指定的代码样式设置将仅应用于该文件夹中的文件。

除了所有符合 EditorConfig 标准的标准属性外,现在还可以指定 PhpStorm 专用的代码样式选项。 为整个团队定义通用的代码风格标准从未如此简单。

Shell 脚本

Shell 脚本支持

此版本为 Shell 脚本提供了丰富的编辑支持,包括单词和路径补全、快速文档,甚至包括更名重构。 还可以创建用于执行 Shell 脚本的运行配置。

我们将 PhpStorm 与多个外部工具集成,以便提供更高级的 Shell 脚本支持。 从现在起,您可以使用 Shellcheck 检测和修复脚本中的错误,使用 mvdan/sh 正确地格式化 Shell 脚本,使用 Explainshell 获得命令的完整描述 (按 Alt+Enter)。

版本控制

开箱即用地忽略文件处理

现在可以从 Project 树或 VCS 工具窗口的本地更改 (Local Changes) 标签页中将文件添加到忽略文件的列表。 如果您更喜欢编辑 .gitignore,可以在编辑器中使用路径补全。

无需对话框的新提交流程

无需对话框的新提交流程

PhpStorm 2019.2 为使用 Git 或 Mercurial 的项目带来了重大变化。 现在可以从版本管理 (Version Control) 工具窗口的本地更改 (Local Changes) 标签页提交文件。 在此标签页中,您可以检查修改的文件并根据需要进行更改,因为提交对话不会妨碍 IDE 的其他部分。 要进行尝试,请在 Preferences | Version Control | Commit Dialog 中选中不显示对话框即从本地更改提交 (Commit from the Local Changes without showing a dialog) 复选框。

提醒被遗忘的文件

提醒被遗忘的文件

如果您在提交一些文件,且 PhpStorm 2019.2 检测到经常与当前提交的文件一起提交的其他文件繁盛了更改,IDE 将发出警告,这样您就不会忽略任何事情。

自定义 VCS 日志标签页

自定义 VCS 日志标签页

现在,您可以选择要在版本管理 (Version Control) 工具窗口的日志 (Log) 标签页中查看的列。 点击眼睛图标,选择显示列 (Show Columns),然后选择您想要显示的列:作者、日期或提交哈希。

数据库工具

全文检索提供全面结果

全文检索提供全面结果

现在,即使您不知道其确切位置,也可以搜索需要的数据。 右键点击您想要在其中搜索的一个或一组数据源,然后选择全文检索 (Full-text Search),或者按 Cmd+Alt+Shift+F

结果将进行筛选,仅向您显示在其中找到数据的字符串。 如果由于列过多而无法定位数据,请在数据编辑器中使用文本搜索:Cmd+F

在搜索和导航中按数据源筛选

在搜索和导航中按数据源筛选

在转到 (GoTo) 弹出窗口中定位对象有时并不容易,因为经常有很多相似项。 在 PhpStorm 2019.2 中,可以选择搜索哪里:在一个还是一组数据源中。 这些同样适用于 Find In Path。 如果您要在其他对象的 DDL 中查找源代码,这将特别有用。