Novedades de PhpStorm 2024.3

Los aspectos más destacados de esta versión incluyen:

  • Compatibilidad con PHP 8.4
  • Mejoras en AI Assistant
  • Compatibilidad con xdebug_notify()
  • Intérprete PHP de Laravel Herd

Compatibilidad con PHP 8.4

PhpStorm 2024.3 viene cargado con nuevas inspecciones y arreglos rápidos para que pueda actualizarse sin problemas a las numerosas funcionalidades de PHP 8.4. A continuación, encontrará un resumen breve de la compatibilidad de las nuevas funcionalidades de PHP 8.4 con el flujo de trabajo de PhpStorm.

Vínculos de propiedades

Uno de los mayores cambios en la trayectoria más reciente de PHP, los vínculos de propiedades, se han diseñado para eliminar los getters y los setters del código reutilizable, lo que permite implementar vínculos get y set para propiedades.

Para los vínculos de propiedades (entre los que se incluyen los vínculos de propiedades dentro de las propiedades promovidas), PhpStorm ofrece:

  • Un arreglo rápido para reemplazar getters y setters con vínculos de propiedad get y set.
  • Una acción de intención para añadir vínculos de propiedad a las propiedades.
  • Finalización de código para las palabras clave get y set con la inserción de cuerpos de vínculos de propiedades.
  • La posibilidad de generar vínculos get y set para una propiedad mediante la acción Generate, parecida a Generate | Getters and Setters.
  • Detección automática de vínculos de propiedad que pueden convertirse a sus notaciones abreviadas y un arreglo rápido para convertirlos.
  • Comprobaciones para garantizar el uso correcto de la sintaxis y la lógica de los vínculos de propiedad.

Visibilidad asimétrica

La visibilidad asimétrica permite que una propiedad con tipo tenga definida una visibilidad independiente para las operaciones de lectura y escritura.

PhpStorm 2024.3 garantiza que los ámbitos de visibilidad asimétrica se implementen de forma correcta en el código, con comprobaciones y arreglos rápidos para:

  • Modificadores de visibilidad asimétrica redundantes.
  • Intentos de hacer la visibilidad de una propiedad set más amplia que la visibilidad principal (get).
  • Modificadores final redundantes para propiedades private (set).
  • Intentos de reducir la visibilidad de las propiedades heredadas.
  • Intentos de modificar una propiedad de visibilidad asimétrica fuera del ámbito de visibilidad de set.

Nuevas funciones de vector

Puede usar PhpStorm 2024.3 para convertir los bucles foreach a las nuevas funciones de PHP 8.4 array_find(), array_find_key(), array_any() y array_all().

new sin paréntesis

PhpStorm 2024.3 es compatible con la eliminación de los paréntesis que enmarcan la expresión new en construcciones del tipo (new MyClass())->method().

AI Assistant  Complemento

Tenga en cuenta que las funcionalidades de AI Assistant solo están disponibles con una suscripción a AI Pro o en la versión de prueba.

Nuevo modelo de finalización de código de JetBrains para PHP

Hemos mejorado considerablemente la calidad y hemos reducido la latencia de nuestra finalización de código mediante IA para PHP. Estas mejoras funcionan con Mellum, el nuevo modelo de lenguaje de gran tamaño (LLM, por sus siglas en inglés) de JetBrains optimizado para una finalización de código en la nube más rápida, inteligente y que tiene en cuenta el contexto.

Para obtener más información sobre el nuevo LLM de JetBrains, consulte este artículo de blog.

Resaltado de sintaxis para el código sugerido

Las sugerencias de finalización de código inline ahora incluyen el resaltado de sintaxis, lo que mejora su legibilidad.

Aceptación incremental de las sugerencias de código

Ahora, las sugerencias de código multilínea pueden aceptarse todas a la vez (pulsando Tab) o de forma gradual, es decir, palabra por palabra (Ctrl+→) o línea por línea (Fin).

Peticiones de IA inline

Con las nuevas peticiones de IA inline, ahora AI Assistant detecta y procesa las solicitudes en lenguaje natural a medida que las escribe directamente en el editor. Interpreta al instante las peticiones y genera el código sugerido sin tener que hacer nada más.

PhpStorm deja una marca morada en el medianil junto a las líneas modificadas por AI Assistant para que pueda ver fácilmente lo que se ha actualizado. Si hay alguna sugerencia que no le gusta, puede ajustar la petición inicial haciendo clic en la marca morada del medianil o pulsando Ctrl+/.

Mejora de la gestión del contexto

En esta actualización, la gestión del contexto que AI Assistant tiene en cuenta en sus sugerencias es más transparente e intuitiva. Se ha renovado la interfaz de usuario para que pueda ver y gestionar cada elemento incluido como contexto, lo que proporciona visibilidad y control total. Ahora, el archivo abierto y cualquier código seleccionado dentro de este se añaden de forma automática al contexto, y puede añadir o eliminar fácilmente archivos según necesite, personalizando el contexto para que se ajuste al flujo de trabajo. Además, puede adjuntar instrucciones a todo el proyecto para guiar las respuestas de AI Assistant en toda la base de código.

Generación de títulos y descripciones para solicitudes de fusión y de incorporación de cambios

AI Assistant ahora ayuda a generar títulos y descripciones precisos para sus solicitudes de fusión y de incorporación de cambios directamente desde el IDE, para agilizar su flujo de trabajo y garantizar que sus descripciones sean claras y concisas.

Gestión de errores SQL por parte de AI Assistant

En el área de mensajes de error, se puede acceder a un par de nuevas acciones útiles para gestionar los errores de ejecución de consultas SQL con AI Assistant. Explain with AI abre el chat de IA con una petición enviada de forma automática y la respuesta de AI Assistant con una explicación del error. La acción Fix with AI genera una corrección del error de ejecución de la consulta en el editor.

Obtenga más información sobre todas las actualizaciones de JetBrains AI Assistant.

Depuración

Compatibilidad con xdebug_notify()

Para mejorar aún más la experiencia de depuración de PHP, ahora PhpStorm cuenta con una forma estructurada de manejar los resultados enviados desde la función xdebug_notify().

Introducidas en Xdebug 3.1, las llamadas xdebug_notify() permiten mostrar variables de forma selectiva en la consola de depuración de PhpStorm.

Ecosistema Laravel

Intérprete PHP de Laravel Herd en PhpStorm

Para los desarrolladores de Laravel que utilizan Laravel Herd, ahora PhpStorm 2024.3 detecta de forma automática la ruta al ejecutable PHP de Laravel Herd utilizado actualmente en su máquina. Para utilizar este intérprete en PhpStorm, vaya a la configuración del intérprete CLI (PHP | CLI interpreter | ) y, en el cuadro de diálogo CLI Interpreters que se abre, seleccione el ejecutable PHP de la lista de opciones configuradas previamente.

Mejoras en el marco de trabajo Pest

PhpStorm 2024.3 mejora de forma significativa el marco de trabajo de pruebas Pest para los desarrolladores de Laravel. Hemos implementado la compatibilidad total con Pest 3.0 y la posibilidad de ejecutar pruebas paralelas y de mutación con Pest directamente desde el IDE.

Pruebas de mutación con Pest 3.0

El reciente lanzamiento de Pest 3.0 incluye pruebas de mutación, que realizan pequeños cambios en el código para comprobar si las pruebas pueden detectarlos.

Puede activar la opción Run Tests (Pest) with Mutation de Pest en PhpStorm 2024.3 como cualquier otra opción de prueba (directamente desde el editor, desde la ventana de herramientas Project o a través de una configuración de ejecución/depuración) y utilizar la ventana de herramientas Pest Mutation para inspeccionar los resultados de la prueba.

Asegúrese de que Xdebug 3.0+ esté instalado también en el intérprete de PHP que utiliza en el IDE.

Para obtener más información, consulte la documentación de PhpStorm.

Pruebas paralelas con Pest

En PhpStorm 2024.3, ya no es necesario cambiar al terminal para ejecutar pruebas Pest en modo paralelo. Solo tiene que navegar hasta el archivo de prueba y seleccionar Run Tests (Pest) in Parallel desde el icono del medianil en el editor, desde el menú contextual de la ventana de herramientas Project o a través de una configuración de ejecución/depuración.

Sistemas de control de versiones

Resolución de conflictos de fusión en declaraciones de importación

Ahora, PhpStorm puede resolver de forma automática los conflictos de fusión en las declaraciones de importación. Para activar esta función, seleccione la opción Resolve conflicts in import statements en el cuadro de diálogo de fusión bajo el icono de la rueda dentada o vaya a Settings | Tools | Diff & Merge y seleccione Automatically resolve conflicts in import statements.

Actualizaciones en Find in Files

La funcionalidad Find in Files se ha mejorado con un nuevo ámbito de búsqueda: Project Files Excluding Git-Ignored. Esta opción excluye cualquier archivo ignorado en los archivos .gitignore de sus resultados de búsqueda, lo cual le ayuda a centrarse solo en el código relevante cuando busque en el proyecto.

Opción para deshabilitar las comprobaciones previas a la confirmación en segundo plano

Ahora puede gestionar las comprobaciones en segundo plano durante el proceso de confirmación con la nueva opción Run advanced checks after a commit is done en Settings | Version Control | Commit. Este ajuste le permite decidir si deben ejecutarse pruebas e inspecciones después de realizar una confirmación. Si desea que estas comprobaciones se completen antes de la confirmación, simplemente deshabilítelo.

Nombre de la rama en la pantalla Welcome

Ahora, la pantalla Welcome muestra el nombre de la rama, lo que es de gran ayuda para organizarse si trabaja con varias versiones del proyecto, ya que le permite cambiar fácilmente entre los directorios de trabajo.

Herramientas para bases de datos

Introspección de fragmentos y actualización inteligente para MySQL y MariaDB

Ahora, PhpStorm admite la introspección de fragmentos. Anteriormente, el introspector solo podía realizar una introspección completa de los esquemas de las bases de datos MySQL o MariaDB, pero no refrescar los metadatos de un solo objeto. Cada vez que se ejecutaba una declaración DDL en la consola y esa ejecución podía modificar un objeto del esquema de la base de datos, el IDE iniciaba una introspección completa de todo el esquema. Esto llevaba mucho tiempo y solía interrumpir el flujo de trabajo.

Ahora, PhpStorm puede analizar una declaración DDL, determinar qué objetos podrían haberse visto afectados por ella y actualizar solo esos objetos. Si selecciona un único elemento en Database Explorer y llama a la acción Refresh, solo se actualizará un objeto, en lugar de todo el esquema, como ocurría antes.

Inspección de un número excesivo de cláusulas JOIN

En ciertos casos, no se recomienda ejecutar una consulta que contenga un número excesivo de cláusulas JOIN debido a la degradación del rendimiento. El editor puede ahora identificar y resaltar este tipo de consultas. Puede activar esta inspección en los ajustes del IDE. Para ello, vaya a Editor | Inspections, expanda la sección SQL y seleccione Excessive JOIN count.

Barra de herramientas de paginación flotante

Para que la paginación en cuadrícula sea más perceptible en nuestro editor de datos, hemos desplazado el control correspondiente de la barra de herramientas a la parte inferior central del editor de datos.

Frontend

Resultados de búsqueda más limpios para los directorios

PhpStorm ahora excluye los resultados node_modules de forma predeterminada al utilizar Find in Files en los directorios del proyecto, lo que reduce el desorden de archivos irrelevantes. Puede restaurar el comportamiento anterior habilitando la opción Search in library files when “Directory” is selected in Find in Files en Settings | Advanced Settings.

Mejora en los cambios de nombre y en la navegación por los componentes del marco de trabajo

Hemos mejorado los consejos en el editor para componentes de Vue, Svelte y Astro. La acción Show component usages encuentra ahora los usos tanto en las importaciones como en las plantillas de marcado. También hemos añadido el filtro Show component usages para excluir los usos de componentes al buscar referencias de archivos normales. La refactorización Rename también se ha actualizado con una opción para incluir usos al renombrar un archivo de componentes.

Vista previa en color para clases de CSS de Tailwind

La vista previa en color para las clases CSS de Tailwind ahora se muestra integrada en el editor, lo que facilita distinguir los colores. Hemos añadido compatibilidad con el método textDocument/documentColor del protocolo de servidor de lenguaje (LSP), por lo que todos los complementos basados en LSP ofrecen ahora esta funcionalidad sin necesidad de configuraciones adicionales.

Mejoras para Angular

Para proyectos con Angular 19, ahora PhpStorm pasa de forma predeterminada al modo independiente para componentes, directivas y tuberías. Se han añadido arreglos rápidos para ayudar a convertir entre componentes independientes y no independientes. Las importaciones independientes no utilizadas pueden eliminarse de forma automática durante el reformateo del código o mediante una nueva inspección. También se ha mejorado la compatibilidad con la sintaxis @let.

Interfaz de usuario

Resaltado de todas las apariciones del texto seleccionado

De forma predeterminada, PhpStorm ahora destaca automáticamente todas las instancias del texto que selecciona dentro de un archivo. Esto facilita efectuar un seguimiento de los lugares en que aparece el texto seleccionado en su código. Si prefiere el comportamiento anterior, puede desactivar esta funcionalidad en Settings | Editor |General | Appearance.