Novedades de PhpStorm 2019.2

Experimente la alta productividad con la segunda gran actualización de PhpStorm de 2019.

Typed Properties para PHP 7.4

La versión de PHP 7.4 se espera para finales de noviembre. PhpStorm está empezando a poner en marcha la compatibilidad, para que tenga tiempo de hacer pruebas y de planificar la migración. Probablemente, la funcionalidad más esperada sea la nueva Typed Properties, con la que PhpStorm 2019.2 ya es totalmente compatible. Las nuevas inspecciones resaltarán las infracciones de tipo y podrá actualizar su base de código con el arreglo rápido Add declared type for the field. PhpStorm detectará el tipo de forma automática en función del PHPDoc, el valor predeterminado o la declaración de tipo de un argumento en un constructor.

Encuentre duplicados sobre la marcha

Encuentre duplicados sobre la marcha

El hecho de que aparezcan los mismos bloques de código en su proyecto puede hacerle perder tiempo al tener que realizar cambios o incluso provocar errores de regresión si olvida actualizar todas las instancias. PhpStorm ayuda a prevenir la creación de duplicados de código en su código resaltándolos sobre la marcha para que los pueda localizar fácilmente. Ahora, si se topa con un duplicado o crea uno en su código, ¡lo sabrá al momento! La nueva inspección se llama Duplicated code fragment y está habilitada de forma predeterminada. Para configurarla, vaya a Preferences | Editor | Inspections | General. Puede modificar la configuración correspondiente en Preferences | Editor | Duplicates. Y, por supuesto, puede ejecutarla en todo el proyecto (o ámbito predefinido) en cualquier momento a través de Code → Run Inspection by Name.

Inyección de expresiones regulares

Inyecciones de expresiones regulares

Las expresiones regulares son una herramienta extremadamente útil para buscar y reemplazar en las cadenas. Ahora con PhpStorm, dispone de inyecciones automáticas de expresiones regulares en PHP. Esto significa que, siempre que su código utilice funciones preg_*, el patrón se resaltará y se comprobará que es correcto. Además, ahora puede probar sus patrones directamente en el IDE. Mueva el signo de intercalación sobre el patrón y presione Alt+Intro para ver la acción rápida Check RegExp.

Composer mediante cualquier intérprete remoto de PHP

Ejecute Composer mediante cualquier intérprete remoto de PHP

Previamente, debe tener un intérprete de PHP local para ejecutar Composer. El problema con esto era que el entorno local a menudo no reflejaba el proceso real de producción o no había siquiera un intérprete de PHP local. En PhpStorm 2019.2, puede elegir cualquier intérprete remoto para ejecutar su Composer con Docker, Vagrant, mediante SSH o cualquier otro.

Vaya a Preferences | Languages & Frameworks | PHP | Composer, seleccione Remote Interpreter y elija un intérprete del desplegable, o añada uno nuevo.

Intenciones y arreglos rápidos

Nuevas intenciones en la Herramienta de manipulación de cadenas

Nuevas intenciones en la Herramienta de manipulación de cadenas

PhpStorm viene con varias intenciones Alt+Intro para manipular cadenas. En 2019.2 encontramos una nueva.

Si tiene que introducir un nuevo parámetro en una expresión sprintf, simplemente, selecciónela, ejecute la intención Extract selected string part as format function argument y PhpStorm elegirá la ubicación correcta del parámetro. También funciona para la concatenación.

Convertir una lista de líneas simples a multilínea, y al revés

Convertir una lista de líneas simples a multilínea, y al revés

Según PSR-2, las líneas de más de 80 caracteres deben dividirse en varias líneas de menos de 80 caracteres cada una. De modo que, si la lista de parámetros o el vector han quedado demasiado largos, ahora puede separarlos en un clic usando la nueva intención Alt+Intro Split comma-separated values into multiple lines. La intención contraria también está disponible en caso de que quiera combinar elementos en una única línea.

Intención e inspecciones para declaraciones Switch

Intención e inspecciones para declaraciones Switch

Ahora puede añadir ramas más rápidamente copiando las que ya existen y modificándolas. Puede usar Alt+Intro en la declaración de instancia sin cuerpo y elegir Copy ‘switch’ branch. No olvide modificar la que ha copiado, porque PhpStorm le mostrará una advertencia si un bloque Switch tiene una rama duplicada, es decir, el mismo cuerpo, que puede ser tanto redundante como haber estado escrito por error. Además, si en PhpStorm 2019.2 tiene una declaración Switch sin una rama predeterminada en su código, también puede arreglarla rápidamente con Alt+Intro.

Compatibilidad con PHPT

Compatibilidad con PHPT

Los archivos .phpt pueden ayudarle a escribir pruebas funcionales de forma simple. Este formato se utiliza para probar el PHP principal. PhpStorm 2019.2 es compatible con archivos .phpt files, e incluye resaltado de secciones y scripts, inyección automática de lenguajes PHP e INI en las secciones correspondientes, finalización de nombres de secciones y saltos a archivos referenciados en secciones EXTERNAS.

Docker

Ventana de herramienta de Services

Ventana de herramienta de Services

Docker se ha trasladado a la nueva ventana de herramientas de Services. El objetivo de esta ventana de herramientas es ofrecer una única ubicación para ver todas las conexiones y los procesos en ejecución. Hasta ahora, PhpStorm dispone de Docker y de conexiones a bases de datos.

Navegue por el sistema de archivos de contenedores Docker

Navegue por el sistema de archivos de contenedores Docker

Ahora es posible ver el sistema de archivos del contenedor Docker en ejecución. El sistema de archivos se muestra en la nueva pestaña Files.

Cliente HTTP

Formato cURL en el cliente HTTP

Formato cURL en el cliente HTTP

Es muy simple: copie la cadena de solicitud cURL desde las herramientas de los dispositivos de navegación, la documentación, el terminal o cualquier otra ubicación, péguelo en el archivo .http en PhpStorm y vea cómo se convierte en una solicitud completa. Después, proceda y diviértase con su solicitud con la capacidad de la finalización inteligente.

Conservar las cookies en el cliente HTTP

Conservar las cookies en el cliente HTTP

Digamos que ha creado una solicitud para autenticar en el servicio y en las posteriores solicitudes querría invocar algunos extremos que requieren permisos adicionales. Anteriormente, hubiera perdido las cookies de la primera respuesta. Sin embargo, ahora PhpStorm guarda todas las cookies y las transfiere a las siguientes solicitudes.

Tecnologías web

Como es habitual, todas las funcionalidades y mejoras de WebStorm están disponibles en PhpStorm, listas para usar o con complementos gratuitos en el Marketplace de complementos.

Intenciones inteligentes para JavaScript y TypeScript

Intenciones inteligentes para JavaScript y TypeScript

Con la nueva intención Propagate to destructuring Alt+Intro, podrá sustituir una variable extra con otra desestructuración. Para eliminar completamente una desestructuración, utilice la acción de intención llamada Replace destructuring with property or index access (Reemplazar desestructuración con acceso al índice o a propiedades).

Ahora el IDE le advertirá en caso de que una expresión booleana en una condición tenga partes innecesarias y le sugerirá simplificarla.

Refactorización de cambio de nombre mejorada para JavaScript

Refactorización de cambio de nombre mejorada para JavaScript

Ahora, al cambiar el nombre de un símbolo en JavaScript o TypeScript, el IDE agrupa usos dinámicos y, de forma predeterminada, los excluye de la refactorización. De esta forma, la refactorización es más precisa y le ofrece mayor control sobre qué, específicamente, hay que cambiar de nombre en la ventana de herramientas de Refactoring Preview.

Mejor compatibilidad para Vue.js

Mejor compatibilidad para Vue.js

¿Está usando Vuetify o BootstrapVue en su aplicación Vue.js? La finalización de código para componentes y sus accesorios, y otras bibliotecas de componentes Vue es ahora más precisa. Esto ha sido posible gracias a un nuevo enfoque que hemos adoptado para trabajar con estas bibliotecas en el IDE.

Resaltado de sintaxis para más de 20 lenguajes

Resaltado de sintaxis para más de 20 lenguajes

PhpStorm 2019.2 le ofrece resaltado de sintaxis listo para usar para 20 lenguajes de programación distintos, entre los que se incluyen Ruby, Python o Go. El resaltado se basa en paquetes de TextMate integrados, de manera que, si necesita algún otro lenguaje, puede descargar el paquete correspondiente de dicho lenguaje e importarlo al IDE.

EditorConfig

EditorConfig

PhpStorm ahora es compatible con archivos .editorconfig listos para usar. Puede tener todos los que quiera. Créelos en cualquier carpeta y el estilo de código especificado se aplicará solamente a los archivos de dicha carpeta.

Además de todas las propiedades estándar de EditorConfig, ahora también puede definir las opciones de estilo de código específicas de PhpStorm. Nunca ha sido tan fácil definir estándares comunes de estilo de código para todo el equipo.

Scripts de shell

Compatibilidad con scripts de shell

Esta versión ofrece completa compatibilidad con scripts de shell, incluida la finalización de palabras y rutas, la documentación rápida e incluso la refactorización de Rename. También puede crear configuraciones de ejecución para ejecutar scripts de shell.

Hemos integrado PhpStorm con algunas herramientas externas para que tenga incluso más compatibilidad con los scripts avanzados de shell. De ahora en adelante, podrá usar Shellcheck para detectar y corregir errores en su script, mvdan/sh para formatear correctamente su script de shell y Explainshell para obtener una descripción completa del comando con solo presionar Alt+Intro.

Control de versiones

Gestión del archivo de ignorar lista para usar

Ahora puede añadir archivos a la lista de archivos ignorados, tanto desde el Project Tree como desde la pestaña Local Changes de la ventana de la herramienta VCS. Si prefiere editar .gitignore, puede usar la finalización de ruta en el editor.

Nuevo flujo de confirmación sin diálogo

Nuevo flujo de confirmación sin diálogo

PhpStorm 2019.2 viene con un gran cambio para los proyectos que usaban Git o Mercurial. Ahora puede confirmar archivos desde la pestaña Local Changes de la ventana de herramientas Version Control. Ahí podrá revisar los archivos modificados y hacer los cambios necesarios, ya que el cuadro de diálogo de confirmación no bloquea al resto del IDE. Para probarlo, marque la casilla de verificación Commit from the Local Changes without showing a dialog en Preferences | Version Control | Commit Dialog.

Recordatorio de archivos olvidados

Recordatorio de archivos olvidados

Si está confirmando algunos archivos y PhpStorm 2019.2 detecta que hay otros archivos cambiados que suele confirmar junto con los que están confirmados actualmente, el IDE le hará una advertencia para que no olvide ninguno.

Personalizar la pestaña Log de VCS

Personalizar la pestaña Log de VCS

Ahora puede elegir qué columnas quiere ver en la pestaña Log de la ventana de herramientas Version Control. Haga clic en el icono del ojo, seleccione Show Columns y luego seleccione las columnas que desea mostrar: author (autor), date (fecha) o commit hash (confirmar hash).

Herramientas para bases de datos

La búsqueda de texto completo ofrece resultados completos

La búsqueda de texto completo ofrece resultados completos

Ahora puede buscar los datos que necesita incluso si no conoce su ubicación exacta. Haga clic derecho sobre la fuente de datos o un grupo de fuentes de datos donde desea buscar y seleccione Full-text Search o presione Cmd+Alt+Mayús+F.

Los resultados se filtran para mostrarle solo las cadenas en las que se encontraron los datos. Si no puede encontrar los datos porque hay demasiadas columnas, use la búsqueda de texto en el editor de datos: Cmd+F.

El filtrado por fuente de datos está disponible en la búsqueda y la navegación

El filtrado por fuente de datos está disponible en la búsqueda y la navegación

No siempre es fácil encontrar un objeto en la ventana emergente GoTo, especialmente cuando hay demasiados elementos parecidos. En PhpStorm 2019.2, puede elegir dónde buscar: en una fuente concreta de datos o en un grupo de fuentes. Lo mismo funciona para Find In Path (Buscar en ruta). Esto resulta extremadamente útil si busca código fuente dentro de DDLs u otros objetos.