PhpStorm 2019.1: depuración de plantillas de Twig y Blade, búsqueda de código muerto, autocompletado mejorado y mucho más



Hola Habr!

¡Nos complace presentar el primer lanzamiento importante de PhpStorm este año!
Puede encontrar una descripción general de la versión en la página "Novedades" . Y debajo del corte, una traducción de esta página con una demostración de las nuevas características más interesantes.

Puede descargar la nueva versión en el sitio web o usar la aplicación Toolbox . Como siempre, hay disponible una versión de prueba de 30 días. Los titulares de una suscripción activa a PhpStorm o All Products Pack pueden utilizar la versión completa y, de forma gratuita, los estudiantes y desarrolladores de proyectos de código abierto.

En total, se solucionaron 1118 errores en la versión y se agregaron muchas características nuevas. Aquí están los más interesantes.

Depuración de plantillas de ramita y cuchilla


Gracias al depurador, puede lidiar rápidamente con el error más pegadizo, pero aquí para encontrar problemas en las plantillas, debe atravesar la jungla de código generado por la máquina. En PhpStorm 2019.1 agregamos la capacidad de depurar los archivos de plantilla originales .twig y .blade.php sin compilar .

Para hacer esto, solo especifique la ruta a las plantillas compiladas (caché) en la configuración IDE: Idiomas y marcos | Php | Depuración | Plantillas para Twig o Blade .

En el caso de Twig, también debe especificar las auto_reload debug y auto_reload en la configuración.
Y para Blade, todo funcionará automáticamente, pero solo a partir de Laravel 5.8.

Después de eso, puede activar el depurador y establecer un punto de interrupción directamente en la plantilla. La ejecución se detendrá en la ubicación especificada, y todas las opciones de depuración habituales estarán disponibles: ejecución paso a paso, variables locales y globales, seguimiento de valores (observación) y todo lo demás.



Hablando de depuración: apoyamos activamente al autor de Xdebug Derick Rethans para mejorar el depurador, resolver problemas acumulados y ampliar las posibilidades de su uso en PhpStorm.

Detección de código muerto


PHP cumple 24 años este año y no es sorprendente que a menudo te encuentres con código heredado. Lo primero que debe hacer es limpiar y eliminar el exceso. La nueva inspección de la declaración no utilizada solo ayudará en este asunto.
PhpStorm 2019.1 puede analizar su código sobre la marcha y resaltar directamente en el editor aquellas clases, miembros de clase y funciones que probablemente no se usan en ningún lado.



También puede encontrar todos los artículos no utilizados en modo por lotes. Para hacer esto, llame al menú Código -> Ejecutar inspección por nombre y seleccione la inspección Declaración no utilizada . Recibirá un informe con una lista de todos los problemas con una descripción y soluciones rápidas.



Nueva refactorización y acción rápida.


Por tradición, hemos agregado varias refactorizaciones nuevas para que las acciones de rutina sean rápidas y sin errores.

Manipulación de cuerdas
Si presiona Alt + Intro en cualquier expresión de cadena, verá una lista completa de conversiones disponibles. Por ejemplo, ya hay una conversión de / a NOWDOC / HEREDOC, reemplazo de comillas, división de una cadena en dos con concatenación.
Y en esta versión, agregamos algunas cosas más convenientes: copiar la cadena concatenada al búfer, reemplazar la concatenación de cadenas con interpolación o llamar a la función sprintf () y, en consecuencia, las acciones inversas:



Eliminar variables no utilizadas
La nueva inspección detectará y le permitirá eliminar una variable no utilizada en las operaciones de asignación y use construcciones en los cierres.



Refactorización Move to Class
Con esta refactorización, puede transferir de forma segura funciones de archivos PHP a clases. PhpStorm actualizará todas las llamadas a estas funciones.



Al restaurar el orden, es posible que deba mover varias funciones a la vez, esto también es compatible con PhpStorm. Debe seleccionar las funciones deseadas en la ventana Estructura y luego llamar a la refactorización Mover a clase.

El método de inspección puede ser 'estático'
Esta inspección descubrirá métodos que se pueden convertir a estáticos, es decir, aquellos que no usan una instancia de la clase. Dichos métodos tendrán una acción contextual disponible: puede presionar Alt-Intro y seleccionar "Hacer estática". Como se esperaba, todas las llamadas serán reparadas automáticamente.



Mecanismos de autocompletado mejorados


Usando el archivo .phpstorm.meta.php, puede decirle al IDE qué argumentos se esperan en la función o qué valores puede devolver. PhpStorm utilizará esta información para completar automáticamente.
Digamos que una función espera algún tipo de constante como argumento. Formalmente, el tipo de esta constante es, digamos, un integer , pero en realidad conocemos el conjunto de constantes posibles.
Por ejemplo, json_encode($data, /* JSON_* */)
También podemos tener una función que devuelva una constante, por ejemplo json_last_error() .
En PhpStorm 2019.1, la finalización automática de estas y muchas otras funciones integradas ya funciona de forma inmediata:



Además, dicha finalización automática se puede realizar en cualquier proyecto / biblioteca / marco simplemente agregando un archivo especial .phpstorm.meta.php al proyecto. Y puede haber muchos de esos archivos, PhpStorm los encontrará y los combinará.
Por ejemplo, dichos archivos ya existen para Symfony en la forma del paquete King2500 / symfony-phpstorm-meta ; viene con el complemento Symfony .
Lea más en la publicación sobre las nuevas características .phpstorm.meta.php .

Optimización de importación


El sistema de análisis y corrección de las importaciones fue ligeramente modificado. PhpStorm ahora, si es posible, propondrá reemplazar el nombre completo de la clase con importar o eliminarlo por completo si es redundante.
También se agregó la capacidad de ordenar las expresiones de use alfabéticamente o por longitud.

Herramienta de limpieza de código


Esta herramienta permite conversiones por lotes seguras. Por ejemplo, en todo el proyecto a la vez, en un determinado directorio, etc.
Ha estado disponible durante mucho tiempo en PhpStorm, pero solo en 2019.1 se agregaron las funciones para PHP. En primer lugar, admite dos herramientas de corrección de estilo de codificación: PHP CS Fixer y phpcbf de PHP_CodeSniffer. Además de dos inspecciones para optimizar las importaciones del párrafo anterior.



Esta herramienta se puede iniciar en cualquier momento de forma manual o antes de confirmar, simplemente marcando el cuadro de diálogo correspondiente en el cuadro de diálogo de confirmación:



Reutilizando contenedores Docker


Se agregó soporte para iniciar contenedores Docker en los modos de ejecución docker-compose y docker-compose exec. El primer modo es adecuado para contenedores livianos que se detienen inmediatamente después de comenzar. El segundo le permite reutilizar los contenedores en ejecución sin tener que reiniciar.



Entre otras mejoras:

  • Configuración flexible de PHPDoc: puede personalizar el orden de los elementos y las sangrías en Preferencias | Editor | Código de estilo | Pestaña PHP PHPDoc;
  • La plantilla de archivo PHP predeterminada se borra: no más Creado por PhpStorm;
  • Nueva acción rápida para agregar una propiedad de clase al constructor;
  • Puede habilitar el modo estricto a nivel mundial,
    incluso si los archivos no tienen la directiva declare(strict_types = 1);


Vcs


El sistema de control de versiones ha realizado muchas mejoras útiles:
  • Se han agregado acciones de reparación y squash al registro de Git;
  • Al ver diffs, ahora puede intercambiar paneles;
  • Empujar con fuerza ahora es más seguro porque se usa la bandera --force-with-lease ;
  • La opción Desmarcar todo para confirmaciones parciales se ha agregado al diálogo de confirmación; con ella puede desactivar todos los cambios y luego seleccionar solo los necesarios:



Mejoras IDE


Diálogo de ubicaciones recientes
La mayoría de las veces, cuando se trabaja en una tarea, los desarrolladores tienen que leer el código, no escribir. Por lo tanto, la navegación rápida entre archivos siempre es muy relevante. PhpStorm ya tenía una ventana emergente Buscar en todas partes ( Shift-Shift ) , Marcadores y Favoritos ( Cmd + 2 / Alt + 2 ), moviendo la historia de un lado a otro ( Cmd + [ - Cmd +] / Ctrl + Alt + Izquierda - Ctrl + Alt + Derecha ) o ver los últimos archivos ( Cmd + E / Ctrl + E ) .
En PhpStorm 2019.1, agregamos otra característica interesante: el cuadro de diálogo Ubicaciones recientes ( Cmd-Shift-E / Ctrl + Shift + E) , que mostrará los últimos fragmentos de código que vio o editó. Esto puede ser útil si desea moverse rápidamente por el historial y ver el contexto para comprender exactamente dónde moverse.



Nuevos temas de interfaz
PhpStorm viene con tres temas: Light, Darcula y High Contrast. Si quieres probar algo nuevo, instala uno de los nuevos temas: Dark Purple , Grey o Light Cyan . Además, ahora puede crear temas usted mismo, mientras que es posible establecer el color de cualquier elemento o icono. Lea más en la documentación .



Soft-wraps dependiendo del tipo de archivo
Si a menudo trabaja con Markdown o archivos de texto, ahora el ajuste de línea para ellos se activará automáticamente. También puede especificar otros tipos de archivos en Preferencias | Editor | General | Soft-wrap archivos.

PhpStorm como siempre incluye todas las actualizaciones de WebStorm :
La documentación de las propiedades CSS, las etiquetas HTML y la compatibilidad con el navegador ahora se ha tomado de MDN y contiene enlaces a artículos relacionados, se ha mejorado la compatibilidad con TypeScript para aplicaciones Vue, se han agregado 17 nuevas inspecciones para aplicaciones angulares y han aparecido nuevos paneles de depuración de JavaScript y Node.js consolas interactivas

... y de DataGrip :
Ahora también es compatible con Greenplum, Vertica, Apache Hive; Ahora puede seleccionar la carpeta de proyecto predeterminada; así como medios mejorados para completar estructuras y atributos.

Esto es todo de lo que pudimos hablar, pero no todo lo que se incluyó en el lanzamiento. Una lista completa de cambios, como siempre, se puede encontrar en las notas de lanzamiento muy grandes.

Gracias por su atencion!
Equipo de JetBrains PhpStorm

Source: https://habr.com/ru/post/445976/


All Articles