PhpStorm 2023.1 es una actualización principal que incluye integración con 3v4l.org, mejor rendimiento, nueva interfaz de usuario mejorada, depurador DFA para PHP, compatibilidad con proyectos multi-composer.json y mucho más.
En la versión anterior introdujimos una nueva interfaz de usuario que estaba desactivada de forma predeterminada. En esta versión, seguimos perfeccionando la nueva interfaz de usuario basándonos tanto en sus comentarios como en nuestras investigaciones. Vea algunas de las mejoras a continuación.
Para activar la nueva interfaz de usuario, vaya a Preferences / Settings | Appearance & Behavior | New UI.
El modo Compact mejora la experiencia de usuario de la nueva interfaz de usuario en pantallas más pequeñas. Hace que las barras de herramientas y los encabezados de las ventanas de herramientas sean más limpios, reduce los espacios y los caracteres de relleno, y reduce los iconos y los botones para ayudarle a centrarse en el código y no en los controles.
Para activar el modo Compact, vaya al menú View y seleccione <0>Appearance | Compact Mode0>.
El nombre del archivo abierto en ese momento se muestra ahora en un panel cuando las pestañas del editor están ocultas.
Este ajuste de la nueva interfaz de usuario le permite dividir el área de la ventana de herramientas en 2 ventanas y disponerlas de forma que pueda ver ambas ventanas de herramientas al mismo tiempo. Esto es algo que se podía hacer en la antigua interfaz de usuario, pero que faltaba en la nueva versión.
Para añadir una ventana de herramientas a esta zona y colocarla en la parte inferior, arrastre su icono por la barra lateral y suéltelo bajo el separador. Como alternativa, puede hacer clic con el botón derecho del ratón en el icono y asignar la nueva ubicación de la ventana de herramientas mediante la acción Move to.
Al abrir varios proyectos en la misma ventana, los usuarios de macOS ahora pueden cambiar fácilmente entre ellos utilizando las pestañas de proyecto que aparecen bajo la barra de herramientas principal.
De forma predeterminada en macOS, las pestañas de las ventanas solo están habilitadas en el modo de pantalla completa. Si desea habilitarlas permanentemente, ajuste las preferencias del sistema de la siguiente manera:
En respuesta a los comentarios que hemos recibido sobre la nueva interfaz de usuario del IDE, hemos rediseñado el widget Run de la cabecera de la ventana principal para que su aspecto sea discreto y más agradable a la vista.
PhpStorm 2023.1 natively integrates with 3v4l.org and allows you to run PHP scratch files on any desired PHP version without installing anything on your local machine.
Cree un nuevo archivo PHP scratch pulsando Ctrl+Alt+Mayús+Insert.
Elija la versión de PHP que desee en el menú desplegable y pulse el botón Run. Verá el resultado del script junto al editor.
If you find 3v4l.org useful, consider supporting its author with a donation here: github.com/sponsors/SjonHortensius.
En esta versión, hemos introducido varias mejoras significativas del rendimiento. Continuaremos con este esfuerzo en las próximas actualizaciones. Esto es lo que puede esperar de esta versión.
Algunos paquetes PHP son tan populares que no tiene sentido recompilar su índice en cada instancia de PhpStorm. En su lugar, ya hemos calculado para usted los índices de muchos paquetes PHP populares, como PHPUnit, aws/aws-sdk-php, doctrine/orm, laravel/framework, symfony/* y otros.
Ahora, cuando abre un proyecto PHP indexado, PhpStorm comprueba composer.json
para ver cuáles de las dependencias especificadas tienen un índice compartido precompilado.
PhpStorm puede descargar el índice o recompilarlo localmente, dependiendo de si su CPU y RAM son más rápidas que su conexión a Internet.
También puede generar sus propios índices compartidos para sus proyectos privados. Obtenga más información sobre cómo hacerlo aquí.
Antes:
Después:
Como parte de nuestro esfuerzo por mejorar el rendimiento, estamos trabajando para garantizar que el mayor número posible de acciones estén disponibles durante la indexación.
Go to Class (Ctrl+O o Navigate | Class...) es una de las acciones más populares para navegar por el código. En esta versión, está disponible en cualquier momento, incluso mientras se recompila su índice. Anteriormente, mostraba una lista vacía hasta que finalizaba la indexación.
Otra acción que ahora está disponible incluso cuando la indexación aún está en curso es la anotación del código.
Esto significa que muchos errores y palabras clave serán resaltados por PhpStorm antes de tiempo para hacer su flujo de trabajo más fluido y menos lento.
El IDE se abre ahora mucho más rápido porque PhpStorm utiliza las cachés existentes del proyecto de la sesión anterior y busca cualquier archivo nuevo para indexarlo. Si no se encuentra ningún cambio tras el análisis, el IDE estará listo para trabajar de inmediato.
Hemos trabajado para mejorar el rendimiento de todas las inspecciones, especialmente las más pesadas. Algunas de ellas son ahora un 30-40 % más rápidas, mientras que para otras, el aumento del rendimiento no es tan drástico, pero el efecto combinado sigue siendo notable. Vea en el vídeo siguiente una comparación con las versiones anteriores.
Hemos mejorado drásticamente el rendimiento del resaltado dentro de las etiquetas @php...@endphp
. Todas las palabras clave y constructs se resaltan ahora mucho más rápido, independientemente de la complejidad del código.
Las comprobaciones de protección en tiempo real de Windows Defender pueden disminuir significativamente la velocidad del IDE. Para evitarlo, PhpStorm sugiere ahora añadir ciertas carpetas a la lista de exclusiones de Defender.
La notificación ofrece la opción de reconfigurar estos ajustes automáticamente o consultar primero las instrucciones de configuración de Defender y hacerlo manualmente.
Los usuarios que prefieren Xdebug para depurar aplicaciones PHP pueden disfrutar ahora de una funcionalidad más avanzada, denominada depurador de análisis de flujo de datos (DFA). Le permite ver por adelantado ramas de código que nunca se ejecutarán, sin tener que recorrer paso a paso el código con el depurador.
PhpStorm muestra ahora el resultado precalculado de las condiciones en la incrustación de la derecha antes de que se ejecute el código. Esto le permite hacerse una idea de la situación del código sin necesidad de profundizar. Las ramas que no se ejecutarán aparecerán en gris durante la sesión de depuración.
Si no le interesa esta información adicional durante la depuración, puede hacer clic con el botón derecho del ratón en cualquier incrustación de valor precalculado y desactivar la función DFA para la sesión de depuración actual.
Si desea desactivar la funcionalidad de forma permanente, puede hacerlo en Preferences/Settings | PHP | Debug | Xdebug.
Actualmente, PhpStorm no precalcula los valores de las propiedades debido a limitaciones técnicas. Se trata de un área de futuro desarrollo.
Todas las etiquetas PHPStan y Psalm existentes se analizan ahora correctamente en PhpStorm. Esto hace que el código muy anotado sea más legible.
Anteriormente, PhpStorm trataba cualquier proyecto abierto como un único espacio. Sin embargo, cada vez vemos más casos en los que hay varias aplicaciones en el mismo proyecto, todas con sus propias dependencias composer.json
.
Hemos implementado una base para admitir este tipo de proyectos con varios archivos composer.json
y directorios de proveedores. Esto aporta las siguientes mejoras:
composer.json
se notifican correctamente por aplicación. Ya puede utilizar expresiones regulares para crear sus propias inspecciones de búsqueda y reemplazo. Estas inspecciones pueden ser especialmente útiles para resaltar problemas de estilo y formato o cuestiones sencillas relacionadas con el código.
Vaya a Settings/Preferences | Editor | Inspections y pulse el icono +. Seleccione Add RegExp Search Inspection (o Replace) en la lista y se le dirigirá a un cuadro de diálogo en el que podrá configurar su nueva inspección.
Para inspecciones más avanzadas que pueden implicar comprobaciones de jerarquía de tipos, puede utilizar las inspecciones Structural Search and Replace (SSR). Learn more about them in the docs, or check out the example in the video.
Cada versión de PhpStorm viene con una serie de nuevas inspecciones listas para usar. PhpStorm 2023.1 no es una excepción, así que aquí tiene algunas que merece la pena mencionar:
@final
Puede marcar las clases con la palabra clave final
, dando lugar a un error grave en caso de infracción. Un enfoque más suave sería añadir la etiqueta PHPDoc @final
.
En este caso, PhpStorm resaltará la herencia incorrecta, pero el código no producirá un error durante la ejecución.
Con un nuevo arreglo rápido en PhpStorm 2023.1, ahora puede añadir un tipo de retorno compatible para los métodos de las clases secundarias, o cambiarlo si es incompatible.
La aserción puede sustituirse por assertTrue
/assertFalse
.
Múltiples instancias de isset()
de acceso a matrices u objetos anidados pueden sustituirse por una sola.
Añada global
para las variables a las que se accede desde otros archivos.
var_dump()
/ dd()
en el terminal Queremos mejorar la experiencia de depuración para los usuarios que prefieren el enfoque «dump and die». Como primer paso, ya hemos activado las rutas de los archivos y las referencias a clases. Al hacer clic en ellos, se abre el archivo correspondiente en el editor.
En la versión anterior de PhpStorm, añadimos descripciones para diferentes formatos en las funciones fecha-hora.
Todas las funciones que aceptan modos de archivo, tienen ahora una descripción detallada de ellas en un desplegable de finalización. Ya no tendrá que recordar lo que significan r+
, a
y w
.
Hemos introducido más plantillas activas, incluidas fun
para la plantilla de funciones y fori
para bucles indexados.
Ahora es posible ampliar y reducir PhpStorm en su conjunto, cambiando el tamaño de todos los elementos de la interfaz de usuario simultáneamente. En el menú principal, seleccione View | Appearance y ajuste la escala del IDE.
Esto podría ser útil para demostraciones, transmisiones en directo, reuniones en línea o presentaciones.
Dotando a estas acciones de accesos directos únicos, le resultará más sencillo invocarlas. Vaya a la ventana Search Actions (Ctrl+Mayus+A), escriba «zoom ide» y asigne un acceso directo tras pulsar Alt+Intro.
Ahora puede guardar y gestionar varios diseños de ventanas de herramientas y cambiar entre ellos cuando sea necesario. Compruebe las nuevas acciones en Window | Layouts para guardar, actualizar y activar los diseños.
La nueva casilla de verificación Remember size for each tool window está disponible en Settings/Preferences | Appearance & Behavior | Appearance | Tool Windows. Le permite unificar la anchura de las ventanas de herramientas laterales o conservar la posibilidad de ajustar libremente sus tamaños a medida que personaliza su diseño.
Los archivos Markdown admiten ahora la acción del editor Fill Paragraph, que le permite dividir fragmentos largos de texto en líneas de igual longitud.
Para ello, coloque el signo de intercalación dentro del párrafo que desee modificar y elija la acción en el menú Edit. También puede utilizar Find Action (Ctrl+Mayus+A) para buscar el comando Fill Paragraph y ejecutarlo.
Hemos añadido una página a Settings/Preferences | Editor | General | Smart Keys donde puede configurar y cambiar sus preferencias de Markdown.
Esta página debería facilitarle la gestión de sus preferencias, ya que dispone de casillas de verificación independientes para las distintas funcionalidades del editor. Anteriormente, solo había una casilla de verificación en Settings/Preferences | Languages & Frameworks.
Hay una nueva casilla de verificación Selection en Settings/Preferences | Editor | General | Appearance | Show Whitespace que le permite configurar este ajuste para que el IDE muestre los espacios en blanco como pequeños puntos solo cuando seleccione código.
En la ventana de herramientas Structure, hemos añadido sugerencias de color para los cambios.
Esto significa que ahora puede ver qué propiedades, métodos y funciones se han modificado o añadido.
Ahora es más fácil moverse entre las ramas porque se almacenan en listas que pueden ampliarse.
Con PhpStorm 2023.1 EAP #1, implementamos el autocompletado en la ventana emergente Create New Branch. Una vez que empiece a escribir un nombre para su nueva rama, el IDE le sugerirá prefijos relevantes basándose en los nombres de las ramas locales existentes.
Las comprobaciones de confirmación se realizan ahora en segundo plano después de confirmar pero antes de enviar. Esto debería acelerar el proceso general de confirmación.
Investigando descubrimos que el escenario más común de uso de solicitudes de incorporación de cambios es cuando un usuario acude primero a GitHub, y luego se remite al IDE en los casos en los que es necesario navegar completamente por el código.
Para facilitar este flujo de trabajo, hemos reelaborado la ventana de herramientas Pull Request. Ahora cuenta con una pestaña dedicada para cada solicitud de incorporación de cambios que abra. La pestaña muestra instantáneamente la lista de archivos modificados, pero ahora ofrece menos distracciones que antes. Esto le permite centrarse mejor en la tarea actual.
Ahora también hay un botón específico para ejecutar fácilmente la acción que se considere más importante dado el estado actual de la solicitud de incorporación de cambios.
La pestaña Dashboard del nodo Docker Compose reúne ahora los registros de todos los contenedores Docker Compose y los muestra todos en un mismo lugar. También se actualizan en tiempo real.
Ahora puede conectarse fácilmente a Azure Container Registry. Vaya a Preferences / Settings | Build, Execution, Deployment | Docker | Docker Registry y configúrelo seleccionando la opción Docker V2 en el campo de entrada Registry.
:z
a los volúmenes enlazados en SELinux Ahora puede añadir el indicador de configuración :z
a los montajes enlazados de Docker, lo que le permite conectar volúmenes a contenedores Docker en estaciones de trabajo SELinux.
Para activar esta función, vaya a Preferences / Settings | Advanced Settings | Docker.
Long-awaited Astro support has landed in PhpStorm! Para ello, deberá contar con el nuevo complemento Astro, que puede instalarse desde Preferences/Settings | Plugins. El complemento ofrece funciones básicas, como el resaltado de sintaxis, la finalización de código con importaciones automáticas, refactorizaciones, navegación, formateo correcto y mucho más.
Hemos añadido la compatibilidad con TypeScript en las plantillas Vue. Se activa al establecer el atributo lang
de una etiqueta script
en ts
. Anteriormente, JavaScript se utilizaba independientemente del atributo lang de la etiqueta script
. PhpStorm proporcionará ahora compatibilidad con inline casting, acotado de tipos mejorado, e información correcta sobre tipos inferidos en la documentación rápida en plantillas de Vue Single-File Components.
En esta versión, hemos añadido la compatibilidad con opciones de configuración, como la finalización de nombres de clase personalizados en la opción classAttributes
, o experimentales como tailwindCSS.experimental.configFile
.
Puede configurar estas opciones en Preferences / Settings | Languages & Frameworks | Style Sheets | Tailwind CSS.
Estos son los cambios más importantes de esta versión pero, por supuesto, hay muchos más. Consulte el anuncio en el blog de PhpStorm para ver la lista completa de mejoras de esta versión.