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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Con la nueva funcionalidad Copy code snippet en bloques Markdown, puede copiar sin esfuerzo el contenido al portapapeles con un solo clic.
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.
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.
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.
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.
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.
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.
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.
Hemos añadido compatibilidad con las nuevas características introducidas en JUnit 5.7, incluyendo compatibilidad con anotaciones @EnabledIf/DisabledIf
, @NullSource/EmptySource
y @TempDir
.
La plantilla actualizada de Surround with try/catch ahora vuelve a lanzar una excepción ajustada en una RuntimeException en lugar de tragársela.
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.
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.
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.
To ensure better Kotlin code coverage, the Kover plugin has been integrated with IntelliJ IDEA.
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
.
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í.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Los recursos cargados desde el clúster pueden modificarse ahora desde la pestaña del editor.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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()
.
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.
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.
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.
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.
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.
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.
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
.
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.
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.
Al revisar los cambios de código en el IDE, ahora puede elegir cuándo publicar un comentario de revisión de código.
For more details, check out this blog post.
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.