借助此主要 IDE 更新体验超高效率
轻松地管理依赖项:在打开 composer.json 文件时可以直接在编辑器中执行所需的全部操作。
我们已弃用旧的 Manage dependencies 对话框,因为从 composer.json 文件内部处理包更加容易。
要添加新的包,您可以在 require(-dev)
部分中输入它的名称,或者按 Ctrl+Space,并从建议列表中选择需要的包。
也会列出特定包的所有可用版本。
开始新项目时,您可以使用 IDE 中的模板创建 composer.json 文件。 右键点击项目树,然后选择 New -> composer.json File。
如果在 composer.json 中指定了依赖项,但未安装,PhpStorm 会检测并高亮显示它。
按 Alt+Enter 并选择 Update package 或 Update all packages 可以安装。
您可以在包上按 Cmd(Ctrl)+Click,使 PhpStorm 在项目树中高亮显示供应商目录下该包的文件夹。 将会在编辑器中打开这些文件。
Cmd(Ctrl)+Click 或 Cmd(Ctrl)+B,同样可以在浏览器中打开 composer.json 中的任意链接。
脚本部分中的每一个条目在装订区域中都有一个播放图标,您点击它就可以立即运行脚本。
添加新的脚本条目时,自动补全现在支持脚本引用、来自 vendor/bin 目录的二进制文件以及来自项目源的任何 PHP 文件。
除了 Xdebug 外,现在还可以使用轻型 PHP 扩展 krakjoe/pcov 或内置的 PHPDBG 将生成覆盖率报告的速度加快。
您可以为测试创建运行配置。 在运行配置设置中,有一个下拉菜单可以选择您的首选覆盖率驱动器:Xdebug、PCOV 或 PHPDBG。
选择您的首选驱动器,然后点击主工具栏中的 Run with Coverage 按钮,并观察覆盖率结果。
PhpStorm 2020.1 提供了多种工具,可以帮助您快速、方便地升级到最新的 PHPUnit 版本。
编辑器中会高亮显示每一个弃用项。 将光标放在弃用项上,然后按 Alt+Enter,再从出现的列表中选择您的首选快速修复。 或者在错误描述窗口的底部进行选择。
要快速创建新的 PHPUnit 测试类,您现在可以通过在类名称上按 Alt+Enter 来使用 Create new PHP Test 意图。
PhpStorm 的核心——类型推断引擎——获得了一些不错的改进。
如果包含类型信息的 @var
标记冗余,且 PhpStorm 已了解变量的正确类型,那么此标记会被高亮显示。 您可以通过按 Alt+Enter 使用 Remove @var 快速修复将其删除。
跟踪可空性是一项复杂的任务,PhpStorm 曾经在一些位置无法对其进行检测。 2020.1 版本完全不一样了。 PhpStorm 会告知您变量是否为空,并帮助您避免可空性问题。
现在,传递到 array_map()
和 array_filter()
函数的闭包内的参数变量有一个完整的补全选项。
如果您要在包含已知项集合的数组上迭代,不再需要使用额外的 @var
标记来指定类型,因为 PhpStorm 会自动传播它。
我们在 v2019.3 中为 PHP 重新引入了机器学习辅助的补全选项排名。 此功能通过在补全弹出窗口中对元素重新排序改进了代码补全,这样一来,最相关的项排名更靠前。
默认情况下,ML 辅助补全处于禁用状态。 要将其开启,请选择 Preferences/Settings | Editor | General | Code Completion 下面的 Rank completion suggestions based on Machine Learning 和 PHP 复选框。
现在可以更轻松地将方法从一个类移动到另一个类,只需一个原子操作就可以完成。
将光标放在方法上,然后按 F6(或 Ctrl+T、3)。 然后选择目标类,这样就完成了。
如果 PHPDoc 块仅包含带有类型的 @param
标记,则可以将其完全移除,为参数使用原生类型声明。
按 Alt+Enter,然后选择 Remove redundant PHPDoc comment 快速修复。
PhpStorm 会高亮显示可以减少和简化的任何三元表达式。 使用快速修复 (Alt+Enter),您可以将它们替换为简单的等效表达式。
使用 pass-by-reference 可能导致意外的后果。 PhpStorm 2020.1 可以检测并高亮显示不必要地标记为 passed-by-reference 的参数。
同样适用于 foreach 循环中的冗余 by-ref 值。
在特殊的文件 .phpstorm.meta.php 中添加额外信息可以扩展 PhpStorm 的“代码感知”。 此区域已进行多项改进。
之前,使用 override()
、map()
和 type()
指令,可以只调整函数第一个参数的行为。 在 PhpStorm 2020.1 中,已经对此进行修复,可以明确地指定参数的索引。
如果您必须通过 __get()
魔术方法接收一些对象,那么您可能会丢失类型信息。 您现在可以在 .phpstorm.meta.php 文件中指定此信息,无需使用 @var
或 @property
标记。 即使类型预先未知,也同样适用。
PhpStorm 会将 die()
和 exit()
函数或引发异常的任何函数视为终止调用。 但是在应用程序中,还有一些必须被视为“出口点”的其他自定义函数,例如,调试函数中的 dd()
。 现在可以将任意函数标记为出口点。
之前,即使您想要将对象用作其他对象的数组容器,元数据辅助也可以让您继续使用代码补全。 不过,补全不适用于键。 2020.1 中添加了对键补全的支持。
最后但同样重要的是,您现在会在编辑器中看到 .phpstorm.meta.php 文件是否已使用 override()
、exitPoint()
或 expectArguments()
指令修改行为。 由于项目中可能有很多这种元文件,点击图标,您会看到在此特定位置中使用的元文件。
开发 Web 应用程序或 API 端点时,您现在无需离开 PhpStorm 窗口即可轻松地开始调试。
要执行此操作,请创建或打开 .http 文件,添加请求,然后使用 Alt+Enter 意图运行 PHP Debug。这会将 XDEBUG_SESSION
Cookie 添加到请求,与 Xdebug 浏览器扩展的操作方法类似。
WebStorm 2020.1 中的所有新功能和改进都适用于 PhpStorm 2020.1,要么开箱即用,要么通过插件 Marketplace 中的免费插件提供。
使用新的智能意图和检查 (Alt+Enter) 可在编码时节省时间! 例如,您现在可以快速地将现有代码转换为可选链和/或空值合并,该语法已在最新版本的 JavaScript 和 TypeScript 中引入。
通过对 Vuex 库和即将发布的 Vue 3 中的 Composition API 的开箱即用支持,您可以更加顺畅地构建出色的 Vue.js 应用程序。
借助新的 Run on save for files 选项,在您保存于 IDE 设置中指定并在项目中编辑的文件后,WebStorm 会将 Prettier 格式化应用到所有这些文件,不再需要文件观察程序或第三方插件。
高级校对和语法检查插件 Grazie 现在开箱即用。 立即高亮显示拼写错误和其他错误,并使用快速修复操作对它们进行快速修复,就像处理代码中的任何其他错误一样。
Markdown 文件默认启用拼写检查。 要检查任意 PHPDoc 注释、HEREDOC/NOWDOC 字符串或 PHP 文件中的字符串文字,您需要在 Preferences/Settings | Editor | Proofreading | Grammar 下启用拼写检查。
要进行更深度的语法检查,您可以在 Preferences/Settings | Editor | Inspections -> Proofreading 下启用 Grammar 检查。
借助新的 LightEdit 模式,可以将 PhpStorm 用作笔记本式的轻型编辑器,在文件中进行快速更改,而无需完全打开 IDE。
要试用此模式,请从命令行(如需更多说明,请参阅从命令行使用 IDE 功能)或从您的操作系统文件管理器打开文件。 如果 PhpStorm 没有运行,文件将在 LightEdit 模式下打开。
现在可以一次打开任意数量的终端会话,并同时观察所有终端会话上的输出,而无需在各个标签页之间切换。
您可以从 Terminal 调用上下文菜单来创建、导航和关闭拆分的终端会话。
所有 SSH 连接现在都位于 Preferences/Settings | Tools | SSH Configurations 下的一个位置。
这样就可以在一个位置创建连接,然后在 IDE 中的任意位置重用,例如在部署配置中,通过 SSH 用于远程 PHP 解释器,或作为 SSH 终端。
已为所有操作系统统一浅色主题,现在称为 IntelliJ Light。 如果您希望继续使用旧主题,可以在 Preferences/Settings | Appearance & Behavior | Appearance | Theme 下面切换。
JetBrains Mono 是我们专门为开发者设计的免费开源字样,可使代码读取更容易。 现在,它用作默认编辑器字体。
新的 Zen 模式将“免打扰模式”和“全屏模式”结合在一起,这样您就可以深入处理代码了。
要试用 Zen 模式,请转到 View | Appearance | Enter Zen Mode。
Interactively Rebase from Here 现在是一个真正交互式对话框,可以控制变基过程的各个方面:
为了简化提交流程,我们开发了一个新的 Commit 工具窗口,用于处理所有与提交相关的任务。 默认情况下为所有新用户启用。
如果您是现有用户,并且想试用,请选择 Preferences/Settings | Version Control | Commit 中的 Use non-modal commit interface。
DataGrip 团队对 PhpStorm 中的数据库工具进行了一些超棒的改进。 了解 DataGrip 2020.1 中的最新变化。
现在,终于能够以 Excel 文件导出查询结果或表了。
现在,您可以直接在代码编辑器中查看结果。 要试用此功能,请选中 Preferences/Settings | Database | General | Show output results in the editor 选项。
PhpStorm 用户已经十分熟悉运行配置的概念。 除了运行 PHP 脚本、测试或 HTTP 请求外,现在还可以执行 DB 查询。