Novedades de PhpStorm 2021.1

PhpStorm 2021.1 es una actualización principal que introduce la posibilidad de obtener una vista previa para archivos PHP y HTML en el editor, +20 nuevas inspecciones para evitar errores, mejoras en todos los subsistemas y programación en pares a través de Code With Me.

PHP

Definir el nivel de lenguaje PHP en la barra de estado

Definir el nivel de lenguaje PHP en la barra de estado

Defina cualquier versión de PHP para el proyecto sin modificar composer.json. Esto puede ser útil, por ejemplo, para valorar la compatibilidad de la base de código con una versión más reciente de PHP antes de hacer el cambio.

Localizar más fácilmente la configuración PHP

Localizar más fácilmente la configuración PHP

Para facilitar la búsqueda y la modificación de la configuración relacionada con PHP, hemos desplazado esta sección al nivel superior Settings / Preferences | PHP.

Vista previa de archivos PHP y HTML en el editor

En el editor, hay un nuevo icono en la esquina superior derecha que abre una pestaña para obtener una vista previa de los archivos dentro de PhpStorm. Funciona con archivos HTML y PHP.

Abra un archivo PHP, introduzca su código y podrá ver el resultado de inmediato justo al lado. No es necesario cambiar a otras ventanas. Cualquier cambio en los archivos CSS y JavaScript vinculados se reflejará también en la vista previa.

Vista previa de archivos PHP y HTML en el editor

PhpStorm utiliza un intérprete PHP local que se especifica en la configuración del proyecto en Settings/Preferences | PHP. Docker y otros intérpretes remotos no son compatibles.

Puede activar el icono de vista previa habilitando al menos un navegador en Preferences | Tools | Web Browsers y marcando la casilla de verificación For HTML files.

También puede utilizar el acceso directo Alt+F2 para abrir una pestaña con la vista previa.

Utilización de prefijos de tabla en las consultas SQL

Muchos marcos de trabajo y sistemas de gestión de contenido le permiten especificar un prefijo de tabla, que resulta útil cuando se utiliza la misma base de datos para varias aplicaciones.

Utilización de prefijos de tabla en las consultas SQL

En las versiones anteriores, PhpStorm perdería la integración de la base de datos en esos casos porque las consultas SQL contenían marcadores para los prefijos.

Ahora es posible especificar prefijos a través de un archivo .phpstorm.meta.php. Obtenga más información sobre los archivos meta y como especificar los prefijos SQL en el artículo de ayuda.

Inspecciones y arreglos rápidos

La expresión booleana se puede simplificar

La expresión booleana se puede simplificar

Si una expresión booleana contiene literales true o false, PhpStorm puede ayudarle a simplificarla. Utilice un arreglo rápido Alt+Intro para eliminar las redundancias y mejorar la legibilidad.

Comparación estricta de operandos con tipos incompatibles

Comparación estricta de operandos con tipos incompatibles

El operador === de comparación estricta siempre devolverá el resultado false si un tipo de operando no es igual que el otro.

PhpStorm resaltará esos casos, ya que pueden ser una fuente potencial de errores. PhpStorm tiene en cuenta toda la información inferida de tipo y le ayudará a encontrar incidencias en los casos menos obvios.

PHP 8: Reemplazar la asignación en la llamada de función con un argumento con nombre

PHP 8: Reemplazar la asignación en la llamada de función con un argumento con nombre

Solía ser una práctica común añadir una asignación de variable en una llamada de función para replicar el nombre de un parámetro.

Con PHP 8, utilice Alt+Intro para reemplazar la asignación con un argumento con nombre real.

Reemplazar `isset` con coalesce

Reemplazar `isset` con coalesce

Este fragmento de código isset($a) ? $a : $b; es exactamente el mismo que $a ?? $b, por lo que PhpStorm sugerirá un arreglo rápido Alt+Intro para sustituirlo.

Simplificar los bloques `if` con el cuerpo común

Simplificar los bloques `if` con el cuerpo común

Algunos bloques if o else pueden volverse redundantes después de cambios que hacen que sus cuerpos sean idénticos. PhpStorm propondrá la extracción de las partes comunes o combinar los bloques.

Invertir la declaración `if`

Invertir la declaración `if`

Pulse Alt-Intro en cualquier if y seleccione Invert `if` statement en el menú. Esto cambiará la condición a su opuesta y hará los ajustes de código necesarios para preservar la lógica. Si realiza la práctica del retorno anticipado, esta acción le ayudará a refactorizar su código.

‘\’ delantera no necesaria en la instrucción ‘use’

‘\’ delantera no necesaria en la instrucción ‘use’

En algunos casos, la barra invertida delantera es redundante para los espacios de nombres. PhpStorm ayuda a determinar si se puede quitar.

La variable `foreach` sobrescribe una variable ya definida

La variable `foreach` sobrescribe las variables ya definidas

Las variables para la llave y el valor en un bucle foreach pueden entrar en conflicto con los nombres de otras variables o parámetros. PhpStorm resalta todos los lugares en los que pueden ocurrir errores.

Sintaxis de llaves curvas innecesarias para las variables

Sintaxis de llaves curvas innecesarias para las variables

PhpStorm resalta cuándo las llaves curvas en el contexto de la interpolación de cadenas son redundantes y pueden quitarse con seguridad para escribir un código más limpio.

Modificar el tipo de parámetro en función de un valor predeterminado

Modificar el tipo de parámetro en función de un valor predeterminado

Si el tipo declarado no coincide con el tipo de un valor, puede actualizar rápidamente el tipo utilizando Alt+Intro. O con PHP 8, PhpStorm ofrecerá utilizar un tipo de unión.

Reemplazar `isset` con `!== null`

Reemplazar `isset` con `!== null`

Utilizar la función isset() solo es eficaz para los vectores y las variables. En el resto de casos, tiene sentido verificar si el operando no es null. Utilice Alt+Intro para reemplazar las verificaciones isset() con verificaciones null.

Resaltado de los enlaces http:// peligrosos

PhpStorm resalta las utilizaciones del protocolo http:// en cadenas y ofrece un arreglo rápido con Alt-Intro para cambiarlas a https://. También puede añadir URLs a la lista de ignorados con un arreglo rápido.

Combinación sospechosa de nombres

Combinación sospechosa de nombres

PhpStorm resalta algunas utilizaciones incorrectas típicas de nombres de parámetros o valores de retorno, por ejemplo, $needle y $haystack o $x y $y. Esto podría ser un error potencial o, al menos, muy confuso para quienes leen el código.

Configurar las inspecciones previas a la confirmación

Configurar las inspecciones previas a la confirmación

Ahora puede elegir un perfil de inspección de código antes de confirmar los cambios a VCS. Haga clic en el icono de la rueda dentada para mostrar las opciones de confirmación y, después, marque la casilla de verificación Analyze code, haga clic en Configure y elija el perfil deseado. Puede crear perfiles en Preferences/Settings | Editor | Inspections.

Otros

Ámbito sintético para una mejor refactorización

Ámbito sintético para una mejor refactorización

En PHP, las construcciones de bucle como los bloques foreach, for, while y catch no tienen ámbitos aislados. Esto puede resultar problemático si quiere cambiar el nombre de una variable solo dentro de un bloque.

En PhpStorm 2021.1, hemos introducido un ámbito sintético para esos bloques, por lo que la refactorización rename (Mayús+F6) será más intuitiva.

Mejor inyección de lenguaje automática

Mejor inyección de lenguaje automática

PhpStorm 2021.1 analiza la utilización de variables e inyecta las referencias de lenguaje de forma automática.

Por ejemplo, si se utiliza una variable en una función preg_*, PhpStorm sabe que es un patrón y resalta RegExp.

Extensiones en la sección `suggest` de composer.json

Extensiones en la sección `suggest` de composer.json

PhpStorm ahora considera las extensiones tanto en las secciones require como suggest.

PhpStorm le avisará cuando una extensión esté registrada en composer.json como sugerida, pero que se utilice sin verificaciones, como extension_loaded() o function_exists(). Puede utilizar un arreglo rápido para mover las extensiones a require/require-dev.

Correcciones notables

En esta versión, nos hemos centrado principalmente en la estabilidad y la calidad. En total, hemos corregido 2246 incidencias enviadas a nuestro sistema de seguimiento de incidencias por usuarios y miembros del equipo de JetBrains. Estas son algunas de las correcciones más interesantes:

  • Ahora es posible depurar proyectos WSL 2 en Docker.
  • Las herramientas de calidad ahora resuelven correctamente las rutas con docker-compose en el modo de ejecución.
  • Los archivos grandes (de más de 5000 líneas) se gestionan correctamente.
  • Hemos mejorado considerablemente el rendimiento en los proyectos con muchos alias.

Code With Me

Desarrollo colaborativo con Code With Me

Code With Me es una herramienta de JetBrains para el desarrollo colaborativo a distancia y la programación en pares. Inicialmente la introdujimos en PhpStorm 2020.3, y en esta versión se añade una serie de mejoras considerables.

Defina el nivel de acceso requerido para su proyecto y comparta el enlace con sus invitados. Sus compañeros ni siquiera necesitan tener sus propios IDEs instalados para poder colaborar, y la plataforma cuenta con llamadas de audio y vídeo integradas, además de mensajes de chat.

Para los negocios que necesiten seguridad adicional, Code With Me local se puede instalar y ejecutar de forma segura en la red privada de su propia empresa.

Cliente HTTP

Compatibilidad con SSL

Compatibilidad con SSL

Ahora puede definir la configuración SSL en el cliente HTTP haciendo clic en Add environment file y seleccionando Private. El IDE creará de forma automática un archivo en el que puede añadir sus configuraciones SSL: clientCertificate, hasCertificatePassphrase, clientCertificateKey, verifyHostCertificate.

Mejoras en la interfaz de usuario

Mejoras en la interfaz de usuario

Hay un nuevo icono de ojo que contiene opciones para el modo de visualización del cuerpo de texto. Puede cambiar de modo entre Text / JSON / HTML / XML, puede habilitar los números de línea y hay un botón nuevo, Copy Response Body to Clipboard, que permite copiar el cuerpo de la respuesta en el portapapeles.

IDE

Maximizar pestañas en la vista dividida

Maximizar pestañas en la vista dividida

Arrastre una pestaña a las esquinas de la ventana del IDE para dividir el editor. A continuación, haga doble clic en la pestaña para maximizar la zona del editor correspondiente. Haga doble clic de nuevo para restaurarla a su tamaño original.

Compatibilidad con JSONPath

Compatibilidad con JSONPath

Utilice el lenguaje de consulta JSONPath para buscar en los documentos JSON. Hay nuevas acciones disponibles en Edit | Find | Evaluate JSONPath.

Compatibilidad con el formato JSON Lines

Compatibilidad con el formato JSON Lines

PhpStorm now supports the newline-delimited JSON Lines format used for working with structured data and logs. El IDE reconocerá los tipos de archivo .jsonl, .jslines, .ldjson y .ndjson.

Configuración de la tipografía

Configuración de la tipografía

Ahora se pueden ajustar las variantes de fuente y una fuente de reserva Puede ver las nuevas opciones en Typography Settings en Settings / Preferences | Editor | Fonts.

Tecnologías web

Todas las nuevas funcionalidades y mejoras de WebStorm 2021.1 también están disponibles en PhpStorm 2021.1, y están listas para usar o con complementos gratuitos en el Marketplace de complementos.

Compatibilidad mejorada para Stylelint

Compatibilidad mejorada para Stylelint

Ahora puede corregir los problemas en CSS con Stylelint en solo unos clics. Pase el ratón sobre un problema en su archivo o coloque el signo de intercalación en él y pulse Alt+Intro. A continuación, seleccione Stylelint: Fix current file.

Además, ahora puede especificar una ruta al archivo de configuración en Settings / Preferences | Languages & Frameworks | Style Sheets | Stylelint.

Compruebe la especificidad de sus selectores

Compruebe la especificidad de sus selectores

When working with style sheets, you can now check the specificity of your selectors – just hover over a selector that you want to check. Si lo prefiere, puede hacer clic en un selector y pulsar F1/Ctrl+Q para ver esta información en la ventana emergente Documentation.

Mejoras en las solicitudes de incorporación de cambios de GitHub

Para crear una nueva solicitud de incorporación de cambios, haga clic en el icono + o vaya a Git | GitHub | Create Pull Request.

Mejoras en las solicitudes de incorporación de cambios de GitHub

El nuevo cuadro de diálogo incluye todo lo que podría necesitar:

  • Seleccione las ramas de base y de cabeza en una lista que incluye todas las ramas disponibles.
  • Revise los archivos modificados en la pestaña Files.
  • Edite el título y la descripción de las solicitudes de incorporación de cambios, asigne a revisores y usuarios asignados, y añada etiquetas.
  • Cree borradores de las solicitudes de incorporación de cambios.

Herramientas para bases de datos

Eche un vistazo a Novedades en DataGrip 2021.1: todas estas funcionalidades también están disponibles en PhpStorm. Estos son solo algunos ejemplos.

Interfaz de usuario para derechos de acceso

Interfaz de usuario para derechos de acceso

La ventana Modify user, que puede invocar en un usuario en el explorador de la base de datos con Cmd/Ctrl+F6, ahora tiene una interfaz de usuario para añadir permisos a los objetos.

Esto está disponible para PostgreSQL, Redshift, Greenplum, MySQL, MariaDB, DB2, SQL Server y Sybase.

Plantillas activas de contexto

Plantillas activas de contexto

Esta es nuestra solución para todo el que quiera generar declaraciones sencillas directamente desde el explorador de la base de datos. Cuando hace clic con el botón derecho en un objeto en el explorador, la lista que aparece contendrá elementos de plantillas activas especiales.

Obtenga más información sobre cómo crear sus propias plantillas activas de contexto.