应用简介
PhpStorm2020.2是由jetbrains公司推出的一款非常强大的 PHP 集成编程开发软件,该软件可以为广大用户提供实时错误预防、零配置调试、最佳自动补全与代码重构等功能,以及扩展的 HTML、CSS 和 JavaScript 编辑器等特色功能,并且该版本为永久破解版,直接集成了激活补丁,无需手动破解。
【功能特色】
【PHP 8 联合类型】
我们已开始支持 PHP 8 与联合类型。 在 PHP 8.0 中,您可以为属性、参数和返回类型声明多个类型。 PhpStorm 已经完全支持此功能,可以帮助您高效地迁移。
1、将 PHPDoc 转换为原生联合类型
联合类型过去通过 PHPDoc 提供,现在 PhpStorm 会高亮显示此类匹配项。
利用 Alt+Enter 快速修复,现在可以将它们转换为原生联合类型。
此修复适用于可使用联合类型的每个对象,包括函数参数、返回类型和属性。 对于属性,也会考虑默认值。
2、将语言级别切换为 PHP 8
要启用 PHP 8 相关功能,请使用以下任何一种方式将语言级别切换为 PHP 8:
直接在代码编辑器中使用 Alt+Enter 快速修复。
转到 Preferences | Languages & Frameworks | PHP,然后使用 PHP language level 列表。
在 composer.json 中指定 PHP 版本要求,PhpStorm 会自动选择相关要求。
3、执行类型验证
PhpStorm 会分析调用,计算可能的类型并高亮显示与联合类型相关的问题区域。
这些检查适用于所有级别:属性、参数和返回值。
在复杂的代码库中,您可以通过检查快速发现问题。 PhpStorm 甚至会在代码运行前高亮显示需要注意的地方。
4、检测重复和冗余类型
有许多禁止或冗余的类型组合。
5、处理可为 null 的类型
有单个可空类型时,PHP 8 让您可以使用 ?Type 符号或 Type|null。
但有时会有多个类型与 null 组合,使用 ?Type1|Type2 会因为模糊而被禁止。
PhpStorm 会高亮显示这些违规,并提供 Alt+Enter 快速修复来转换它们。
6、遵守差异规则
继承期间,如果您遵守以下这些基本规则,PHP 将允许您修改类型:
参数类型为逆变,也就是可以扩展。
返回类型为协变,也就是只可以缩小。
必须评估属性类型是否为同一类型。
幸运的是,借助 PhpStorm,现在无需记住这些规则,因为它会检查代码并高亮显示任何违规。
7、使用假型 false
在 PHP 8 中,将有一个特殊的 false 假型,仅可以在联合类型声明中使用。
它在标准库中广泛使用,例如,strpos() 或 array_search() 可用于其他地方来指示阴性结果。
PhpStorm 会突出显示不正确的用法并考虑类型推理。
8、移除冗余 PHPDoc
添加原生联合类型声明后,PHPDoc 可能不必要,因为它不会提供任何其他信息。
您现在可以使用快速修复 Alt+Enter 将其移除。
【新控制流引擎】
1、条件始终为真
PhpStorm 现在可以分析复杂的代码路径并检测 if-else 块中的条件是有意义还是冗余。
2、“instanceof” 的结果始终为真
PhpStorm 可以检测 instanceof 检查何时合适(与条件类似),或依据类型层次结构中的推理类型评估它们是否始终为 true。
3、新操作:Type Info
这一新操作让您可以了解任何选定表达式的推理类型。
编码时,您可以选择表达式并使用 Ctrl+Shift+P 快捷键或 View | Type Info 菜单检查其类型。
4、表达式始终为 “null”
PhpStorm 可以检测变量何时保证仅为 null。 在这种情况下,IDE 会建议简化表达式来使其更清晰。
【质量工具改进】
现在可以通过 Docker Compose 运行质量工具。
要执行此操作,请转到 Preferences/Settings | Languages & Frameworks | PHP,并根据 Docker Compose 添加新的远程解释器。
适用于 PHP-CS-Fixer 和 PHPCBF 的 Reformat 操作现在也可以通过远程解释器运行。
如果 PHP_CodeSniffer 的 ruleset.xml 包含 "exclude-pattern" 部分,PhpStorm 现在会考虑这一情况,且不会分析指定路径下的文件。
【Composer 改进】
可以直接在编辑器中的 composer.json 文件内管理 Composer 依赖项。
1、支持自定义 Satis/Packagist 包
如果 “repositories” 部分中有指定的自定义源,您将能够对自定义包进行补全。
现在,会有一个间距图标显示缓存自定义存储库的当前状态。
2、多个版本的补全
如果包具有以逗号或管道 (||) 分隔的多个版本,PhpStorm 会提供补全,包括可用于此包的全部版本。
之前在输入 ~、^ 或 >= 后补全就会丢失,但现在借助 composer.json 中的这些范围约束,它可以按预期工作。
3、快速访问作为依赖项添加的工具设置
PhpStorm 可与许多第三方工具集成。 现在,如果在 composer.json 中声明了受支持的工具,它旁边的间距中就会出现一个扳手图标。 点击这个图标,就可以直接前往偏好设置的相关部分。
【Extract Class 重构】
如果许多其他工作使类变得混乱且负荷过重,现在可以使用 Extract Class 重构将方法和属性移动到新类,对其进行重构。
选择您要移动的函数、方法或属性,按 Ctrl+T,然后选择 Extract class。
该重构会创建新文件,对构造函数中类的对象进行实例化,并自动调整用法。
【命令行工具改进】
对远程解释器的支持现在可用于 PHP 命令行工具。
在 Preferences/Settings | Tools | Command Line Tool Support 下面,添加新工具条目,然后选择配置的其中一个远程解释器。
现在会自动检测 Laravel Artisan! 这意味着,在打开 Laravel 项目时,您可以按 Ctrl-Ctrl,然后开始输入命令。 PhpStorm 会提供补全,并建议可用的命令。
【新检查】
1、仅与写入权限一起使用的数组
如果代码中的某一处声明并更新了数组,但从未读取它,这就说明此数组很可能冗余,并会为代码带来噪声。
该检查会检测这种用例,并提示您移除数组来使代码更整洁。
2、可能未赋值的类型属性
如果类型属性没有默认值,它会被视为未初始化。 读取未初始化的属性将生成 TypeError(除非定义了魔法 __get())。
PhpStorm 会检测未初始化的属性并高亮显示试图读取它们的代码。
【全面支持 GitHub Pull Request】
现在可以在 PhpStorm 中完成整个 Pull Request 工作流,无需切换到浏览器。 您可以管理 Pull Request;查看时间线和内联注释;添加评论和审查;并接受变更。
【OpenAPI 支持】
1、PhpStorm 2020.2 支持 OpenAPI Specifications 插件。 这是一款由 JetBrains 开发的免费插件,可在 OpenAPI 规范文件中提供补全、导航和验证(openapi.yaml/openapi.json 和 swagger.yaml/swagger.json)。
2、此插件还提供:
(1)Swagger UI 集成。
(2)代码生成。
(3)OpenAPI 规范之间的内置结构差异。
(4)间距图标,用于从规范创建 HTTP 客户端请求。
(5)在 HTTP 客户端中对端点进行自动补全
【新 Inspections 微件和 Problems 视图】
在编辑器的右上角,您会看到一个全新的 Inspections 微件,该微件汇总了当前文件中的问题。
1、点击箭头可以在问题之间跳转(或使用快捷键 F2 / Shift+F2)。
2、点击此微件可以在 Problems 工具窗口中查看文件中所有问题的列表。
3、悬停在微件上可以查看设置弹出窗口并选择要高亮显示的问题。
【Web 技术】
WebStorm 2020.2 中的所有新功能和改进都适用于 PhpStorm 2020.2,要么开箱即用,要么通过插件库中的免费插件提供。
1、将 Prettier 作为 JavaScript 项目中的默认格式化程序
想要使用 Prettier 而不是内置的格式化程序来整理代码? 借助此更新,这会变得比以前更容易。 只需勾选新的 On code reformat 复选框,IDE 就会在您重新格式化 .js、.ts、.jsx 和 .tsx 文件时使用 Prettier。 也可以轻松添加其他文件类型。
2、一流的 Vue.js 支持
Nuxt.js 支持、Vue 特定的代码样式设置、TypeScript 项目中围绕 Vue 的改进以及我们在过去一年中添加的许多其他功能。 PhpStorm 中的 Vue 支持从未如此先进!
3、利用适合 JavaScript 的新功能节省时间
新智能 Alt+Enter 意图会帮助您更快地执行一些操作。 例如,您现在可以将带有数字索引的 for 循环快速转换为 forEach 数组方法。 浏览 JavaScript 和 TypeScript 文件中的文档注释也变得更容易,因为您现在可以在编辑器中直接呈现它们,这将最大程度地减少分心。
【版本控制】
1、支持 WSL 2 中安装的 Git
PhpStorm 2020.2 支持 WSL 2 中安装的 Git,您可以使用它处理 Linux 和 Windows 文件系统中的项目。
IDE 可以根据项目位置在 Git 可执行文件之间切换。 从 WSL(通过 \\wsl$ 路径)打开项目时,IDE 会自动从 WSL 切换到 Git,还让您能够使用 IDE 中的所有 Git 相关功能。
2、用于比较分支的新 UI
在您想要比较两个分支以了解哪些提交不属于彼此时,PhpStorm 2020.2 会在编辑器中(而不是在 Git 工具窗口中)显示日志。 这会确保有足够的空间来显示全部信息。
从 Git Branches 弹出窗口菜单 VCS | Branches 中选择 Compare with Current 操作。
3、Drop Commit 操作
现在,在 Git 工具窗口的 Log 选项卡中选择冗余的本地提交,然后从上下文菜单中选择 Drop Commit,即可轻松地将其移除。
4、Squash 本地提交
还可以将多个本地提交合并到一个提交中,例如,在推送前清理历史记录。
在 Git 工具窗口中,选择提交,然后从上下文菜单中选择 Squash Commits…。
IDE 会在后台运行交互式衍合。
【数据库工具】
这是DataGrip 2020.2的最新变化,但是也可以在 PhpStorm 中使用所有这些功能。
1、单独的单元格值编辑器
现在,如果您的单元格中有一个巨大的值,可以在单独的面板中进行查看或编辑。 您还可以使用右侧工具栏切换自动换行模式。 为您的数据使用我们的代码编辑器的所有功能。
2、Google BigQuery 方言
我们添加了一个新的 SQL 方言:Google BigQuery。 尚未完全支持 BigQuery,但万事皆有始。 到目前为止,如果您使用 Google BigQuery,PhpStorm 可以正确高亮显示您的查询并为查询提供编码辅助。
3、DML 预览
您可以在数据编辑器中检查表示您的更改的查询。 存在未决更改时,会有一个 DML 按钮处于活动状态。 此查询不是将要运行以修改您的数据的确切 SQL,因为 PhpStorm 使用 JDBC 驱动程序来更新表,但大多数情况下它是相同的。
【其他改进】
1、自定义 getter 和 setter
2、在一个窗口中为多个项目使用 Resolve
3、新操作:Add Carets to Ends of Selected Lines
【破解说明】
1、集成激活补丁,永久激活
2、改配置文件为本地目录bin\PhpStorm,可以移动文件配置不丢失
3、设置为MD风格主题,修改字体以及配色样式
4、集成代码浏览插件(CodeGlance)