Novedades de PhpStorm 2019.3

Disfrute de una enorme productividad con esta gran actualización de IDE

Compatibilidad con PHP 7.4

PHP 7.4 ya está disponible y PhpStorm 2019.3 es totalmente compatible con todas sus nuevas funcionalidades. El IDE también ofrece inspecciones para destacar desusos y arreglos rápidos para actualizar su base de código.

Propiedades por tipos

Propiedades por tipos

Hemos añadido compatibilidad con propiedades por tipos en la versión 2019.2. En v2019.3, los arreglos rápidos son capaces de gestionar los casos especiales, y puede añadir declaraciones de tipo rápida y fácilmente pulsando Alt-Enter y seleccionando Add declared type for the field. PhpStorm detectará el tipo automáticamente basándose en el PHPDoc, valor predeterminado o declaración de tipo de argumento por parte del constructor.

Funciones flecha

Funciones flecha

PhpStorm es totalmente compatible con la nueva sintaxis breve para funciones lambda de una línea en PHP 7.4. El IDE ofrece finalización de variables del ámbito exterior y, con un solo clic, PhpStorm le llevará a la declaración.

También está disponible un arreglo rápido para convertir funciones lambda de una línea de la sintaxis antigua a la nueva sintaxis breve. Basta con pulsar Alt-Enter en una función anónima y seleccionar Convertir clausura para función flecha.

Separador literal numérico

Separador literal numérico

En PHP 7.4 puede añadir separadores de guiones bajos a un número largo para formatear visualmente y mejorar la legibilidad de su código.

Si ve un número largo, sitúe el signo de intercalación sobre él, pulse Alt+Enter, y seleccione Añadir separadores numéricos. Así añadirá '_' tras cada tres dígitos para números decimales, o cada cuatro dígitos en hex, binario y octal.

Operador ternario anidado

Operador ternario anidado

PHP 7.4 desprecia la asociatividad izquierda de los operadores ? : anidados. Esto significa que o no debería usar ternarios anidados en absoluto o, si tiene que hacerlo, debería usar paréntesis para declarar explícitamente el orden de computación.

PhpStorm 2019.3 destacará las expresiones en desuso y le ofrecerá un arreglo rápido para explicar el comportamiento.

Desusos

Desusos

Esta versión de PHP no solo ha añadido funcionalidades nuevas, sino que también ha dejado en desuso algunas de las antiguas.

PhpStorm 2019.3 cuenta con las inspecciones correspondientes y destacará trozos de código que requieren atención. Cuando sea posible, tendrá la opción de efectuar un arreglo rápido automáticamente en el comportamiento obsoleto.

Retornos covariantes y parámetros contravariantes

Retornos covariantes y parámetros contravariantes

PHP 7.4 resuelve múltiples incoherencias, incluida una que afectaba al sistema de tipos. Cuando trabaje con un método heredado de una clase primaria, ahora será posible definir un tipo de retorno más específico, y tipos de parámetros menos específicos para él.

PSR-12

El nuevo estándar de estilo de código PSR-12 se amplía al anterior PSR-2 con normas adicionales y nuevas directrices para algunas de las nuevas funcionalidades PHP. PhpStorm 2019.3 presenta un nuevo estilo de código PSR-12 predefinido, y el IDE sugerirá que lo utilice. También puede pasar a utilizarlo manualmente mediante la acción Set from… en Preferences | Editor | Code Style | PHP.

PhpStorm también sugiere habilitar un conjunto de inspecciones de estilo de código PSR-12 que comprobarán si se han incumplido ciertas reglas.

Puede reformatear el código en el editor pulsando Cmd+Alt+L o ejecutarlo antes de confirmar. También puede reformatear todo el proyecto o carpeta con Code > Code Cleanup...

WSL

WSL añadiendo intérprete

El subsistema de Windows para Linux es una capa de compatibilidad para ejecutar ejecutables binarios de Linux de forma nativa en Windows 10. PhpStorm ahora es compatible con el desarrollo en un entorno WSL, es decir, cuando lanza el IDE en una máquina Windows pero el objetivo de su desarrollo es WSL/Linux. Puede especificar un intérprete de PHP remoto en el WSL y utilizarlo para ejecutar scripts, pruebas y comandos de Composer, así como para depurar.

Especifique el intérprete para las configuraciones de ejecución de tests de PHP

Especifique el intérprete para las configuraciones de ejecución de tests de PHP

Anteriormente, sus configuraciones de ejecución de pruebas solían ejecutarse solo a través del interprete PHP del proyecto predeterminado, lo cual podía resultar poco práctico.

Pero ya no es así. En PhpStorm 2019.3, puede seleccionar cualquier intérprete que tenga configurado y ejecutar sus tests con él: Docker, Vagrant, via SSH, WSL, o cualquier otro. ¡Usted elige!

Y hay más

Mejoras a PHPDoc

Mejoras a PHPDoc

Anteriormente en PhpStorm, todo el bloque PHPDoc se mostraba en un color y se mostraba como los comentarios normales.

Ahora, en los bloques de docs se podrán destacar todos los tipos, variables, parámetros, métodos y propiedades. Si tiene HTML en sus comentarios, también podrá destacarse como tal.

Fuentes y colores para la variable $this

Fuentes y colores para la variable $this

Puede escoger la fuente y los colores de las instancias $this: vaya a Preferences | Editor | Color Scheme | PHP | Identifiers y personalícelas como desee.

Destacado de PHP en Markdown y en cadenas

Destacado de PHP en Markdown y en cadenas

En PhpStorm 2019.3, los bloques de código PHP en los archivos Markdown se destacarán automáticamente si usa ‘php’ como cadena de información. También puede obtener destacado para PHP para las demás cadenas gracias a un dialecto de PHP especial denominado InjectablePHP, que funciona de un modo similar a PHP, pero no requiere una etiqueta de apertura.

Acciones contextuales para if-else
Extraer asignación

Extraer asignación

Combinar condiciones anidadas

Combinar condiciones anidadas

Combinar "else" si va seguido de "if"

Combinar "else" si va seguido de "if"

Cliente HTTP

Echa un vistazo a este breve video tutorial sobre el uso del HTTP Client in PhpStorm para realizar solicitudes como un profesional.

Barra de herramientas del editor

Barra de herramientas del editor

Cuando abra un archivo .http, ahora verá una barra de herramientas que le dará acceso rápido a todas las acciones habituales:

  • Añadir solicitud: cree solicitudes a partir de plantillas.
  • Convertir desde cURL: cree solicitudes pegando una cURL en el editor.
  • Abrir registro: vea la lista de solicitudes enviadas y abra/compare las respuestas.
  • Ejemplos: explore una colección de prácticas solicitudes HTTP.
Variables dinámicas

Variables dinámicas

Hemos añadido tres variables dinámicas que puede utilizar en las solicitudes:

  • $uuid: genera un nuevo UUID-v4.
  • $timestamp: marca de tiempo Unix actual.
  • $randomInt: un íntegro aleatorio entre 0 y 1000.

Utilice dobles llaves curvas para insertar estas variables cuando lo necesite.

Ejecutar todo

Ejecutar todo

Puede escribir varias solicitudes en un archivo .http. Esto resulta muy práctico si necesita efectuar cadenas de solicitudes en las que una solicitud depende del resultado de las anteriores.

Antes, tenía que ejecutar las solicitudes una a una. Ahora, en PhpStorm 2019.3 ¡puede ejecutarlas todas con un solo clic!

Plegar solicitudes

Plegar solicitudes

Si va a enviar una solicitud con un cuerpo largo, por ejemplo, datos de formularios de varias partes, o muchos encabezados, quizá quiera plegarlos para reducir el ruido en el editor.

Puede plegar toda la solicitud dejando solo la primera línea o el cuerpo, haciendo clic en el icono de flecha en el medianil.

Tecnologías web

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

Compatibilidad con Vue.js más avanzada

Compatibilidad con Vue.js más avanzada

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.

Finalización para bibliotecas de CSS en CDN

Finalización para bibliotecas de CSS en CDN

Ahora, al cambiar el nombre de un símbolo en JavaScript o TypeScript, el IDE agrupará usos dinámicos y, de forma predeterminada, los excluirá 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.

Sugerencias de nombre para nuevos símbolos

Sugerencias de nombre para nuevos símbolos

¿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.

Control de versiones

IU nueva para clonar proyectos desde VCS y GitHub

IU nueva para clonar proyectos desde VCS y GitHub

Cuando clona un proyecto desde un sistema de control de versiones, ya sea desde la pantalla de bienvenida del IDE o desde el menú de VCS, verá un diálogo actualizado que le indica que lo obtenga desde un control de versiones.

Con este nuevo diseño, esperamos mejorar la experiencia de obtener un proyecto desde su cuenta de GitHub. Ahora puede seleccionar GitHub en el lado izquierdo del diálogo e iniciar sesión en su cuenta desde ahí.

Insertar cualquier rama

Insertar cualquier rama

Ahora puede insertar cambios desde cualquier rama utilizando la ventana emergente Branches: seleccione una rama y, después, utilice la acción Push del menú.

Antes solo podía obtener cambios de la rama en la que estaba trabajando y, para ello, tenía que ir primero a la rama, antes de poder insertar los cambios.

Personalización del formato de fecha

Personalización del formato de fecha

A veces, a revisar el registro del historial de versiones, es más sencillo entender la información si la hora se muestra en un formato relativo, como dd/mm/aaaa o mm/dd/aaaa si se encuentra en EE. UU.

En PhpStorm 2019.3, puede configurar el formato de fecha para acciones de VCS Annotate y VCS Log.

Herramientas para bases de datos

Las herramientas para bases de datos de PhpStorm presentan algunas mejoras útiles gracias a nuestros colegas del equipo de DataGrip. Eche un vistado a las Novedades de DataGrip 2019.3.

Compatiblidad con MongoDB

La ya anunciada compatibilidad con Mongo DB por fin ha llegado a las IDE de JetBrains, incluyendo PhpStorm. Ya puede ver colecciones y campos en el explorador de la base de datos, ver los datos con compatibilidad con vista de árbol. También puede ordenar por columnas o filtrar los valores y, por último, aunque no menos importante, ejecutar consultas desde dentro del IDE.

Otras mejoras:

  • Arranque más rápido: ya no tiene que esperar tanto a que aparezca la pantalla de bienvenida, y el IDE se abre con los proyectos ya indexados.
  • Mejor gestión de complementos: el IDE ya no tiene que reiniciarse cuando añade/elimina complementos de tema.
  • Compatibilidad con Kubernetes mejorada a través del complemento.
  • Barras de desplazamiento en contraste: vaya a Preferences/Settings | Appearance & Behavior | Appearance y habilite “Use contrast scrollbars”.
  • Busque en un área seleccionada cuando use la acción Buscar.
  • Desplazamiento suave con el ratón: Preferences | Appearance & Behavior | Appearance > Smooth scrolling.