Novedades de PhpStorm 2023.2

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

  • Mejoras para genéricos en PHP
  • Compatibilidad con Laravel Pint
  • Compatibilidad nativa con aserciones PHP
  • AI Assistant (acceso limitado)
  • Integración con GitLab
  • Búsqueda de texto en Search Everywhere

AI Assistant Acceso limitado

Una incorporación importante en esta versión es AI Assistant, que está diseñado para dar un nuevo impulso a su codificación con capacidades de IA. Con su conjunto inicial de funcionalidades, ya puede chatear con AI Assistant y ponerle a realizar tareas como escribir automáticamente comentarios en la documentación por usted, sugerir nombres, generar mensajes de confirmación ¡y mucho más.

Chat de IA

Chat de IA

Utilice la ventana de herramientas AI Assistant para comunicarse con el LLM (Large Language Model), hacer preguntas u obtener ayuda con un trozo de código. PhpStorm le proporcionará el contexto específico del proyecto, como el nivel de lenguaje PHP y el marco de trabajo utilizado en su proyecto. Una vez que esté satisfecho con el código generado por IA resultante, haga clic en Insert Snippet at Caret para pegar el código en el editor, o simplemente cópielo.

AI Actions

AI Actions

El menú contextual Alt+Intro ahora presenta AI Actions, que incluye una serie de tareas en las que AI Assistant puede ayudarle.

Documentación de código

Documentación de código

AI Assistant también puede generar documentación por usted. Pulse Alt+Intro, seleccione el menú AI Actions y elija Write Documentation. Alternativamente, AI Assistant tratará de explicarle su código a través del chat.

Generación de mensajes de confirmación

Generación de mensajes de confirmación

El cuadro de diálogo del mensaje de confirmación ahora tiene el botón Generate Commit Message with AI Assistant. Haga clic en él para enviar los diffs de sus cambios al LLM, que generará un mensaje de confirmación describiendo sus cambios.

Cómo acceder

Cómo acceder

AI Assistant se basa en el servicio JetBrains AI. Para acceder a las funciones de IA, deberá instalar manualmente el complemento AI Assistant y haber iniciado sesión en el servicio JetBrains AI con su cuenta de JetBrains. La forma más sencilla de hacerlo es hacer clic en el icono More tool windows de la barra de herramientas, seleccionar AI Assistant y seguir las indicaciones.

Tenga también en cuenta que el acceso a AI Assistant puede estar limitado actualmente por una lista de espera. Encontrará más información sobre cómo funciona AI Assistant, así como detalles sobre cómo manejamos su código y sus datos, en este artículo del blog.

Le animamos a que pruebe estas nuevas funciones de IA y nos envíe sus ideas y sugerencias. Para ello, solo tiene que hacer clic en Share your feedback en la ventana de herramientas AI Assistant. También puede informar de errores del AI Assistant en YouTrack.

PHP

Genéricos en PHP

Nueva refactorización Rename generic

Nueva refactorización Rename generic

Pulse Mayús+F6 mientras está sobre un tipo genérico para empezar a renombrarlo y PhpStorm actualizará automáticamente el nombre en toda su base de código.

Otra forma de hacer lo mismo es pulsando Ctrl+T y eligiendo a continuación Rename.

Compatibilidad con el tipo `static` en genéricos

Compatibilidad con el tipo static en genéricos

Una de las funcionalidades más esperadas en este ámbito ha sido la compatibilidad con referencias estáticas en plantillas genéricas.

Finalmente la hemos implementado en esta versión, pero seguiremos trabajando para que la compatibilidad con genéricos PHP sea la mejor posible en el futuro.

Compatibilidad con @mixin con plantillas

Compatibilidad con @mixin con plantillas

Con las anotaciones genéricas @mixin, puede obtener todas las ventajas de los decoradores y otros patrones para inyectar comportamiento en los objetos. PhpStorm ahora ofrece finalización de código para ellos cuando sea aplicable.

Se acabó la generación redundante de PHPDocs

Se acabó la generación redundante de PHPDocs

PhpStorm ahora elimina las declaraciones redundantes de los bloques PHPDoc autogenerados en un mayor número de sus acciones, e informa sobre etiquetas PHPDoc redundantes específicas en los comentarios del doc.

Para los getters y setters generados, PhpStorm añade ahora comentarios PHPDoc solo cuando no hay tipos declarados.

Para invocar la generación de métodos getter y setter, utilice la acción de intención Add getter/setter (Alt+Intro) o la acción Generate code (Alt+Insertar).

Compatibilidad integrada con Laravel Pint

Compatibilidad integrada con Laravel Pint

PhpStorm has added Laravel Pint to the list of supported quality tools. Los problemas de estilo de código indicados por Laravel Pint ahora se pueden tratar como inspecciones propias de código de PhpStorm.

Para configurar la integración con Laravel Pint, vaya a Settings | PHP | Quality Tools y amplíe la sección Laravel Pint.

Aquí, también puede configurar Laravel Pint como su formateador externo preferido. Esto permitiría solucionar todos los problemas detectados por Laravel Pint de una sola vez con la acción Reformat Code (Ctrl+Alt+L).

Para habilitar Laravel Pint como inspección de PhpStorm, vaya a Settings | Editor | Inspections y seleccione la casilla de verificación de Laravel Pint validations en PHP | Quality Tools.

Con la inspección habilitada, las incidencias detectadas por Laravel Pint se resaltarán en cualquier archivo PHP abierto o se indicarán en la ventana de herramientas Problems.

Inspecciones para aserciones PHP

Inspecciones para aserciones PHP

Con esta versión, hemos ampliado la lógica de información del código para abarcar las aserciones PHP.

PhpStorm ahora detecta y resalta las aserciones que son redundantes porque son siempre verdaderas o siempre falsas. This is available for PHP’s built-in assert() constructs, PHPUnit’s assertion methods, and methods from the webmozart/assert and beberlei/assert libraries.

Experiencia de usuario

Encabezados de proyecto de colores en la nueva interfaz de usuario

Encabezados de proyecto de colores en la nueva interfaz de usuario

Ahora puede asignar un color y un icono únicos a cada uno de sus proyectos, para poder distinguirlos con facilidad en su espacio de trabajo.

Los encabezados presentan colores predefinidos predeterminados, pero ahora puede personalizarlos: haga clic con el botón derecho en un encabezado, seleccione la opción Change Toolbar Color y elija el color que desee.

Búsqueda de texto en Search Everywhere

Búsqueda de texto en Search Everywhere

Search Everywhere, (Doble Mayús) se utiliza para buscar en archivos, clases, métodos, acciones y configuraciones.

Ahora incluye funciones de búsqueda de texto similares a las de Find in Files. Los resultados de la búsqueda de texto se muestran cuando hay pocos o ningún otro resultado de búsqueda disponible para una consulta determinada.

Mejora de la personalización de la barra de herramientas principal

Mejora de la personalización de la barra de herramientas principal

En la nueva interfaz de usuario, ya puede utilizar un menú desplegable para elegir rápidamente las acciones que desea añadir a la barra de herramientas.

Haga clic con el botón derecho en cualquier widget, seleccione Add to Main Toolbar y explore las opciones disponibles.

Menú de barras renovado en la barra de herramientas principal de Windows y Linux

Menú de barras renovado en la barra de herramientas principal de Windows y Linux

Hemos perfeccionado el comportamiento del menú de barras en la nueva interfaz de usuario que, en Windows y Linux, se encuentra en la barra de herramientas principal. Ahora, al hacer clic en el icono del menú, los elementos aparecen de forma horizontal sobre la barra de herramientas.

Además, ahora hay una opción para convertir este menú en una barra de herramientas independiente. Para ello, vaya a View | Appearance | Main menu as a Separate Toolbar.

Tema Light with Light Header en la nueva interfaz de usuario

Tema Light with Light Header en la nueva interfaz de usuario

Estamos introduciendo un tema alternativo Light with Light Header, que presenta colores claros a juego para los encabezados de las ventanas, las descripciones emergentes y los globos de notificación.

Anclar configuraciones de ejecución

Anclar configuraciones de ejecución

Para añadir una configuración de ejecución a la sección Pinned, abra el menú desde el icono de los tres puntos que verá junto a su nombre y seleccione Pin. Puede reorganizar fácilmente varias configuraciones ancladas arrastrándolas y soltándolas según sea necesario.

Ordenar archivos por hora de modificación en la vista Project

Ordenar archivos por hora de modificación en la vista Project

Ahora puede ordenar sus archivos en la vista Project en función de su hora de modificación. Para activar esta función, abra el menú de los tres puntos verticales en la vista Project y, a continuación, seleccione Tree Appearance | Sort by Modification Time.

Mejoras en el cliente HTTP

Previsualizaciones de la IU de Redoc para archivos OpenAPI y Swagger

Previsualizaciones de la IU de Redoc para archivos OpenAPI y Swagger

Ahora puede cambiar entre Redoc y Swagger UI para previsualizar su documentación OpenAPI.

Con la integración de Redoc, puede acceder a la consola Try it directamente desde PhpStorm y utilizarla para establecer parámetros y enviar solicitudes a su API.

Compatibilidad con GraphQL y WebSocket en la interfaz de línea de comandos del cliente HTTP

Compatibilidad con GraphQL y WebSocket en la interfaz de línea de comandos del cliente HTTP

Puede ejecutar archivos .http como solicitudes con una CLI HTTP Client.

A partir de esta versión, la herramienta es ahora capaz de interactuar con las API GraphQL y de establecer conexiones WebSocket con los servicios.

Compatibilidad con importaciones JavaScript en el cliente HTTP

Compatibilidad con importaciones JavaScript en el cliente HTTP

Ahora es posible compartir código JavaScript común para los gestores de solicitudes del cliente HTTP a través de módulos importados.

VCS / Git / GitLab

Compatibilidad con Merge Requests de GitLab

Compatibilidad con Merge Requests de GitLab

PhpStorm 2023.2 incorpora integración inicial con GitLab, lo que le permite trabajar con Merge Requests directamente desde el IDE.

Confirmar cambios línea por línea

Confirmar cambios línea por línea

PhpStorm introduce un nuevo nivel de granularidad de confirmación al permitirle confirmar selectivamente solo líneas específicas de cambios en trozos de código.

Abra el archivo diff, seleccione las líneas dentro del fragmento editado y llame a Include these lines into commit desde el menú contextual. Verá casillas de verificación para cada línea, que puede seleccionar o dejar sin seleccionar.

Compatibilidad con LSP para desarrolladores de complementos

Es posible que algunos lenguajes y tecnologías no sean (todavía) compatibles de forma nativa en PhpStorm, pero puede que exista un servidor de lenguajes que pueda proporcionar compatibilidad con ellos. Por eso hemos hecho posible que los desarrolladores de complementos utilicen la API LSP e integren un servidor LSP determinado.

Si ha creado su propio lenguaje de programación o marco de trabajo, puede hacerlo compatible con el IDE mediante un servidor LSP y un complemento.

Actualmente, la compatibilidad con LSP incluye resaltado de errores y advertencias, arreglos rápidos, finalización de código y navegación a declaraciones.

JetBrains Qodana integrado

PhpStorm 2023.2 integra la plataforma de calidad de código Qodana, nuestro motor de análisis estático inteligente diseñado para adaptarse a cualquier proceso de CI/CD.

Puede activar el análisis con solo unos clics, ver la lista de problemas en todo su proyecto y, a continuación, configurar Qodana en su sistema de CI/CD preferido para establecer las barreras de calidad y ejecutar comprobaciones en el servidor.

Además, una vez que Qodana esté configurado en su CI/CD, podrá ver los resultados del análisis del lado del servidor sin salir de su IDE, nada más instalarlo.

Desarrollo web

Formato de errores mejorado en JavaScript y TypeScript

Formato de errores mejorado en JavaScript y TypeScript

Los errores y advertencias de JavaScript y TypeScript mostrarán ahora un formato más legible, lo que facilitará la detección de problemas en su código.

Compatibilidad con anidado CSS

Compatibilidad con anidado CSS

We’ve implemented syntax support and an inspection that alerts you if a CSS nested selector starts with an identifier or functional notation.

Compatibilidad con Vue Language Server

Compatibilidad con Vue Language Server

La compatibilidad con Vue Language Server (VLS), también conocido como Volar, proporciona una detección de errores más precisa y mejor información de tipo en las ventanas emergentes de navegación rápida y documentación. De forma predeterminado, VLS se utilizará para TypeScript v5.0 y versiones superiores. Puede configurar el servicio Vue para que utilice la integración VLS en todas las versiones de TypeScript en Settings | Languages & Frameworks | TypeScript | Vue.