Novedades de IntelliJ IDEA 2022.1

IntelliJ IDEA 2022.1 introduce el Analizador de Dependencias para facilitar la gestión de dependencias y la resolución de conflictos, un asistente de Nuevo Proyecto actualizado para perfeccionar el lanzamiento de nuevos proyectos, y la ventana de la herramienta de Notificaciones que ofrece una nueva forma simplificada de recibir notificaciones del IDE. También incluye otras mejoras notables que se detallan a continuación.

Novedades principales

Analizador de dependencias

Analizador de dependencias

El recién introducido Analizador de Dependencias proporciona amplia información sobre todas las dependencias de Maven y Gradle utilizadas en tus proyectos y subproyectos. Le ayuda a detectar y resolver las dependencias conflictivas, a filtrar las dependencias idénticas y a comprobar si están presentes en diferentes bibliotecas, y a navegar fácilmente por las dependencias para corregir las configuraciones de compilación.

Asistente New Project mejorado

Hemos rediseñado la interfaz del asistente New Project para agilizar la creación de nuevos proyectos. Puede lanzar rápidamente un proyecto vacío; utilizar las opciones preconfiguradas para Java, Kotlin, Groovy y JavaScript; o utilizar generadores si tiene proyectos más complejos.

Nueva ventana de herramientas Notifications

Nueva ventana de herramientas Notifications

La instancia Event Log se ha sustituido por una nueva ventana de herramientas Notifications. Destaca las sugerencias y notificaciones importantes y útiles con mayor claridad, y las mantiene organizadas en una ventana de herramientas específica. Para obtener más detalles, consulte el artículo del blog.

Experiencia de usuario

Maven Archetype en el asistente New Project

El generador de proyectos Maven Archetype actualizado en el asistente New Project introduce la funcionalidad de búsqueda mientras escribe al navegar por ellos, la capacidad de gestionar un catálogo de arquetipos durante la creación de módulos y la capacidad de introducir las propiedades requeridas por arquetipo.

Mejora de los consejos insertados

Hemos implementado consejos insertados mejorados en Code Vision que le proporcionan información instantánea sobre su código directamente en el editor. La lista de métricas mostradas incluye ahora herederos, usos, autores de código y problemas relacionados. Todas las métricas están ahora activadas por defecto y pueden modificarse en la configuración de los consejos de inserción. Estos ajustes también se han actualizado y se les ha dotado de una nueva interfaz de configuración.

Pestañas divididas uniformemente

Puede distribuir uniformemente el espacio de trabajo entre las pestañas del editor para que tengan la misma anchura. Para configurarlas, vaya a Settings / Preferences | Advanced Settings | Editor Tabs | Equalize proportions in nested splits.

Exportar diagramas UML a otros formatos

Exportar diagramas UML a otros formatos
Ultimate

Ahora se pueden exportar diagramas UML como archivos yEd .graphml, JGraph .drawio, Graphviz .dot, Graphviz .dot con posiciones, Mermaid .md, Plantuml, e IntelliJ IDEA .uml, lo que los hace compatibles con herramientas de terceros.

Nuevo cuadro de diálogo Structural Search and Replace

El cuadro de diálogo Structural Search and Replace ahora indica una lista de todas las plantillas para que resulte más fácil navegar entre ellas. Además, el diálogo cuenta con un icono de Pin Dialog y casillas de verificación de Injected code y Match case reorganizadas.

Seguridad

Complemento Package Checker
Ultimate

IntelliJ IDEA 2022.1 can now detect vulnerabilities in Maven and Gradle dependencies used in your projects by checking across the Checkmarx SCA Database and the National Vulnerability Database, thanks to the Package Сhecker plugin that is bundled with IntelliJ IDEA Ultimate.

Más información en esta entrada del blog.

Editor

Ejecutar comandos desde archivos Markdown

Ejecutar comandos desde archivos Markdown

Cuando trabaje con archivos Markdown que contengan instrucciones con comandos a ejecutar, puede ejecutar esos comandos directamente desde el archivo utilizando los iconos de ejecución en el medianil.

Copiar fragmento de código para archivos Markdown

Copiar fragmento de código para archivos Markdown

Con la nueva funcionalidad Copy code snippet en bloques Markdown, puede copiar sin esfuerzo el contenido al portapapeles con un solo clic.

Markdown Editor Floating Toolbar actualizada

La barra Markdown Editor Floating Toolbar ofrece ahora la función de creación de listas y un menú desplegable que permite seleccionar los estilos de cabecera. Es personalizable, por lo que puede llenarlo con las opciones que necesite.

Reformateo del código en LightEdit

Reformateo del código en LightEdit

Hemos mejorado el modo LightEdit para que pueda hacer aún más cosas sin necesidad de crear o abrir un proyecto dedicado. Ahora, puede reformatear el código en modo sin proyecto.

Nueva inspección de formato incorrecto

Nueva inspección de formato incorrecto

Hemos implementado la inspección Incorrect formatting, que le notifica cuando el formato actual de un archivo no coincide con la configuración del estilo del código.

Mejora del formato

Para mantener la coherencia de formato en el código, la opción Add a space at line comment start se ha ampliado con una casilla de verificación de Enforce on reformat que se activa automáticamente. Está disponible por defecto para Java, Kotlin y Groovy, y solo modifica los comentarios de línea que comienzan con símbolos alfanuméricos.

Compatibilidad con el modo de ejecución sin repeticiones en el formateador de la línea de comandos

El formateador de línea de comandos admite un modo dry run para validar los archivos del proyecto. Si un archivo necesita ser formateado, saldrá con un estado distinto de cero.

Java

Compatibilidad con Java 18

IntelliJ IDEA 2022.1 es compatible con las nuevas funcionalidades de Java 18, que fue lanzado en marzo de 2022. El IDE ahora admite fragmentos de código, los cambios en la coincidencia de patrones para las expresiones switch, y más. Para obtener más detalles, consulte este artículo del blog.

Decompilador Java

El decompilador de Java es ahora más compatible con la versión de Java 17. Soporta constructores modernos de lenguaje, como tipos sellados y coincidencia de patrones, presenta un mejor cambio en la decompilación de cadenas, proporciona anotaciones de tipo y detecta constantes comunes.

Mejor compatibilidad con JUnit 5

Hemos añadido compatibilidad con las nuevas características introducidas en JUnit 5.7, incluyendo compatibilidad con anotaciones @EnabledIf/DisabledIf, @NullSource/EmptySource y @TempDir.

Actualización de la plantilla Surround with try/catch

Actualización de la plantilla Surround with try/catch

La plantilla actualizada de Surround with try/catch ahora vuelve a lanzar una excepción ajustada en una RuntimeException en lugar de tragársela.

Kotlin

Compatibilidad con Kotlin 1.6.20

IntelliJ IDEA 2022.1 es compatible con Kotlin 1.6.20, por lo que las últimas características del lenguaje, como la compatibilidad con la compilación en paralelo, un prototipo de receptores de contexto y una mejor compartición de código en todos los objetivos de Kotlin, ya están disponibles en el IDE. Obtenga más información acerca de las nuevas actualizaciones de Kotlin en este artículo del blog.

Mejora del rendimiento del IDE para Kotlin

La optimización de los índices de los paquetes aumentó significativamente la velocidad del IDE al realizar la finalización del código, el resaltado y las operaciones relacionadas con la búsqueda de referencias. El número y el alcance de los casos de reindexación que se produjeron después de los cambios de código también disminuyeron.

Mejoras del depurador

Hemos introducido algunas mejoras y actualizaciones útiles para la funcionalidad de Smart Step Into durante la depuración de proyectos Kotlin. También hemos abordado una serie de problemas con los puntos de interrupción.

Integración del complemento Kover

To ensure better Kotlin code coverage, the Kover plugin has been integrated with IntelliJ IDEA.

Groovy

Complemento Package Checker

Compatibilidad con plantillas Postfix para Groovy

La finalización de código para Groovy ahora es compatible con la mayoría de las plantillas postfix como arg, cast, for, iter, nn, notnull, null, not, throw, try, var, par, sout, serr, while, new, reqnonnull, y return.

Marcos de trabajo y tecnologías

Compatibilidad con microservicios Go
Ultimate

IntelliJ IDEA Ultimate ahora es compatible con los microservicios Go, y proporciona características como las referencias de ruta de URL, los puntos de conexión, Search Everywhere y los iconos del medianil. Las funcionalidades están disponibles después de instalar el complemento Go, y actualmente solo funcionan con funciones de la biblioteca estándar. Más detalles aquí.

Mejoras en la información sobre el código para Spring Data Mongo
Ultimate

Cuando se trabaja con Spring Data MongoDB, IntelliJ IDEA ahora resalta las consultas JSON, completa los operadores y los campos del documento, y proporciona la navegación a la ventana de herramientas Database desde las entidades mapeadas.

Mejor compatibilidad con archivos .proto

Mejor compatibilidad con archivos .proto
Ultimate

Hay una nueva acción de intención para los archivos .proto que añade las declaraciones de importación que faltan para las referencias de mensajes sin resolver. Después de añadir las declaraciones de importación que faltan, el IDE proporciona sugerencias de finalización para las referencias de los mensajes.

Compatibilidad con reflexión gRPC

Compatibilidad con reflexión gRPC
Ultimate

Con IntelliJ IDEA Ultimate, ahora puede ejecutar solicitudes y obtener la finalización de los nombres de servicios y métodos directamente desde una instancia de servidor en ejecución. The project does not need to contain .proto files, but the server should support gRPC reflection.

Mejoras de compatibilidad con Thymeleaf

Mejoras de compatibilidad con Thymeleaf
Ultimate

IntelliJ IDEA Ultimate ofrece ahora una mejor compatibilidad con Thymeleaf, incluyendo menos inspecciones con falsos positivos, un mejor rendimiento del IDE cuando se editan las plantillas de Thymeleaf, y niveles de inspección y resaltado ajustados para que reciba las notificaciones correctas.

Finalización en los archivos de config de Helidon
Ultimate

El marco de trabajo Helidon cuenta ahora con mejor compatibilidad en IntelliJ IDEA Ultimate. El IDE ahora proporciona la finalización de claves de configuración en los archivos de propiedades y en los archivos .yaml, y admite las acciones Go to Declaration y Quick Doc.

Herramientas de build

Barra de progreso actualizada para Gradle

Barra de progreso actualizada para Gradle

Hemos introducido una barra de progreso para los procesos de Gradle, como la descarga de dependencias y la importación de artefactos. Le permite hacer un seguimiento de lo que ocurre exactamente con los archivos y estimar cuándo se completará el proceso.

Compatibilidad con módulos de prueba separados en el complemento del compilador de Maven

Compatibilidad con módulos de prueba separados en el complemento del compilador de Maven

Hemos añadido una funcionalidad experimental al complemento del compilador de Maven. Ahora permite establecer niveles de lenguaje específicos por separado para las fuentes de producción y de prueba. Puede activar esta opción en Preferences/Settings | Build, Execution, Deployment | Build Tools | Maven | Importing.

VCS

Información del autor del código proporcionada a través de consejos insertados

Información del autor del código proporcionada a través de consejos insertados

Hemos actualizado la funcionalidad Code Vision para que IntelliJ IDEA pueda proporcionarle al instante información sobre la autoría del código basada en el historial del VCS. Los consejos insertados Code Author se encuentran activados de forma predeterminada en Preferences / Settings | Editor | General | Inlay Hints | Code Vision.

Actualización de Annotate with Git Blame

Actualización de Annotate with Git Blame

Hemos mejorado la funcionalidad de Annotate with Git Blame para que sea más fácil investigar los cambios introducidos. El IDE resalta las diferencias en las líneas directamente en el editor al pasar el ratón por encima de una anotación, y abre la ventana de herramientas Git Log al hacer clic en ella.

Se ha actualizado Commit Details en la ventana de herramientas de Git

Se ha actualizado Commit Details en la ventana de herramientas Git

El panel Commit Details ahora incluye información sobre las firmas GPG y el estado de la compilación. Anteriormente, estos datos se mostraban solo como una columna en el registro Git.

Historial de archivos Git: nueva interfaz de usuario sin índice

Historial de archivos Git: nueva interfaz de usuario sin índice

La nueva interfaz de usuario de la ventana de herramientas Git File History es ahora independiente del proceso de indexación. Los datos se representan con una nueva interfaz, incluso si el índice de registro está desactivado.

Cambios sugeridos en los comentarios de solicitud de incorporación de cambios

Cambios sugeridos en los comentarios de solicitud de incorporación de cambios

Ahora es más fácil trabajar con los cambios sugeridos en IntelliJ IDEA, ya que ahora puede aplicar o confirmar los cambios localmente en el IDE.

Definir herramientas externas de diferenciación y fusión por tipo de medio de archivo

Definir herramientas externas de diferenciación y fusión por tipo de medio de archivo

IntelliJ IDEA 2022.1 ahora permite especificar diferentes herramientas externas de diff y merge en función del tipo de archivo. Para configurarlas, vaya a Settings / Preferences | Tools | Diff & Merge | External Diff Tools.

Perfilador

Configuración del perfilador único basada en Async Profiler
Ultimate

Se ha implementado la nueva configuración del perfilador, IntelliJ Profiler. Combina la potencia del Async Profiler y del Java Flight Recorder y nos acerca al objetivo de implementar una única herramienta de creación de perfiles todo en uno para todas las plataformas.

Depurador

Reset Frame

Reset Frame

En la vista Frames de la ventana de herramientas Debugger, hemos eliminado la acción Drop Frame de la barra de herramientas y, en su lugar, la hemos puesto a su disposición con un icono de Reset Frame inline.

Etiquetas de pestañas ocultas

Etiquetas de pestañas ocultas

Para maximizar el espacio utilizable en la ventana de herramientas Debugger, las etiquetas de las pestañas están ahora ocultas de forma predeterminada. Para que vuelvan a ser visibles o para personalizar su ubicación, utilice la opción Show Tab Labels en Layout Settings.

Herramientas de control de calidad

Mejoras en el editor de objetos de página

El complemento Selenium UI Testing se ha mejorado en gran medida en su Page Object Editor. Hemos optimizado el flujo de trabajo y rediseñado la interfaz de usuario para que aparezcan menos elementos de distracción. Puede añadir instantáneamente elementos de la página web al código sobre la marcha, y luego seguir editando sin salir del Page Object Editor. También puede elegir qué tipo de selector utilizar al añadir un nuevo elemento de página al código.

Nuevo asistente Page Object

El nuevo asistente Page Object permite elegir el lenguaje y el marco de trabajo de automatización de pruebas al crear una nueva clase de objeto de página. También hemos hecho que el asistente esté disponible en todos los puntos de su código donde tenga una dependencia de la biblioteca de Selenium. Si desea probar nuestra generación automática de objetos de página con diferentes marcos de trabajo y plantillas personalizadas sin crear un nuevo archivo, hay un modo especial de área de juegos disponible a través de Tools | Open Selenium Page Object Playground.

Kubernetes

Editar recursos en el clúster

Editar recursos en el clúster
Ultimate

Los recursos cargados desde el clúster pueden modificarse ahora desde la pestaña del editor.

Ruta personalizada a kubectl

Ruta personalizada a kubectl
Ultimate

Puede configurar manualmente una ruta para kubectl si no está en la ubicación estándar. Para establecer su ruta personalizada, vaya a Settings/Preferences | Build, Execution, Deployment | Kubernetes | Path to kubectl executable.

Acción de reenvío de puertos en la vista Services

Acción de reenvío de puertos en la vista Services
Ultimate

Ya está disponible la funcionalidad de reenvío de puertos para los pods. Para reenviar puertos, puede utilizar el icono de la barra de herramientas o elegir la opción del menú contextual.

Acción Describe Resource en la vista Services

Acción Describe Resource en la vista Services
Ultimate

Hay una nueva acción de Describe Resource para todos los recursos de la vista Services. Puede acceder a ella desde el menú contextual o utilizar el botón de la barra de herramientas.

Support Events en un clúster
Ultimate

Los eventos del clúster se muestran ahora en un nodo separado en la vista Services, y proporcionan datos sobre los eventos recientes en el sistema. Para ver los eventos de un pod específico, llame a Describe Resource en él y busque la sección Events en los resultados de la acción.

Compatibilidad con Werf
Ultimate

Hemos introducido compatibilidad limitada del editor para werf.yaml y archivos de plantilla Helm relacionados, incluyendo la funcionalidad de finalización de código, inspecciones, sugerencias de arreglo rápido, refactorización/cambio de nombre para .Values.werf.image.*, y validación de algunos campos como boolean y int.

Compatibilidad con importación de valores secundarios para Helm

Compatibilidad con importación de valores secundarios para Helm
Ultimate

IntelliJ IDEA Ultimate ahora incorpora compatibilidad con la importación de valores secundarios a través de la configuración de import-values que afecta a la finalización/navegación de los objetos integrados en las plantillas.

Docker

Nueva interfaz de usuario de la vista Services

Nueva interfaz de usuario de la vista de Services

Para IntelliJ IDEA 2022.1, hemos renovado en gran medida la interfaz de usuario de Docker en la ventana de herramientas Services. Las novedades se han implementado para contenedores, imágenes, redes y volúmenes.

Compatibilidad con objetivos Docker Compose

Ya está disponible la compatibilidad con los objetivos de Docker Compose. Por ejemplo, para ejecutar una aplicación Spring Boot en un objetivo Compose, vaya a la configuración de ejecución, cree un objetivo Compose a través de Manage targets y ejecute la aplicación.

Compatibilidad con Docker Registry V2

Compatibilidad con Docker Registry V2

También hemos añadido compatibilidad con la API Docker Registry HTTP V2 para utilizarla con Docker 1.6+. Puede crear registros Docker V2 simples o protegidos por contraseña y realizar todas las acciones habituales como ver, hacer push y pull de imágenes.

Desarrollo remoto

Más ajustes para servidores remotos
Ultimate

El desarrollo remoto cuenta ahora con un widget del Backend Control Center, que muestra la carga de la CPU, la memoria, la capacidad del disco y otros parámetros que puede necesitar para supervisar el estado del backend.

Un nuevo ajuste de seguridad le permite ahora utilizar el reenvío de claves SSH para autenticar el acceso a los repositorios git desde su máquina remota. Alternativamente, puede utilizar el ayudante del agente SSH para este fin.

Ahora puede especificar la ruta de descarga y las ubicaciones exactas para el backend del IDE en su máquina remota.

El thin client local incorpora nuevas funcionalidades

El thin client local incorpora nuevas funcionalidades
Ultimate

JetBrains Client ahora es compatible con más editores de archivos, por lo que puede trabajar no solo con archivos basados en texto, sino también con imágenes PNG, diagramas UML, archivos de Jupyter Notebook y recursos de diseño de Android.

Se han añadido al menú del medianil Run with coverage y una ventana Profiler. El menú contextual incluye ahora ventanas de herramientas de Maven y Gradle, y se han añadido más elementos de submenú útiles.

También hemos mejorado la funcionalidad de depuración y hemos puesto a su disposición múltiples acciones para que pueda examinar sin esfuerzo su código cuando desarrolle de forma remota.

Herramientas para bases de datos

Copiar varios objetos

Copiar varios objetos
Ultimate

Ya puede seleccionar varias tablas y copiarlas en otro esquema. Seleccione las tablas y pulse F5 para abrir el diálogo de exportación. Al exportar una sola tabla, puede asignar las columnas, ver el DDL de la nueva tabla y modificarlo.

El IDE admite la exportación entre DBMS, lo que significa que el esquema de destino puede pertenecer a cualquier base de datos de su proyecto. Para obtener más información, lea este artículo del blog.

MongoDB: edición de campos en los resultados

MongoDB: edición de campos en los resultados
Ultimate

Ahora puede editar los resultados de las colecciones de MongoDB con la misma facilidad que en las bases de datos relacionales. También puede editar los conjuntos de resultados obtenidos mediante .find(). Esto funcionará incluso si se ejecutó después de .find() cualquier método del cursor que modifique el resultado, como sort() o limit().

Cancelación de las declaraciones en curso

Cancelación de las declaraciones en curso
Ultimate

Se ha actualizado la lógica de cancelación de las declaraciones en ejecución. Ahora está más claro que la solicitud se cancela, y ya no desactivamos las fuentes de datos sin una advertencia. Para obtener más información lea este artículo del blog.

Cancelación de conexiones sin desactivar la fuente de datos

Cancelación de conexiones sin desactivar la fuente de datos
Ultimate

Ahora puede detener el proceso de creación de una conexión sin desactivar la fuente de datos. Si hace clic en el botón Cancel mientras se está creando la conexión, ésta se detendrá y aparecerá un mensaje de conexión cancelada. Lea más acerca de esta actualización en este artículo del blog.

Desarrollo web

Mejor compatibilidad con Next.js

Mejor compatibilidad con Next.js
Ultimate

Gracias a la compatibilidad con React incorporada, todas las funcionalidades clave ya deberían estar funcionando en sus proyectos Next.js. IntelliJ IDEA 2022.1 añade compatibilidad con algunos aspectos específicos del marco de trabajo, como las páginas. El IDE resolverá las rutas utilizadas en la propiedad href de sus componentes de Link, así como en formularios y otras etiquetas. La finalización de código, la navegación y las refactorizaciones también funcionarán.

Compatibilidad con Volta

Compatibilidad con Volta
Ultimate

En esta versión, hemos añadido una integración adecuada con Volta, un gestor de herramientas de JavaScript. IntelliJ IDEA 2022.1 reconocerá automáticamente Yarn y npm instalados con Volta.

Scala

Mejoras en la compatibilidad con Scala 3

Mejoras en la compatibilidad con Scala 3

Ahora es posible autocompletar los métodos extension. Además, el editor ofrece importar métodos extension e instancias given automáticamente. Las nuevas inspecciones para el modificador infix y la anotación @targetName pueden ayudarle a mantener un estilo de código coherente. Hemos mejorado significativamente el rendimiento del lector .tasty, por lo que la indexación de bibliotecas Scala 3 es ahora hasta dos veces más rápida.

Nuevos asistente de proyecto Scala

Nuevos asistente de proyecto Scala

Configurar un nuevo proyecto Scala es ahora más fácil. Con el asistente actualizado New Project, puede seleccionar un proyecto JDK, el sistema de compilación deseado y la versión de Scala en un solo paso.

Exportaciones de Alias

Exportaciones de Alias

La mayoría de las cosas en Scala son alias, incluyendo String, Seq, List, Set y Map. Esto afecta al resaltado de sintaxis, a GoTo, Quick Documentation, Quick Definition, Find Usages, Optimize Imports y a otras funcionalidades del IDE, porque actúan sobre los alias en lugar de las definiciones reales. Para mejorar la experiencia del usuario, el editor ahora trata los alias de la biblioteca estándar como exportaciones transparentes, de modo que, por ejemplo, List implica scala.collection.immutable.List en lugar de scala.List.

Inspección de declaraciones no utilizadas

Inspección de declaraciones no utilizadas

Anteriormente, la detección de declaraciones no utilizadas se limitaba a los enlaces private. Ahora, la inspección Unused declaration admite los enlaces públicos introducidos por clases, métodos, variables, parámetros, etc.

Consejos insertados para rangos

Actualizaciones del depurador Scala

En esta versión, hemos hecho un esfuerzo por renovar y agilizar el depurador de Scala. Hemos mejorado el manejo de objects, parámetros de los constructores primarios, clases de valores, Arrays, lazy vals y colecciones, así como evaluación de expresiones mejorada.

Integración con Space

Comentarios sobre la revisión del código: Post Now o Save as Draft

Comentarios sobre la revisión del código: Post Now o Save as Draft

Al revisar los cambios de código en el IDE, ahora puede elegir cuándo publicar un comentario de revisión de código.

  • Post Now publica inmediatamente el comentario en la revisión del código y notifica al autor y a los demás participantes en la revisión del código de forma inmediata.
  • Save as Draft agrupa todos los comentarios y los envía de una sola vez cuando aprueba los cambios o espera una respuesta.

For more details, check out this blog post.

Atajos de teclado para la revisión de código

Atajos de teclado para la revisión de código

Hemos mejorado la interfaz de usuario de la revisión de código mostrando los atajos de teclado aplicables. Al publicar un comentario de revisión de código, puede utilizar Enter para añadir una nueva línea. Ctrl+Enter guardará o publicará el comentario.