PhpStorm 2021.1: vistas previas de archivos PHP y HTML, más de 20 inspecciones nuevas y programación de pares con Code With Me









PHP



  • Obtenga una vista previa de los archivos PHP y HTML directamente en el editor utilizando el navegador integrado y el intérprete PHP local.

  • 20 PHP.

  • , PHP, — Settings / Preferences.

  • PHP composer.json.

  • SQL, RegExp . . .

  • SQL- CMS.

  • .



IDE



  • Split .

  • JSONPath JSON-.

  • JSON Lines.

  • Preferences | Editor | Font.



Docker



  • Dockerfile.

  • Dockerfile.



Version Control



  • - GitHub — IDE .



Code With Me



  • JetBrains PhpStorm . Code With Me , - .





Puede descargar PhpStorm 2021.1 en el sitio web o en la aplicación Toolbox .



Esto es brevemente, y ahora más sobre todo.



PHP



Selección de la versión de PHP a través de la barra de estado



En la versión anterior, agregamos el indicador de versión de PHP en la barra de estado. En 2021.1, la versión se puede cambiar independientemente de la especificada en el composer.json



. Esto permitirá, por ejemplo, comprobar rápidamente la compatibilidad del código con versiones más recientes de PHP.









Encuentre fácilmente la configuración de PHP



La mayoría de las configuraciones relacionadas con PHP ahora están disponibles en Configuración / Preferencias | PHP .









Ver archivos PHP y HTML en el editor



Cuando pasa el cursor sobre cualquier lugar del editor, aparece una ventana emergente con iconos del navegador en la esquina superior derecha. Al hacer clic en el icono, el archivo actual se abrirá en el navegador seleccionado.



Ahora también hay un icono de PhpStorm aquí. Al hacer clic en él, el archivo se abrirá para obtener una vista previa directamente en el editor.



La vista previa funciona en archivos HTML y PHP, así como en todos los archivos CSS y JavaScript asociados.







Abra el archivo y comience a escribir: la pestaña de vista previa mostrará instantáneamente todos los cambios.



PhpStorm utiliza un intérprete de PHP local que se puede especificar para el proyecto en Configuración / Preferencias | PHP... Docker y otros intérpretes no locales aún no son compatibles.



Si no hay íconos en el editor, debe asegurarse de que en Preferencias | Herramientas Navegadores web , al menos un navegador está seleccionado y la casilla de verificación Para archivos HTML está marcada .



También puede abrir la pestaña de vista previa presionando Alt + F2.





Usar prefijo de tabla en consultas SQL



Muchos CMS y frameworks permiten prefijar tablas. Esto puede resultar útil cuando se utiliza la misma base de datos para varias aplicaciones.



Anteriormente, la integración con las herramientas de la base de datos se perdía porque los nombres de las tablas se generaban dinámicamente.



Ahora puede especificar el prefijo en el archivo .phpstorm.meta.php . Puede leer más sobre metarchivos y cómo especificar prefijos de tabla en la página de ayuda .



Digamos que tenemos la siguiente solicitud en una aplicación Drupal:











Como puede ver, PhpStorm no puede resolver ni el nombre de la tabla ni los nombres de las columnas. Esto se debe a que hemos especificado el prefijo de la tabla en la configuración de Drupal.



Para solucionar este problema, agregue un archivo .phpstorm.meta.php



con el siguiente contenido al proyecto :



namespace PHPSTORM_META {
 override(
  //       SQL-
   sql_injection_subst(),
   map([
     '{' => "PS2021_", //  `{`   SQL    
     '}' => '',       //   `}`    
   ]));
}
      
      







Ahora PhpStorm podrá vincular consultas SQL a fuentes de datos y brindarle funciones como autocompletar, transición a la vista de datos y más.







Por cierto, si la solicitud se forma mediante concatenación, esto también funcionará:



<?php
const DB_PREFIX = "mydatabase_";
$sql = "SELECT * FROM " . DB_PREFIX . 'table_name';
      
      







Inspecciones y arreglos rápidos



En esta versión, hemos agregado más de 20 comprobaciones diferentes y soluciones rápidas para ayudar a prevenir errores en las primeras etapas de desarrollo. Puede ver la lista completa de inspecciones y configurarlas en Configuración / Preferencias | Editor | Inspecciones .



Cuando ocurra un problema, coloque el cursor sobre él, presione Alt + Enter y seleccione la solución rápida sugerida.



Y ahora más sobre algunas de las nuevas inspecciones.



Simplificando bloques `if` con los mismos cuerpos



Algunos bloques if



y else



pueden ser redundantes. Por ejemplo, podría cambiarlos, como resultado de lo cual sus cuerpos eran total o parcialmente iguales.



PhpStorm detectará dichos bloques adicionales y se ofrecerá a eliminarlos:











Además, si solo se repite una parte del cuerpo, PhpStorm ofrecerá extraer solo él:







Inversión de "si"



Si presiona Alt + Enter para cualquiera if



, se le pedirá el comando "Invert` if` statement" . Invierte la condición y hace los ajustes necesarios para preservar la lógica.



Si desea utilizar la devolución anticipada , esta inspección será muy útil al refactorizar su código.



Por ejemplo :







en bucles, esto también funciona:





Reemplazando `isset` con ??



El código isset($a) ? $a : $b;



es idéntico $a ?? $b



, por lo que PhpStorm lo resaltará y sugerirá una solución rápida para su reemplazo.







, —  , .



Code | Run Inspection by Name... , `isset` can be replaced with coalesce. .



`isset` `!== null`



El uso isset()



solo tiene sentido para matrices y variables. En todos los demás casos, es mejor verificar el operando null



.



PhpStorm resaltará dichos lugares y le permitirá reemplazarlos con Alt + Enter isset()



con null



.







La variable en `foreach` sobrescribe la variable ya declarada



Las variables de clave y valor en el bucle foreach



pueden entrar en conflicto con los nombres de otras variables o parámetros.



El problema es que PHP no tiene un alcance separado para ellos. Es decir, el valor se anulará, probablemente contrariamente a las expectativas.



PhpStorm destacará estos lugares porque son posibles fuentes de errores.







Corchetes innecesarios para variables dentro de cadenas



PhpStorm destaca las llaves redundantes en el contexto de la interpolación de cadenas, lo que le pide que las elimine y haga que su código sea más limpio.







Simplificar expresiones booleanas



Si la expresión booleana contiene literales true



o false



, probablemente se pueda simplificar y hacer más legible.



PhpStorm resaltará dichas expresiones y le permitirá simplificarlas usando Alt + Enter.







Comparación estricta con tipos incompatibles



El operador ===



siempre regresará false



si los operandos no son del mismo tipo.







PhpStorm ahora resalta estos lugares porque pueden ser fuentes de errores. Al mismo tiempo, PhpStorm tendrá en cuenta todos los tipos deducidos y ayudará a encontrar problemas no en los casos más obvios.







Enlaces inseguros http: //



El uso del protocolo http://



en cadenas ahora está resaltado. Las ofertas IDE-fix una rápida para un reemplazo rápido http://



a https://



(por Alt-Enter). También puede usarlo para agregar una URL a la lista de enlaces ignorados.







Combinaciones de nombres sospechosas



PhpStorm destaca algunos errores comunes en el nombramiento de los parámetros o valores de retorno, tales como $needle



e $haystack



o $x



e $y



.



Por lo general, estos errores son un síntoma de un error o, como mínimo, son muy confusos.







Reemplazo de `define` con` const`



PhpStorm detecta casos en los que una declaración constante vía define



puede reemplazarse con una sintaxis más legible const



. Con Alt + Enter, puede hacer un reemplazo.







Configuración de inspecciones previas a la confirmación



Ahora puede seleccionar un perfil de inspección que se utilizará para analizar su código antes de comprometerse con Git.



Haga clic en el icono de engranaje, marque la casilla de verificación Analizar código , haga clic en Configurar y seleccione el perfil deseado.







Puede crear sus propios perfiles en Configuración / Preferencias | Editor | Inspecciones .



Otro



Alcance artificial para la refactorización



Ciclos foreach



, for



, while



y los bloques catch



de PHP no están aislados alcance. Esto es bastante inconveniente cuando cambia el nombre de las variables, porque también cambia el nombre de las variables fuera del bloque deseado.



En PhpStorm 2021.1, agregamos un alcance artificial para todos esos bloques. Ahora, al llamar a la refactorización Rename (Shift + F6), el cambio de nombre será más intuitivo.









Mejora de la inyección automática de lengua



Las versiones anteriores de PhpStorm podían definir el idioma solo para argumentos. Por ejemplo, si pasó una cadena a una función preg_*



, se resaltó como una expresión regular.



Pero si usó una variable, entonces su valor no se resaltó de ninguna manera.



PhpStorm 2021.1 analiza el uso de variables y es capaz de implementar automáticamente la sintaxis deseada.









Usando extensiones del bloque `sugerir` en composer.json



El código base puede contener clases de extensiones PHP. Hasta ahora, PhpStorm ha verificado si estas extensiones se agregan a las secciones require



del archivo composer.json



.



PhpStorm 2021.1 tiene en cuenta la especificación de extensiones no solo en la sección `require`, sino también en la sección` sugerir`.



Más importante aún, PhpStorm ahora avisa si una extensión ha sido añadido a suggest



en composer.json



, pero se utiliza sin controles de tipo extension_loaded()



o function_exists()



.



Una solución rápida especial le permitirá agregar una extensión a require/require-dev.











Correcciones importantes



Hemos arreglado más de 2400 tickets abiertos por nuestros usuarios y el equipo de JetBrains en el rastreador PhpStorm. Algunas de las más interesantes son:

  • WSL 2 Docker (WI-53396).

  • Quality tools docker-compose exec- (WI-55840).

  • PHP (5000 ) (WI-31569).

  • (WI-58306).





Code With Me



Code With Me es la nueva herramienta de programación de pares y desarrollo colaborativo de JetBrains. Lo presentamos originalmente en PhpStorm 2020.3. La herramienta se ha mejorado mucho en esta versión.







En primer lugar, fue posible establecer de forma flexible los derechos de acceso de los cómplices.



En segundo lugar, ahora los invitados ni siquiera necesitan instalar un IDE; simplemente ejecuten un comando de consola y el cliente gratuito se descargará automáticamente.



En tercer lugar, se han agregado llamadas de voz y video integradas, así como un mensajero.



Los equipos empresariales y otros equipos de seguridad ahora pueden ejecutar su servidor Code With Me en una red privada.



Lea más sobre Code With Me en el sitio web de JetBrains .



IDE



Expansión de pestañas en modo dividido



Puede abrir varias pestañas al mismo tiempo en el modo Dividido simplemente arrastrando la pestaña a la esquina deseada de la pantalla.



Ahora también puede hacer doble clic en una pestaña para expandirla por completo. También puede devolver la pestaña a su estado anterior haciendo doble clic.









Soporte JSONPath



Ahora puede usar consultas JSONPath para buscar rápidamente documentos JSON grandes. La función está disponible en la sección Editar | Buscar | Evalúe JSONPath .









Soporte JSON Lines



PhpStorm ahora admite el formato JSON Lines para trabajar con datos estructurados y registros. El IDE reconoce archivos .jsonl , .jslines , .ldjson y .ndjson .









Configuración de tipografía



Puede variar las fuentes principales y alternativas. Hay nuevas opciones disponibles en Configuración de tipografía en Configuración / Preferencias | Editor | Fuentes .







Estibador



Finalización de nombres de imágenes en Dockerfile



Comience a escribir el nombre de la imagen y PhpStorm le ofrecerá una lista de imágenes disponibles en Docker Hub:







Plegado en Dockerfiles de varias etapas



Cuando use varias secciones en un Dockerfile, FROM



puede contraer cualquiera de ellas y estarán separadas por una línea para una mejor legibilidad.







Cancelar la ejecución de Docker



Puede detener fácilmente la ejecución de un Dockerfile en ejecución desde la ventana Servicios . Seleccione Detener implementación en el menú contextual del elemento lanzado.





Mejoras para las solicitudes de extracción de GitHub



Para crear una reserva de grupo, simplemente haga clic en "+" en la ventana Solicitudes de extracción o vaya a Git | GitHub | Crear solicitud de extracción .



En el cuadro de diálogo actualizado, puede:

  • Seleccione las ramas de la base y de la cabeza de la lista de ramas disponibles.

  • Ver archivos modificados en la pestaña Archivos.

  • Edite nombres y descripciones de solicitudes de extracción, asigne revisores y ejecutantes, agregue etiquetas.

  • Crea borradores de solicitudes de extracción.









PhpStorm 2021.1 también admite plantillas de solicitud de extracción. Agregue un archivo pull_requst_template.md



al proyecto y especifique el texto de la plantilla en él, y cada vez que cree una nueva solicitud de extracción, esta descripción se completará automáticamente.



Soporte de plantilla para confirmaciones de Git



PhpStorm ahora respeta la plantilla especificada en commit.template



su parámetro de configuración de Git al crear un mensaje de confirmación .



Cliente HTTP



Soporte SSL



Ahora puede especificar la configuración de SSL en el cliente HTTP. Haga clic en el botón Agregar archivo de entorno y seleccione Privado . Archivo se creará en el que se puede especificar la configuración de SSL: clientCertificate



, hasCertificatePassphrase



, clientCertificateKey



, verifyHostCertificate



.









Mejoras para OpenAPI / Swagger



PhpStorm es compatible con las especificaciones de OpenAPI y la interfaz de usuario Swagger incorporada.



Ahora Swagger UI admite especificaciones con archivos externos conectados a través de $ref



.







Herramientas de base de datos





PhpStorm incluye capacidades integradas de DataGrip : una interfaz de permisos , plantillas contextuales Live Templates, navegación simplificada y más. Obtenga más información sobre estas funciones en la descripción general de la versión DataGrip 2021.1 de nuestros colegas.



Web





Y como siempre, PhpStorm incluye todas las actualizaciones de WebStorm 2021.1 : autocompletado más inteligente para JavaScript y TypeScript, soporte extendido de Stylelint y más.






Y aquí hay un video (en inglés) donde demostramos las principales características de esta versión:





Eso es todo por ahora. Estaremos encantados de recibir sus comentarios: preguntas, deseos, informes de errores y solo pensamientos. Déjalos en los comentarios a continuación.



All Articles