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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
En algunos casos, la barra invertida delantera es redundante para los espacios de nombres. PhpStorm ayuda a determinar si se puede quitar.
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.
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.
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.
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
.
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.
PhpStorm resalta algunas utilizaciones incorrectas típicas de nombres de parámetros o valores de retorno, por ejemplo, $
needle
y $haystack
o $x
y $y0>. Esto podría ser un error potencial o, al menos, muy confuso para quienes leen el código.
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.
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.
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.
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
.
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:
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.
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
.
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.
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.
Utilice el lenguaje de consulta JSONPath para buscar en los documentos JSON. Hay nuevas acciones disponibles en Edit | Find | Evaluate JSONPath.
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.
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.
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.
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.
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.
Para crear una nueva solicitud de incorporación de cambios, haga clic en el icono + o vaya a Git | GitHub | Create Pull Request.
El nuevo cuadro de diálogo incluye todo lo que podría necesitar:
Eche un vistazo a Novedades en DataGrip 2021.1: todas estas funcionalidades también están disponibles en PhpStorm. Estos son solo algunos ejemplos.
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.
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.