Los aspectos más destacados de esta importante actualización incluyen:
AI Assistant de JetBrains ya está disponible para todos con una serie de funcionalidades nuevas y mejoradas para aumentar su productividad en los IDE de JetBrains.
AI Assistant ya puede generar bloques de código de varias líneas por usted. Solo tiene que comenzar a escribir en una nueva línea y, si hay una sugerencia del LLM disponible, aparecerá un fragmento de código en gris. Pulse Tab para aceptar la sugerencia.
Actualmente, estas sugerencias están disponibles dentro de los contextos de clase o dentro de las definiciones de funciones.
AI Assistant también es capaz de generar pruebas para los métodos de las clases. Con el signo de intercalación situado sobre el método de la clase que desea cubrir con pruebas de unidad, solo tiene que pulsar Alt+Intro, seleccionar AI Assistant y elegir Generate Unit Tests.
Anteriormente, podía utilizar el chat de inteligencia artificial para generar fragmentos de código. Ahora existe la acción AI Assistant | Generate code... que abre una consulta directamente dentro del editor. Se le pedirá que introduzca una descripción del código que desea generar. Una vez que lo haga, AI Assistant le ofrecerá sugerencias, y usted podrá aceptarlas todas o parte de ellas.
A veces, cuando ejecuta un script PHP o configuración de ejecución, o ejecuta una acción de Composer, la tarea falla por alguna razón. AI Assistant puede ayudarle a descubrir la causa del problema. Haga clic en el botón Explain with AI en una traza de pila o mensaje de error para obtener una explicación generada por IA.
Utilice AI Assistant en PhpStorm como función complementaria con una suscripción a JetBrains AI Service.
PhpStorm now supports the Pest test framework out of the box. We recently agreed with the original author of the Pest plugin to take over its development and bundle it in PhpStorm. You can read the details in our recent blog post.
Al igual que las pruebas con PHPUnit, las pruebas con Pest pueden ejecutarse ahora directamente desde PhpStorm. Cuando sitúe el signo de intercalación dentro de una prueba y active la ventana de ejecución, se creará una configuración de ejecución para esa prueba específica. Puede situar el signo de intercalación en el archivo, pero no dentro de ninguna prueba en particular, para desencadenar todas las pruebas de ese archivo.
Con esta nueva compatibilidad con Pest, puede escribir aserciones llamando a funciones o métodos en $this
. También mejora el autocompletado en las funciones de prueba, para que pueda ver qué aserciones están disponibles mientras escribe.
En Pest, puede escribir expectativas personalizadas para reducir las comprobaciones rutinarias en sus pruebas. PhpStorm puede ayudarle a encontrar usos de expectativas personalizadas y a renombrarlas.
PhpStorm 2023.3 incorpora la compatibilidad completa con PHP 8.3. La mayoría de los cambios en el IDE se integrarán orgánicamente en su flujo de trabajo de PhpStorm sin que lo note, por lo que solo mencionaremos las nuevas funcionalidades que le vendrá bien conocer para poder aprovecharlas.
#[\Override]
PHP 8.3 introduce el nuevo atributo #[\Override]
. Se puede utilizar para mostrar explícitamente su intención al anular un método. El motor PHP es capaz de comprobar si un método marcado con #[\Override]
realmente anula el método principal, y lanza una excepción si no es así. PhpStorm 2023.3 le avisa con antelación de estos casos.
PhpStorm también sugiere añadir el atributo #[\Override]
cuando sea aplicable.
json_validate()
PHP 8.3 añade la nueva función json_validate()
a la biblioteca estándar. Anteriormente, la única forma de validar si una cadena era un JSON válido era descodificarla y detectar si generaba algún error. PhpStorm es capaz de detectar estos patrones y sugerir su sustitución por una llamada a la función json_validate()
. Esto puede resultar práctico si solo necesita saber si la entrada es un JSON válido, ya que utiliza menos memoria en comparación con la descodificación de la cadena.
En PHP 8.3, puede declarar tipos para las constantes de clase. Se pueden utilizar todas las declaraciones de tipo excepto void
, callable
y never
.
Para las constantes de clase por tipos, PhpStorm indica:
PHP 8.3 ha eliminado algunas funcionalidades, y PhpStorm le cubre las espaldas con las inspecciones correspondientes para detectarlas.
PhpStorm 2023.3 incorpora varias mejoras para los desarrolladores que usan Symfony.
Un nuevo inicializador de proyectos incorporado para Symfony permite crear nuevos proyectos Symfony con los tipos y versiones que desee directamente desde la pantalla Welcome.
Ahora puede disfrutar de compatibilidad completa del IDE con DQL dentro de las llamadas a métodos de QueryBuilder. Entre sus funcionalidades se incluyen el resaltado, la finalización de campos, la posibilidad de resolver a la clase modelo de destino y mucho más.
Following the introduction of attributes in PHP 8.0, Doctrine annotations are being deprecated and will soon be removed. Para ayudarle a realizar el cambio, PhpStorm 2023.3 incluye una funcionalidad para convertir las anotaciones de Doctrine en atributos.
PhpStorm también admite la conversión de anotaciones de Symfony a sus atributos correspondientes, como #[Required]
, #[Route]
, etc.
Como novedad experimental, también hemos añadido la posibilidad de excluir directorios procedentes de bibliotecas indexadas. Excluir este tipo de archivos de su proyecto le ayudará a evitar problemas de definiciones múltiples y a mejorar el rendimiento de la indexación.
Seguimos trabajando para mejorar la experiencia de uso de los genéricos. En PhpStorm 2023.3, ahora es posible establecer un código de colores para los genéricos, lo que facilita la distinción entre tipos genéricos.
Con el aumento de la adopción de atributos, a veces puede resultar difícil leer código anotado con largos atributos multilínea de un marco de trabajo determinado. En PhpStorm 2023.3, esto ya no debería ser un problema, ya que ahora puede plegar los atributos multilínea.
PHPUnit 10 introduced support for attributes for adding metadata to test classes and test methods, as well as tested code units. Hemos implementado una inspección y un arreglo rápido que le ayudarán a migrar a este nuevo estilo desde las antiguas anotaciones PHPDoc.
PhpStorm 2023.3 presenta una forma renovada de revisar los cambios. Ahora, en lugar de recorrer cada archivo uno por uno, puede ver todos los archivos modificados a partir de un conjunto de cambios en un único marco por el que puede desplazarse. Este nuevo visor diff es accesible desde la ventana de la herramienta Git Log, y actualmente funciona con las revisiones de JetBrains Space. Estamos trabajando para que sea compatible con GitLab y GitHub.
La nueva opción de inserción Run to Cursor de PhpStorm 2023.3 le permite ejecutar rápidamente hasta una línea específica de código mientras depura. Una vez suspendido el programa, puede pasar el ratón por encima de la línea de código hasta la que desee ejecutar y utilizar la ventana emergente Run to Cursor. Puede lograr el mismo resultado mediante el acceso directo de teclado Alt + F9 tras situar el signo de intercalación en la línea deseada.
En respuesta a sus comentarios sobre la nueva interfaz de usuario, hemos hecho posible ocultar la barra de herramientas principal cuando se utiliza el modo de visualización predeterminado del IDE, al igual que en la antigua interfaz de usuario. Para eliminar la barra de herramientas, seleccione View | Appearance y desmarque la opción Toolbar.
Con el lanzamiento de PhpStorm 2023.1, hemos introducido la posibilidad de guardar varios diseños de ventanas de herramientas y cambiar entre ellos, parar mejorar así la personalización de su espacio de trabajo. En PhpStorm 2023.3, ampliamos esta funcionalidad con la opción Default layout, una forma rápida de revertir la apariencia de su espacio de trabajo a su estado predeterminado. Este diseño no es personalizable, y se puede acceder a él a través de Window | Layouts.
Para facilitar el trabajo con diversos tipos de archivos en el editor al mismo tiempo, hemos introducido de modo predeterminado un código de colores para las pestañas del editor, que replica su aspecto en la ventana de herramientas Project.
Repleto de funcionalidades WebStorm, PhpStorm aborda ahora algunas de las frustrantes incoherencias que se producen al añadir declaraciones import type
, y facilita el trabajo con verbatimModuleSyntax
. Hemos añadido la opción de configurar el tipo de declaración de TypeScript import type
. También hemos mejorado el comportamiento del campo exports
de package.json para los archivos TypeScript.
Ahora, cuando pegue código HTML en un archivo JSX, PhpStorm no solo convertirá los atributos, sino que también cerrará automáticamente las etiquetas individuales por usted. Puede configurar esta opción en Settings | Editor | General | Smart Keys | JavaScript.
@property
de CSS personalizadas To support the new @property
API for creating custom CSS properties, PhpStorm 2023.3 now offers inspections and completion features for explicitly defining CSS custom properties, allowing you to check and restrict property types, establish default values, and determine inheritance possibilities for custom properties.
Hemos añadido la compatibilidad con defineSlots
para proporcionar finalización y navegación para el nombre slot
, así como la refactorización Rename. También hemos incorporado la compatibilidad con la finalización de propiedades con defineExpose
. En PhpStorm 2023.3, las importaciones requeridas para los componentes se añadirán basándose en el nombre especificado por la función defineOptions
.