
大家好! 我们很高兴为您介绍PhpStorm今年的第二个主要版本!
该发行版的概述可以在“ 新增功能 ”页面上找到。 并在切口下,对所有明显的变化和新功能进行了详细分析。 (警告-图片很多!)
您可以在网站上或使用工具箱应用程序下载新版本。 与往常一样,有30天的试用期。 有效订阅 PhpStorm或“所有产品”包的持有者以及开放源代码项目的免费学生和开发人员都可以使用完整版。
PHP 7.4:类型化属性
PHP 7.4有望成为自7.0以来最酷,功能最丰富的版本! 查看其中接受的所有RFC 。
当然,最值得期待的功能是typed properties ,而PhpStorm 2019.2已经完全支持它们! 包括背光,输出和类型分辨率,以及各种检查。
如果您尝试在酒店中放东西,PhpStorm会立即警告您。

但是为了准备迁移到11月下旬发布的PHP 7.4,PhpStorm提供了快速修复。 要声明类型,您可以在没有类型的属性上按Alt+Enter
,然后为字段选择添加声明的类型 。 如果该属性是通过构造函数注入的,则PhpStorm将根据PHPDoc中的信息,默认值或参数类型声明来确定属性的类型。

?? =运算符(空合并分配)
新的short空检查赋值运算符非常适合庞大的表达式。
在PhpStorm中,当然支持语法,但是仍然可以通过快捷Alt+Enter
来替换??
在可能的情况下:

数组中的解压缩运算符(...)
从版本5.6开始,PHP支持使用运算符解压缩参数。 在即将发布的PHP版本中,可以在数组中使用运算符:

PhpStorm将分析操作符的使用是否正确,并确保仅解压缩数组或Traversable对象,并且不要尝试错误地执行PHP解释器不支持的操作:

在下一版PhpStorm 2019.3中,我们计划为所有新的PHP 7.4功能实现全面支持和快速修复,包括箭头功能,数字文字中的分隔符等。
在PHP中自动注入正则表达式
在以前的PhpStorm版本中,PHP代码中的正则表达式默认情况下不突出显示,并且显示为正则字符串。 当然,您可以手动实现RegExp语言,但在整个项目中都不会这样做。
PhpStorm 2019.2在PHP中添加了对常规的完全支持! 这意味着在代码中使用preg_*,
函数的情况下preg_*,
模板将突出显示并检查有效性。

而且,现在您可以直接在IDE中测试正则表达式! 将鼠标悬停在模板上,按Alt+Enter
并调用Check RegExp 。

动态突出显示重复代码
在PhpStorm中查找重复项已经有一段时间了,在菜单中的代码→查找重复项。 如果您还没有尝试过,请尝试一下-让项目中可以重复多少次感到惊讶!
在此版本中,重复分析已达到一个新的水平,并且可以在编辑器中即时进行。 如果您重复复制或不小心写了相同的文章,那么您将立即知道。
您可以转到另一个副本,或在单独的窗口中查看列表中的所有内容:

顺便说一下,这些是提取重构的良好候选者。
新检查称为“ 重复代码片段” ,默认情况下启用。 灵敏度阈值可以在“ 首选项” |“设置”中设置。 编辑器 检验| 一般| 复制的代码片段-> PHP 。 在首选项中| 编辑器 重复项,您可以设置在搜索重复项时忽略哪些元素,例如,可以忽略变量,方法或属性的不同名称以及常量值。
PHPT格式支持
您想为PHP本身做出贡献并加入PHP Internals吗? 最好的方法是从文档和测试开始! 幸运的是,您不需要了解C。为此,针对PHP的测试是用特殊的.phpt文件编写的。 实际上,这是一个文本文件,分为几个部分,其中一些部分可能包含PHP代码。
因此,在PhpStorm 2019.2中也支持phpt文件! 突出显示各节,并在必要时自动实现PHP和INI,并在相应节中转换为外部文件。

有关编写PHP测试的更多信息,请参见 : PHP TestFest教程 , PHP内部手册和qa.php.net 。
通过任何PHP解释器运行Composer
以前,要运行Composer,您始终需要一个本地PHP解释器。 问题在于它可能根本不存在,或者环境可能与产品不对应。 现在在PhpStorm 2019.2中,您可以通过IDE中配置的任何解释器运行Composer。 例如,通过Docker,组成Docker,Vagrant或通过SSH的远程服务器。
要尝试此功能,请在“ 首选项” | “ 首选项”中选择“ 远程解释器 ”。 语言和框架| Php | 作曲家

选择一个现有的口译员或添加一个新的口译员!
快速修复
我们将列表分为几行,反之亦然
根据PSR-2 ,长度超过80个字符的行应分成几行,每行少于80个字符。 因此,如果您有一个较大的数组,或者该函数的参数/参数不适合显示在屏幕上,则可以按Alt+Enter
,然后选择将逗号分隔的值拆分为多行:

如果由于重构而使列表突然变短并适合一行,那么也可以执行相反的操作:将逗号分隔的值连接到一行中 。
顺便说一句,在这里您可能需要快速调整代码样式设置。 为了避免长时间搜索必要的选项,请选择此代码段,按Alt+Enter
并调用Adjust code style settings 。 PhpStorm将提供仅更改与所选行相关的那些选项:

开关构造
我们已经实现了快速添加分支以切换设计的功能。 在没有正文的case表达式上按Alt+Enter
,然后调用Copy'switch'分支 。
不要忘记编辑复制的分支,否则PhpStorm将突出显示重复的片断:

如果switch
没有默认分支,PhpStorm 2019.2也将发出警告,您也可以使用快速修复程序将其添加。
字符串操作
PhpStorm将帮助例行字符串操作。 无论您要对字符串进行什么操作-将其拆分成多个部分,更改引号,将串联转换为sprintf
或插值,或执行其他操作-在字符串上按Alt+Enter
,然后从列表中选择所需的操作。
在此版本中,我们在此列表中添加了一些新芯片。
假设您在sprintf
有一个长表达式,并且需要添加另一个参数而不是子字符串。 选择它,按Alt+Enter
,选择“ 提取选定的字符串部分作为格式函数参数” ,然后PhpStorm会将参数放在正确的位置:

您还可以通过串联分隔子字符串:

预览结构搜索
结构搜索(简称SSR)是一种功能强大的工具,它使您不仅可以搜索文本代码,还可以搜索小的语法树,同时指示节点类型或其他过滤器。 尝试: 编辑->查找->结构搜索...
结构搜索的问题在于,描述搜索模式可能是一项艰巨的任务。 幸运的是,在PhpStorm 2019.2中,您现在可以在编辑器中看到实时突出显示的内容。 无需反复运行搜索来调试模板。
例如,想象一下,您想查找对某个类的特定方法的所有调用,但是仅查找那些将另一个特定类的对象作为参数传递的调用。 通过常规搜索,但是一次使用SSR,很难找到它!

HTTP客户端
CURL格式支持
现在,几乎所有的Web开发和文档工具都可以将查询复制为cURL字符串。
现在,可以在PhpStorm中使用此行。 使用键盘快捷键Cmd+Shift+N (Ctrl+Shift+Alt+Insert)
创建扩展名为.http的文件或新的HTTP请求草稿文件,然后插入查询字符串cURL。 它将自动转换为完整查询,然后您可以方便地尝试使用标头和其他查询参数。

HTTP客户端存储cookie
假设您测试了一项服务并发出了一个身份验证请求,然后在下一个请求中调用一个私有终结点。 以前,带有来自第一个请求的会话信息的cookie将丢失。 并且在2019.2中,所有cookie都会在后续请求中存储和传输。

如果您不想保存@no-cookie-jar
,请对特定请求使用@no-cookie-jar
标记。
版本控制
一种无需对话即可提交的新方法
假设您更改了项目的不同文件夹中的几个文件。 要提交它们,请转到“ 版本控制”窗口的“ 本地更改”选项卡,选择必要的文件,然后调用提交对话框。 此时,所有内容都被一个弹出窗口阻止,您看不到该项目。
在PhpStorm 2019.2中,您可以直接从本地更改选项卡提交。
现在,进行提交,您可以查看整个项目,历史记录,并且通常可以在IDE中执行任何操作。

默认情况下禁用此功能。 要尝试,请检查“ 首选项” | “在本地更改中提交而不显示对话框” 。 版本控制| 提交对话框。
相关文件提醒
当您进行提交时,PhpStorm 2019.2可以告诉您添加曾经频繁更改的文件以及已经为提交选择的文件。

.gitignore的改进工作
PhpStorm开箱即用地支持.gitignore
,并在“ 项目”视图中突出显示被忽略的文件。
添加到.gitignore
变得更加容易。 这可以在“ 版本控制”窗口中通过从尚未添加到版本控制系统中的文件的上下文菜单中调用“ 添加到.gitignore”来完成。

.gitignore
文件.gitignore
现在具有路径.gitignore
,并且按Cmd+click
文件将在“ 项目”视图中突出显示。

您可以在日志中隐藏作者,数据或哈希列。

将当前状态与任何分支进行比较
为此,只需从Git Branches弹出窗口中调用Show Diff with Working Tree命令,该命令通过单击右下角当前分支的名称来显示。

项目视图中的目录历史记录
您可以在项目视图中选择多个文件夹,并使用Git |来查看它们的更改历史记录。 从上下文菜单中显示历史记录 。

码头工人
我们将Docker移至新的“ 服务”窗口。 此窗口的目的是在一处收集所有连接和正在运行的进程。 到目前为止,默认情况下,PhpStorm在其中包括Docker和数据库连接。 您还可以将任何“运行/调试”配置添加到“ 服务”窗口。 这在“ 运行” |“ 服务 ”的“ 服务”部分中的“ 可用配置”中可用。 编辑配置...
所有服务都显示为节点,但是可以通过调用“在新选项卡中显示”或简单地拖动带有“ 服务”窗口标题的节点将每个服务设为单独的选项卡。

查看Docker容器文件系统
您可以在“ 文件”选项卡上浏览容器的内容。

编辑
键入代码完成
如果您突然写了funtcion
或fnction
而不是function
,那并不可怕,因为该插件可以正常工作,因为它可以识别这种错字。

这适用于所有语言和所有字符-关键字,类,函数,属性,方法等。
行为配置“将插入符移至下一个单词”
您可以选择在移动单词时将光标放置在何处,请参阅“ 首选项” | “ 插入符号移动”部分。 编辑器 一般
< 
按Tab时移到括号和引号之外
现在默认情况下启用了旧芯片。 当您键入并按Tab时,您的光标将移动到引号和括号之外,而不是添加一个制表符。 要禁用此功能,请在“ 首选项” | “ 首选项” |“ 输入”中取消选中“ 使用Tab跳到右方括号/引用 ”。 编辑器 一般| 智能按键

高亮显示的代码会自动用引号或括号引起来
现在默认启用了另一个超级有用的功能。 当您单击引号(或方括号)以选择一段代码时,引号(或方括号)将自动添加到选择的开头和结尾。

如果您不喜欢此行为,则可以通过在“ 首选项” | “ 首选项”中 键入引号或花括号来选中“ 环绕”选项来关闭它 编辑器 一般| 智能按键
macOS上的新默认布局
我们将macOS上的默认布局从Mac OS X更改为macOS 10.5+。 我们还重命名了布局:Mac OS X 10.5现在被称为macOS的Default,而旧的Mac OS X现在被称为IntelliJ IDEA Classic。
超过20种语言的语法突出显示
如果您的项目中包含使用PHP和JavaScript以外的其他编程语言编写的文件,那么PhpStorm 2019.2将为Python,Ruby,Go和大量其他语言的语法突出显示带来惊喜。 这是开箱即用的,不需要任何其他设置。
这样,我们希望为有时需要查看其他语言代码的用户改善使用PhpStorm的体验。 PhpStorm仍然主要是一个PHP和Web开发环境 ,因此我们不打算将其他语言的支持扩展到突出显示的范围之外。

其他语言的语法高亮显示基于TextMate语法。 开箱即用, 查看开箱即用支持的语言的完整列表。 编辑器 TextMate捆绑包 。
Shell脚本
在PhpStorm 2019.2中,我们实现了对Shell脚本的广泛支持,包括路径添加,重命名重构,代码生成( Cmd+N/Alt+Insert)
和大量实时模板( Cmd+J/Ctrl+J)
。

还实现了与多个外部工具的集成。
为了在脚本中搜索潜在的问题,PhpStorm建议安装Shellcheck ,它会发现大量问题并为它们提供快速修复。
同样在PhpStorm 2019.2中,它与mvdan / sh工具集成在一起,用于格式化shell脚本。 首次调用“ 重新格式化代码 ”时,IDE会提示您安装并正确格式化。
最后,它与Explainshell网站集成在一起。 您可以选择任何命令,按Alt+Enter
并选择Explain shell 。 IDE将重定向到Explainshell ,您可以在其中查看所选集合的含义。 当您直接在IDE中将鼠标悬停在命令上时,也会显示帮助。

编辑器配置
通过添加.editorconfig文件,您可以使团队中的开发更加愉快,因为某些样式选项将对每个人都相同,而与使用的编辑器无关。
以前,在PhpStorm中需要安装EditorConfig插件,但在2019.2中可以立即使用,无需其他步骤。
您可以为项目中的不同子文件夹设置不同的设置。 只需在必要的文件夹中创建.editorconfig
文件-项目中可以有许多文件。
您也可以在.editconfig文件中设置PhpStorm !选项!
除了EditorConfig的标准选项之外,您还可以配置几乎所有特定于PhpStorm的样式选项。 以前,只能从UI进行配置。 此类选项由ij_
前缀表示,与标准选项不同。

如果您从Project View创建一个新的.editorconfig文件,那么PhpStorm将提示您选择要包含在创建的文件中的选项。 它们将被添加为注释掉,必要的注释可以被取消注释和更改。

外表
项目视图中的更多信息
您可以使用View- > In-place Descriptions在Project View中启用文件大小和修改日期的显示。

新型检查工具提示
现在,工具提示不仅描述了问题,而且还提供了列表中的第一个修复程序。 要立即应用它,即使没有提示或单击也请按Alt+Shift+Enter
。 要查看所有可用的修复程序,请按Alt+Enter
。

Windows上的更新的UI
Windows 10上的新鲜无框视图:

与往常一样,PhpStorm包括来自WebStorm和DataGrip的所有更新 。 很大的发行说明中提供了完整的更改列表。
最后,是一段简短的视频(英语),演示了该发行版的主要功能:
这就是一次。 感谢您阅读到底! 问题,愿望,错误报告和想法仅在评论中表达! 我们很乐意回答。
您的JetBrains PhpStorm团队