Novedades de IntelliJ IDEA 2022.2

IntelliJ IDEA 2022.2 incluye varias mejoras de calidad en la funcionalidad de desarrollo remoto, que ahora es más elegante y estable. A partir de la versión 2022.2, IntelliJ IDEA utiliza JetBrains Runtime 17, que mejora la experiencia y el rendimiento del IDE de muchas maneras. IntelliJ IDEA Ultimate añade compatibilidad con las características de Spring 6 y Spring Boot 3 e introduce actualizaciones para varios otros marcos de trabajo. La nueva versión ofrece muchas otras mejoras y perfeccionamientos dignos de mención que vamos a detallar a continuación.

Novedades principales

Desarrollo remoto

Mejoras en el desarrollo remoto
Beta
Ultimate

Hemos introducido un gran número de actualizaciones importantes para el desarrollo remoto en IntelliJ IDEA 2022.2, para que su experiencia sea más estable y con un mayor número de funcionalidades. Las nuevas actualizaciones aportan diversas mejoras de calidad. Conecte su portátil a través de SSH a IntelliJ IDEA instalado en un servidor remoto y obtenga una experiencia de desarrollo fluida. Si está utilizando JetBrains Space para orquestar los backends de forma eficiente con la nueva versión, puede gestionar sus entornos de desarrollo directamente desde IntelliJ IDEA. Si desea más información, consulte este artículo del blog.

El cambio de JBR 11 a JBR 17

El cambio de JBR 11 a JBR 17

As of v2022.2, all IntelliJ IDEA updates come with JetBrains Runtime 17 (JBR 17), which brings a significant IDE performance improvement, better security, enhanced rendering performance on macOS thanks to the Metal API, and more. Lea este artículo del blog para obtener más detalles.

Compatibilidad con las funcionalidades de Spring 6 y Spring Boot 3
Ultimate

IntelliJ IDEA 2022.2 ahora es totalmente compatible con las funcionalidades de Spring 6 y Spring Boot 3, incluyendo las nuevas clases @AutoConfiguration y las clases @ConfigurationProperties con la nueva sintaxis de vinculación del constructor sin @ConstructorBinding explícito. No olvide actualizar el IDE si desea probar Spring 6 o cambiar sus proyectos a esta nueva versión.

Experiencia de usuario

Ejecutar el archivo actual

Ejecutar el archivo actual

Para facilitar la ejecución y depuración de archivos individuales sin disponer de una configuración de ejecución dedicada, hemos introducido la nueva funcionalidad Run Current File disponible desde el widget Run/Debug. Con su ayuda, puede ejecutar y depurar el archivo que tenga abierto en ese momento, y el IDE utilizará automáticamente el tipo de configuración de ejecución más adecuado para este archivo.

Acceso directo de teclado para cambiar el tamaño de la fuente globalmente

Un nuevo acceso directo de teclado cambia el tamaño de la letra en cualquier lugar del editor. Para aumentar el tamaño de la letra, pulse Alt+Mayús+Punto. Para reducirlo, pulse Alt+Mayús+Coma Además, ahora hay un indicador del tamaño de la fuente que muestra el tamaño de la fuente actual junto con la opción de revertirla a la predeterminada.

Acción Merge All Project Windows en macOS

Acción Merge All Project Windows en macOS

Para macOS, hemos introducido la posibilidad de organizar el espacio de trabajo fusionando todas las ventanas de proyecto abiertas en una sola, convirtiendo cada ventana en su propia pestaña. Para realizar esta acción vaya a Window | Merge All Project Windows.

Configuración mejorada para resaltar inspecciones

Ahora puede configurar la forma en que aparecen las inspecciones en el editor sin cambiar su nivel de gravedad. Cuando desee cambiar el estilo de resaltado de una inspección, puede configurarlo mediante el nuevo menú desplegable Highlighting in editor, que muestra en una disposición práctica todas las opciones disponibles.

Barra de progreso Cloning repository en la pantalla Welcome

Barra de progreso Cloning repository en la pantalla de bienvenida

La barra de progreso Cloning repository aparece ahora en la pantalla de bienvenida del IDE y se muestra directamente en la lista de proyectos, lo que la hace más clara y fácil de usar.

Nuevo campo Description de los marcadores mnemotécnicos

Nuevo campo Description para marcadores mnemotécnicos

El cuadro de diálogo Add Mnemonic Bookmark se ha actualizado con un campo Description, de modo que ahora puede añadir una descripción opcional a su marcador de inmediato.

Editor

Nuevo ajuste para desactivar el cierre automático de los comentarios en bloque

Nuevo ajuste para desactivar el cierre automático de los comentarios en bloque

Ahora es posible desactivar el cierre automático de los comentarios en bloque con solo pulsar la tecla Intro. Para ello, vaya a Settings / Preferences | Editor | Smart Keys y desmarque la casilla Close block comment en la sección Enter.

Acceso más rápido a Code Completion Settings

Acceso más rápido a Code Completion Settings

Ahora puede acceder a Code Completion Settings y configurar sus preferencias directamente desde el icono de los tres puntos verticales en la ventana emergente de finalización de código.

Nuevo panel de notificaciones para ajustar las asociaciones de tipos de archivos

Nuevo panel de notificaciones para ajustar las asociaciones de tipos de archivos

Cuando un archivo se asocia explícitamente con texto plano por error, IntelliJ IDEA ahora le notifica sobre la asociación errónea del tipo de archivo y sugiere restablecerla directamente desde el editor, sin que tenga que hacerlo manualmente en Settings / Preferences.

Nueva acción para generar tablas de contenido en archivos Markdown

Nueva acción para generar tablas de contenido en archivos Markdown

Ahora es posible generar fácilmente tablas de contenido en archivos Markdown basadas en los encabezados del documento. Esta nueva acción está disponible en los menús emergentes Insert y Generate, que puede invocar mediante el acceso directo de teclado Alt+Insertar o con un clic derecho. El IDE insertará una tabla de contenidos en la posición actual del signo de intercalación y la encerrará con etiquetas <!-- TOC -->, para que pueda actualizarla más tarde llamando al mismo menú.

Java

Mejoras en la finalización de código y en las inspecciones

Hemos implementado una serie de cambios en las inspecciones de Java para ayudarle a detectar posibles errores y simplificar el código. Por ejemplo, la inspección Standard ‘Charset’ object can be used se ha mejorado, por lo que ahora reconoce .name() y .toString(). El IDE ahora puede advertirle cuando las variables de patrón ocultan campos, y atrapa las llamadas Objects.requireNonNullElse sin sentido. Una serie de inspecciones de Java relacionadas con JUnit se han convertido en inspecciones de JVM, por lo que ahora también están disponibles en Kotlin. Además, la finalización del código ahora sugiere los literales .class cuando es aplicable.

Para obtener más información sobre mejoras relaciones con Java, lea nuestro artículo del blog.

Kotlin

Compatibilidad con funcionalidades de Kotlin 1.7.0

Compatibilidad con funcionalidades de Kotlin 1.7.0

Hemos añadido compatibilidad con las características introducidas en Kotlin 1.7.0, la última versión del lenguaje. El IDE ahora renderiza correctamente los tipos definitely non-nullable y le proporciona una inspección útil para los requisitos de opt-in.

Compatibilidad con el análisis del flujo de datos en el depurador de Kotlin

Compatibilidad con el análisis del flujo de datos en el depurador de Kotlin

Hemos integrado el depurador de Kotlin con la funcionalidad de análisis de flujo de datos para que ahora muestre consejos de DFA que indique qué condiciones son verdaderas y qué ramas se ejecutarán. Anteriormente, esta integración solo estaba disponible para Java, pero ahora también es compatible con Kotlin.

El constructor nativo de IntelliJ IDEA utiliza la versión del compilador de Kotlin configurada en el proyecto

A partir de la versión 2022.2, el compilador de Kotlin incluido ya no se utiliza con el constructor nativo de IntelliJ IDEA. Tanto las compilaciones locales como las CI se ejecutan ahora con la versión del compilador de Kotlin declarada en la configuración del proyecto. Este cambio elimina las incoherencias entre las compilaciones locales y de CI que aparecían anteriormente debido a la falta de coincidencia entre la versión del compilador incluido y la versión definida en el archivo de compilación del proyecto. Si desea más información, consulte este artículo del blog.

Mejora del rendimiento del IDE para Kotlin

Nuestra reciente labor de optimización de los índices ha ejercido un impacto positivo en la velocidad y el rendimiento del IDE para el resaltado de código, la finalización y Find Usages.

Scala

Mejor compatibilidad con Scala 3

Mejor compatibilidad con Scala 3

A partir de la versión 2022.2, IntelliJ IDEA puede leer los tipos match de los archivos .tasty, analizarlos adecuadamente, resolver las variables de tipo, utilizarlos como argumentos de tipo, admitir inspecciones y mostrar los tipos como texto. On top of that, we’ve added support for Option-less extractors , type lambdas and polymorphic function types , type-level compiler intrinsics , and ? as a wildcard together with _ in Scala 2.13.9 and 2.12.16. El código copiado ahora también está correctamente sangrado.

Nuevas inspecciones de Scala

Nuevas inspecciones de Scala

IntelliJ IDEA 2022.2 ahora le advierte cuando se utiliza la palabra clave return dentro de una función anónima para saltar fuera de la función sin ejecutar todo el código dentro de ella. Este no suele ser un uso previsto, y puede dar lugar a una implementación con fugas y costes de rendimiento ocultos. Hay una nueva advertencia que se activa cuando un parámetro private o class hace sombra a una variable de la superclase. Además, se muestra un error cuando se intenta anular una variable de una manera que está prohibida por el compilador. Estas nuevas advertencias pueden configurarse para que se muestren si están presentes sus respectivas opciones del compilador (-Xlint:nonlocal-return y -Xlint:private-shadow).

Dividir una lista de elementos separados por comas en líneas separadas

Dividir una lista de elementos separados por comas en líneas separadas

Si tiene una línea de código excesivamente larga porque contiene una lista de argumentos o elementos de una colección, ahora puede utilizar la acción Put arguments on separate lines del menú emergente para dividir rápidamente la lista en varias líneas. Lo contrario también es posible: si cree que una lista de varias líneas es lo suficientemente corta, puede utilizar la acción Put arguments on separate lines para convertirlos en una sola línea.

Resaltado basado en el compilador para Scala

Resaltado basado en el compilador para Scala

El resaltado basado en el compilador se ha ajustado para un mejor uso de los recursos. El IDE ahora respeta la configuración de resaltado de archivos definida por el usuario. La compilación se activa ahora en menos casos y utiliza menos subprocesos en segundo plano. El ámbito de compilación se ha reducido al ámbito del módulo y del código fuente correspondientes.

Safe Delete está ahora disponible para los parámetros de tipo

Safe Delete está ahora disponible para los parámetros de tipo

La acción Safe Delete elimina un elemento de la definición y todas sus llamadas. Esta acción ahora también funciona para los parámetros de tipo.

Groovy

Compatibilidad con GINQ

Compatibilidad con GINQ

We’ve added support for Groovy-Integrated Queries (GINQ). El IDE proporciona ahora resaltado de sintaxis, finalización de código e inspecciones para esta funcionalidad de Groovy 4.

Seguridad

Importar certificados SSL de confianza

IntelliJ IDEA 2022.2 ahora puede ayudarle a importar certificados SSL de confianza desde los almacenes de confianza del sistema. Utilizará automáticamente los certificados personalizados específicos de su entorno empresarial. No se requiere ninguna acción adicional por su parte, ya que todo debería funcionar directamente tras la instalación.

Perfilador

Gráficos de CPU y Heap Memory disponibles durante la generación de perfiles

Gráficos de CPU y de Heap Memory disponibles durante la generación de perfiles
Ultimate

Hemos actualizado el IntelliJ Profiler, facilitando la recogida de instantáneas. Ahora, cuando se inicia la generación de perfiles, las gráficas en directo de CPU y Heap Memory aparecen al lado de la consola. Como resultado, puede ver el rendimiento de su aplicación y, al mismo tiempo, recopilar muchas instantáneas de la misma aplicación dentro del periodo de perfilado deseado.

Compatibilidad con las funciones inline de Kotlin

Compatibilidad con las funciones inline de Kotlin
Ultimate

Las funciones inline de Kotlin se muestran ahora junto con otras en el Flame Graph, el Call Tree y la Method List, lo que le permite ver su tiempo de CPU y optimizarlo, si es necesario. Esta funcionalidad es compatible actualmente con Linux y macOS, y solo está disponible para la opción Start profiling. Estamos trabajando para hacerla compatible con Windows, y pronto también la añadiremos al modo Attach.

Marcos de trabajo y tecnologías

Compatibilidad con los nuevos clientes HTTP declarativos de Spring 6
Ultimate

Spring Framework 6 permite definir un cliente HTTP como una interfaz Java con métodos anotados. IntelliJ IDEA 2022.2 proporciona la finalización de URL, la navegación y la integración con el cliente HTTP para tales interfaces.

Finalización de URL y navegación para las rutas de Spring Cloud Gateway
Ultimate

IntelliJ IDEA Ultimate ahora proporciona finalización de URL, la funcionalidad Search Everywhere y las sugerencias de Find Usages para las URL de Spring Cloud Gateway. Puede generar fácilmente una solicitud HTTP o encontrar todas las rutas de la pasarela utilizando la ventana de herramientas Endpoints.

Mejoras en la visión del código para los marcos de trabajo de simulación y prueba de microservicios JVM
Ultimate

IntelliJ IDEA 2022.2 resalta automáticamente los cuerpos JSON/XML en pruebas con API Java populares como Spring WebTestClient, RestAssured, WireMock y MockServer. Como resultado, estos fragmentos de datos presentan una mejor legibilidad y son más fáciles de editar. También puede utilizar la finalización de URL y la navegación lasta la declaración en estos lugares en sus pruebas.

Depurador nativo experimental de GraalVM para Java
Ultimate

IntelliJ IDEA 2022.2 ahora puede ayudarle a depurar los binarios de imágenes nativas de GraalVM. Puede adjuntar el depurador a cualquier ejecutable basado en GraalVM o iniciar su aplicación con el depurador conectado. La configuración de ejecución correspondiente se creará automáticamente para los proyectos Maven/Gradle. Esta integración es experimental, y requiere que se instale la versión de desarrollo de GraalVM y este complemento.

Mejora de la navegación entre las fuentes Protobuf y Java

Mejora de la navegación entre las fuentes Protobuf y Java
Ultimate

Ahora puede navegar fácilmente al código generado desde los archivos .proto y viceversa. Asegúrese de que los complementos gRPC y Protocol Buffers están activados.

Mejoras en la información sobre el código para Spring Shell

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

IntelliJ IDEA 2022.2 ahora reconoce los comandos CLI declarados con la biblioteca Spring Shell y comprueba su corrección.

Mejora de la compatibilidad con los puntos de conexión de JAX-RS
Ultimate

IntelliJ IDEA ahora admite correctamente los patrones URL de servicios web comunes de JAX-RS declarados como @ApplicationPath y subrrecursos en la finalización de URL, la navegación y Find Usages.

Compatibilidad con los puntos de conexión de WebSocket en el cliente HTTP
Ultimate

IntelliJ IDEA Ultimate 2022.2 admite conexiones WebSocket, para que pueda crear solicitudes y enviar y recibir mensajes.

Compatibilidad con los puntos de conexión de GraphQL en el cliente HTTP

Compatibilidad con los puntos de conexión de GraphQL en el cliente HTTP
Ultimate

IntelliJ IDEA Ultimate ahora puede enviar consultas GraphQL a través de los protocolos HTTP y WebSocket desde el momento de su instalación. Para http:// y https:// se usan solicitudes HTTP simples, mientras que ws:// y wss:// se delegan al ejecutor WebSocket.

Mejoras en la interfaz de usuario y en la experiencia de usuario del cliente HTTP
Ultimate

Hemos implementado un par de mejoras en la UI/UX en el cliente HTTP. En primer lugar, hemos introducido una forma cómoda de seleccionar un entorno de ejecución mediante un icono en el medianil. Para activarlo, elija la opción Select Environment Before Run en el cuadro combinado Run with. En segundo lugar, hemos mejorado la vista Response añadiendo una barra de progreso, que permite seguir el proceso de descarga.

URL clicables en JSON, YAML y valores de cadena .properties

URL clicables en JSON, YAML y valores de cadena .properties
Ultimate

Los archivos JSON, YAML y .properties ahora cuentan con referencias web insertadas automáticamente dentro de valores que comienzan por http:// y https://. Puede abrir fácilmente estos enlaces en un navegador web con un solo clic, o puede generar una solicitud en el cliente HTTP desde el menú Context Actions(Alt+Intro).

Mejora de la compatibilidad con las anotaciones de Bean Validation

Mejora de la compatibilidad con las anotaciones de Bean Validation
Ultimate

IntelliJ IDEA 2022.2 ahora proporciona referencias y admite el plegado de los atributos de los mensajes en las anotaciones de Bean Validation en Java y Kotlin. Puede utilizar la finalización para las claves de los mensajes o navegar a sus declaraciones en los archivos i18n ValidationMessages.properties.

Complemento de AWS CloudFormation renovado

Complemento de AWS CloudFormation renovado
Ultimate

Hemos reelaborado el complemento de AWS CloudFormation actualizando los esquemas de metadatos y mejorando la finalización de las propiedades. Puede instalar la versión actualizada del complemento desde JetBrains Marketplace.

Compatibilidad con Jakarta Persistence 3.1
Ultimate

IntelliJ IDEA now supports all of the features in Jakarta Persistence 3.1, including the new JPQL syntax, functions, and types, and it provides language highlighting and code completion for them.

Docker

Finalización de imágenes Docker en pruebas con Testcontainers

Finalización de imágenes Docker en pruebas con Testcontainers

IntelliJ IDEA 2022.2 introduces image completion for the Testcontainers API where you can find all available Docker images and their versions. Haga clic en la referencia para abrir la URL correspondiente de Docker Hub en su navegador web.

Subir la imagen Docker local a Minikube y otras conexiones

Subir la imagen Docker local a Minikube y otras conexiones

Ahora puede copiar imágenes fácilmente de un daemon Docker a otro utilizando la nueva acción Copy Docker Image, que guarda la imagen en un archivo y luego la envía a la conexión elegida.

Conexión automática de Docker al reiniciar el IDE

Conexión automática de Docker al reiniciar el IDE

IntelliJ IDEA 2022.2 ahora se conecta automáticamente a Docker cuando se reinicia el IDE. Esta nueva configuración está habilitada de forma predeterminada y se puede cambiar desde Settings / Preferences | Advanced Settings | Docker.

Opciones de conexión de Docker para diferentes dæmons de Docker

A partir de la versión 2022.2, IntelliJ IDEA se integra con Colima y Rancher para admitir más opciones para establecer conexiones con un daemon Docker.

Kubernetes

Integración de Kubernetes y Telepresence

Integración de Kubernetes y Telepresence
Ultimate

The Kubernetes plugin for IntelliJ IDEA 2022.2 provides integration with the Telepresence tool in order to intercept HTTP requests from services in the Kubernetes cluster and route them to your service running locally. Esto le permite depurar esos servicios más fácilmente y ejecutar localmente solo el subconjunto de servicios necesarios.

Herramientas de control de calidad

Mejora de la estructura de las páginas web en Page Object Editor

Mejora de la estructura de las páginas web en Page Object Editor

La interfaz de usuario de estructura de páginas web se ha mejorado considerablemente. Ahora puede leer cómodamente las partes más importantes, como el nombre de la etiqueta, el ID y las clases CSS aplicadas, gracias al resaltado del formato de texto.

Fácil navegación a través de los iconos del medianil

Fácil navegación a través de los iconos del medianil

Ahora puede volver fácilmente a un elemento de la página simplemente haciendo clic en su icono en el medianil.

Nomenclatura de objeto de página a partir de la URL

Nomenclatura de objeto de página a partir de la URL

Al crear un nuevo archivo objeto de página, el asistente ofrece ahora un campo opcional de URL. Si se incluye la dirección web, el asistente sugiere un nombre de archivo de objeto de página basado en la dirección del enlace. Además, la URL insertada se carga automáticamente cuando se abre Page Object Editor.

Desplazamiento automático del signo de intercalación a los extremos de los bloques de código

Desplazamiento automático del signo de intercalación a los extremos de los bloques de código

Al añadir nuevos elementos de la página a su código, el signo de intercalación se desplaza ahora automáticamente al final del bloque de código añadido, para que pueda navegar fácilmente por él y seguir editando.

Crear un nuevo objeto de página desde el menú contextual

Crear un nuevo objeto de página desde el menú contextual

Siempre que escriba una nueva clase de objeto de página no referenciada cuando trabaje en una ya existente, puede arreglar la advertencia de código no resuelto simplemente navegando al menú contextual de la advertencia y creando un nuevo objeto de página.

Herramientas para bases de datos

Opción de importar varios archivos CSV

Opción de importar varios archivos CSV
Ultimate

Para la versión 2022.2, hemos mejorado el proceso de importación de archivos implementando la posibilidad de seleccionar varios archivos CSV e importarlos a la vez

Nueva interfaz de usuario para el cuadro de diálogo Modify

Nueva IU para el cuadro de diálogo Modify
Ultimate

La nueva interfaz de usuario para el cuadro de diálogo Modify se ha convertido en la opción predeterminada. A partir de la versión 2022.2, todos los objetos secundarios de una tabla se pueden añadir y editar mediante esta nueva interfaz. La antigua interfaz de usuario seguirá estando disponible a través del menú contextual.

Más información

Modos de resolución Playground y Script

Modos de resolución Playground y Script
Ultimate

Para que la resolución de objetos de la base de datos en los scripts SQL sea más precisa, hemos implementado dos modos de resolución: Playground y Script. El primero es la mejor opción si su archivo es solo un conjunto de consultas inconexas, independientes entre sí y sin una secuencia determinada. El segundo es mejor para cuando sus consultas tienen una lógica secuencial y deben ejecutarse como un solo script.

Más información

Desarrollo web

Compatibilidad con componentes independientes de Angular

Compatibilidad con componentes independientes de Angular
Ultimate

Hemos estado trabajando activamente en la compatibilidad con Angular 14 en IntelliJ IDEA 2022.2. La incorporación más importante en esta versión es la compatibilidad con los componentes independientes de Angular. IntelliJ IDEA ahora reconoce correctamente los componentes, las directivas y procesos marcados como standalone: true.

Mejora de la compatibilidad con Vue 3

Mejora de la compatibilidad con Vue 3
Ultimate

IntelliJ IDEA 2022.2 incluye mejor compatibilidad con Vue 3. Por ejemplo, ahora entiende el estrechamiento del tipo en las directivas v-if/else. También se ha mejorado la compatibilidad con Pinia, la solución de gestión de estados recomendada por los equipos de Vue que funciona como almacén global. Tanto la finalización como la resolución ahora funcionan en Vue con la biblioteca Pinia, y puede navegar a las propiedades de estado y acciones definidas en el almacén.

Compatibilidad con TypeScript 4.7

Compatibilidad con TypeScript 4.7
Ultimate

IntelliJ IDEA 2022.2 incluye TypeScript 4.7, que admite nuevas características del lenguaje como moduleSuffixes y ESM en Node.js. Insertará automáticamente la extensión .js en la declaración de importación si module está configurado como node16 o nodenext en su archivo tsconfig.json. Además, el IDE admite el campo typesVersions en los archivos package.json.

Otros

  • El complemento de Android incluido en IntelliJ IDEA ahora ofrece funcionalidades de Android Studio Chipmunk, entre ellas la compatibilidad con el Android Gradle Plugin (AGP) 7.2.x.