PhpStorm 2024.3 现已推出
此版本是一次重大更新,其中包括对 PHP 8.4 的支持,
xdebug_notify()
、Pest 3.0、Pest 并行和突变测试等。如果您将 PhpStorm 与
JetBrains AI 助手
,它还更新了新的 AI 代码完成模型、新的内联 AI 提示等。

PHP 8.4 支持
PhpStorm 2024.3 配备了新的检查和快速修复功能,可帮助您顺利升级到功能丰富的 PHP 8.4,该版本将于 2024 年 11 月 21 日发布。在我们的开发者倡导者 Brent Roose 的新视频中了解其功能:
以下是有关如何在您的 PhpStorm 工作流程中支持新的 PHP 8.4 功能的简要概述。与往常一样,您可以通过将项目语言级别设置为 PHP 8.4 来尝试新功能。您可以在语言级别设置 ( PHP | PHP 语言级别 ),或者通过在 IDE 底部的状态栏中指定要求来获取此更新。
属性挂钩
现代 PHP 历史上最大的变化之一,
属性挂钩
旨在消除样板 getter 和 setter,允许你实现
get
和
set
属性的钩子。
对于属性钩子(包括提升属性内的属性钩子),PhpStorm 提供:
- 用以下方法快速修复 getter 和 setter
get
和set
属性挂钩。
- 用于向属性添加属性钩子的意图操作。
- 通过插入属性钩子体来完成 get 和 set 关键字的代码完成。
- 生成能力
get
和set
通过 产生 行动 类似于 生成 | Getters 和 Setters 。
- 自动检测可转换为简写符号的属性挂钩并快速修复转换方法。
- 检查以确保属性钩子语法和逻辑的正确使用,包括:
- 属性钩子的实现 检查类层次结构 对于抽象属性。
- 无法通过引用访问、读取或写入的挂钩属性(
&get
)。 - 属性挂钩中的返回类型不兼容。
- 具有最终属性的属性钩子使用不当。
- 未使用的参数
set
属性挂钩。 set
钩子的参数类型与属性级别声明的参数类型不匹配。- 返回类型不兼容
get
钩子。 - 检测不允许
readonly
挂钩属性。
不对称可见性
不对称可见性允许类型化属性为读取和写入操作定义单独的可见性。
PhpStorm 2024.3 通过提供以下检查和快速修复,帮助确保在代码中正确实现非对称可见性范围:
- 冗余的不对称可见性修饰符。
- 尝试使财产
set
可见性比主(get
) 可见性。 - 多余的
final
修饰语private (set)
特性。 - 尝试缩小继承属性中的属性可见性。
- 尝试修改
set
可见性范围。

新的数组函数
您可以使用 PhpStorm 2024.3 进行转换
foreach
循环到新添加的
array_find()
,
array_find_key()
,
array_any()
, 和
array_all()
PHP 8.4 函数。

请注意,在 PhpStorm 中,您可以对项目的整个代码库运行特定检查,并直接从 问题 工具窗口。转到 代码 | 分析代码 | 按名称运行检查 并搜索您所需要的检查。

new
不带括号
PhpStorm 2024.3 支持删除
new
在结构中的表达
(new MyClass())->method()
类型。
您可以通过以下方式查看 2024.3 版 PhpStorm 中添加的 PHP 8.4 检查的完整列表: 设置 | 编辑器 | 检查 并在搜索栏中输入“PHP 8.4”来过滤列表。
人工智能助手 插件
请注意,AI 助手功能需要 AI Pro 订阅 或试用版。
JetBrains 针对 PHP 的新代码完成模型
我们显著提高了 PHP 人工智能代码补全的质量并降低了延迟。这些增强功能由 Mellum 提供支持 - JetBrains 的新专有大型语言模型 (LLM),经过优化,可实现更快、更智能、更具上下文感知的云代码补全。
有关 JetBrains 新 LLM 的更多信息,请参阅 这篇博文 。
建议代码的语法突出显示
内联代码完成建议现在带有语法突出显示,提高了其可读性。
逐步接受代码建议
现在可以一次性接受多行代码建议(按 Tab )或逐字逐句地( Ctrl+→ 对于 Windows 或 ⌥→ 对于 macOS)或逐行( 结尾 对于 Windows 或 ⌘Сmd+→ 对于 macOS)。
内联 AI 提示
借助新的内联 AI 提示,AI 助手现在可以在您直接在编辑器中输入自然语言请求时检测和处理这些请求。它会立即解释请求并生成建议的代码,而无需您完成任何额外步骤。
PhpStorm 在 AI Assistant 更改的行旁边的边栏中留下紫色标记,以便您轻松查看已更新的内容。如果您不喜欢某个建议,可以通过单击边栏中的紫色块或按 Ctrl+/ (Windows/Linux)或 ⌘/ (macOS)。
为拉取和合并请求生成标题和描述
AI Assistant 现在可以帮助您直接从 IDE 为您的拉取和合并请求生成准确的标题和描述,从而简化您的工作流程并确保您的描述清晰简洁。

AI助手的SQL错误处理
在错误消息区域中可以执行一些使用 AI Assistant 处理 SQL 查询执行错误的有用的新操作。 用人工智能解释 打开 AI 聊天,自动发送提示,AI 助手会响应并解释错误。 使用 AI 修复 操作会为编辑器中的查询执行错误生成修复。



阅读有关 JetBrains AI 助手 。
调试
xdebug_notify()
支持
为了进一步增强您的 PHP 调试体验,PhpStorm 现在提供了一种结构化的方法来处理从
xdebug_notify()
功能。
在 Xdebug 3.1 中引入,
xdebug_notify()
调用允许您有选择地将变量输出到 PhpStorm 中的调试控制台。
Laravel 生态系统
PhpStorm 中的 Laravel Herd PHP 解释器
对于使用 Laravel 群 ,PhpStorm 2024.3 现在会自动检测您机器上当前使用的 Laravel Herd 的 PHP 可执行文件的路径。要在 PhpStorm 中使用此解释器,请转到 CLI 解释器设置 ( PHP | CLI 解释器 | … ),以及 CLI 解释器 在打开的对话框中,从预配置选项列表中选择 PHP 可执行文件。
害虫框架增强功能
PhpStorm 2024.3 显著改善了 Laravel 开发人员的 Pest 测试框架体验。我们已实现对 Pest 3.0 的全面支持,并能够直接从 IDE 使用 Pest 运行并行和变异测试。
使用 Pest 3.0 进行突变测试
最近发布的 Pest 3.0 引入了 突变检测 ,对代码进行微小的更改以跟踪测试是否可以捕获它们。
您可以触发 害虫 使用变异运行测试(害虫) 选项在 PhpStorm 2024.3 中就像任何其他测试选项一样 - 直接从编辑器中,从 项目 工具窗口,或通过运行/调试配置 - 并使用专用 害虫突变 工具窗口检查测试结果。
只需确保你的 IDE 中使用的 PHP 解释器具有 Xdebug 3.0+ 也安装了。

有关详细信息,请参阅 PhpStorm 文档 。
与 Pest 并行测试
在 PhpStorm 2024.3 中,您不再需要切换到终端来以并行模式运行 Pest 测试。只需导航到测试文件并选择 并行运行测试(害虫) 通过编辑器中的边栏图标,通过上下文菜单 项目 工具窗口,或通过运行/调试配置。
版本控制系统
解决导入语句合并冲突
PhpStorm 现在可以自动解决导入语句中的合并冲突。要启用此功能,请选择 解决导入语句中的冲突 齿轮图标下的合并对话框中的选项,或转到 设置 | 工具 | 差异与合并 并选择 自动解决导入语句中的冲突 。

更新至 在文件中查找
这
在文件中查找
功能已增强,增加了新的搜索范围,
不包括 Git-Ignored 的项目文件
.此选项排除在
.gitignore
文件,帮助您在搜索项目时只关注相关代码。

禁用后台预提交检查的选项
您现在可以使用新的 提交完成后运行高级检查 选择 设置 | 版本控制 | 提交 。此设置可让您决定是否在提交后运行测试和检查。如果您希望在提交之前完成这些检查,只需禁用它即可。

分行名称 欢迎 屏幕
这 欢迎 屏幕现在显示同名项目的分支名称,帮助您在处理多个项目版本时保持井然有序,并允许您轻松地在工作目录之间切换。

数据库工具
MySQL 和 MariaDB 的片段自省和智能刷新
PhpStorm 现在支持片段自省。以前,自省器只能对 MySQL 或 MariaDB 数据库中的架构进行全面自省,但不能刷新单个对象的元数据。每次在控制台中执行 DDL 语句并且该执行可能会修改数据库架构中的对象时,IDE 都会启动对整个架构的全面自省。这非常耗时,并且经常会破坏工作流程。现在,PhpStorm 可以分析 DDL 语句,确定哪些对象可能受其影响,并仅刷新这些对象。如果您在 数据库资源管理器 并调用 刷新 操作时,只会刷新一个对象,而不是像以前一样刷新整个模式。
检查数量过多
JOIN
条款
在某些情况下,运行包含过多
JOIN
由于性能下降,不建议使用子句。编辑器现在可以识别并突出显示此类查询。您可以在 IDE 设置中启用此检查。为此,请导航到
编辑 | 检查
,展开
SQL
部分,然后选择
JOIN 数量过多
。

浮动分页工具栏
为了使网格分页在我们的 数据编辑器 ,我们将其控件从工具栏移至数据编辑器的底部中心。

前端
更清晰的目录搜索结果
PhpStorm 现在排除
node_modules
使用时默认结果
在文件中查找
在项目目录中,减少不相关文件的混乱。您可以通过启用
在“在文件中查找”中选择“目录”时,在库文件中搜索
选择
设置 | 高级设置
。
改进了框架组件导航和重命名
我们增强了 Vue、Svelte 和 Astro 组件的编辑器内提示。 显示组件用法 立即行动 在导入和标记模板中的用法 。我们还添加了 显示组件用途 在搜索常规文件引用时,筛选器可排除组件使用情况。 重命名 重构也已更新 包括用法的选项 重命名组件文件时。

Tailwind CSS 类的颜色预览
Tailwind CSS 类的颜色预览现在以内联方式显示在编辑器中,让您更容易区分颜色。我们添加了对
textDocument/documentColor
方法来自语言服务器协议 (LSP),因此所有基于 LSP 的插件现在都提供开箱即用的功能。

Angular 的改进
对于项目
Angular 19
,PhpStorm 现在默认将组件、指令和管道设置为独立模式。添加了快速修复,以帮助在独立和非独立组件之间进行转换。在代码重新格式化或通过新检查时,可以自动删除未使用的独立导入。支持
@let
语法也得到了改进。

用户界面
突出显示所有选定的文本
默认情况下,PhpStorm 现在会自动突出显示您在文件中选择的所有文本实例。这样可以更轻松地跟踪所选文本在整个代码中出现的位置。如果您更喜欢以前的行为,您可以在 设置 | 编辑器 | 常规 | 外观 。


您可以在 PhpStorm 2024.3 中找到完整的更改列表 发行说明页面 。
今天就到这里。希望您喜欢 PhpStorm 的最新增强功能!
以下是一些有用的快速链接:
请向我们报告任何错误 问题追踪器 。您的反馈对我们非常有价值!