Novedades de IntelliJ IDEA 2020.2

IntelliJ IDEA 2020.2 le permite revisar y combinar solicitudes de extracción de GitHub desde el IDE, desplazarse rápidamente entre advertencias y errores en un archivo con el widget Inspections, ver la lista completa de problemas en el archivo actual con la ventana de herramientas Problems y recibir una notificación si sus cambios podrían romper otros archivos. Puede utilizar Jakarta EE y obtener una mayor compatibilidad con Quarkus, Micronaut y OpenAPI.

Java

Compatibilidad con Java 15

Compatibilidad con Java 15

Aunque la publicación de Java 15 tendrá lugar en septiembre, IntelliJ IDEA 2020.2 ya está preparado para ella. La compatibilidad con la funcionalidad Records se ha actualizado y ahora está en su segunda vista preliminar. También hemos añadido la compatibilidad básica con las clases selladas. Y, por supuesto, IntelliJ IDEA es totalmente compatible con los bloques de texto.

Asistente Jakarta EE

Consejo de inserción de problemas asociados

Si crea errores al cambiar la firma de una clase, método o campo que tenga utilizaciones externas, el IDE le informará con un consejo de inserción. Haga clic en el consejo de inserción de problemas asociados, y el IDE abrirá la ventana de herramientas Find con una lista de todos los problemas relacionados presentes en archivos externos.

Compatibilidad con Scala 3

Posibilidad de crear varias inspecciones estructurales de búsqueda y reemplazo

El IDE le permite buscar y, si es necesario, reemplazar bloques de código que coincidan con un patrón específico utilizando Structural Search and Replace. Con IntelliJ IDEA 2020.2, puede crear varias plantillas de búsqueda estructural como inspecciones. Por cada inspección SSR, puede especificar el nivel de gravedad, añadir descripciones y habilitarlas o deshabilitarlas por separado.

Compatibilidad con Scala 3

Identificar las causas de las excepciones en tiempo de ejecución

Hemos complementado el análisis de la traza de pila de excepciones con el análisis del flujo de datos. Cuando hace clic en la traza de pila, el IDE le lleva al lugar exacto en su código en el que aparece una excepción y le ofrece una sugerencia que le puede ayudar a descubrir el motivo por el que ha ocurrido.

Compatibilidad con Scala 3

Mejor autocompletado para los métodos de la API Stream

IntelliJ IDEA 2020.2 funciona incluso mejor con la API Stream. En lugar de tener que escribir 'stream()' y, después, escribir la operación correcta en la transmisión, puede empezar a escribir el nombre del método de transmisión dentro de la propia colección, e IntelliJ IDEA insertará 'stream()' de forma automática. Esto funciona con cualquier operación de transmisión.

Compatibilidad con Scala 3

Ámbitos para Introduce Variable

Con IntelliJ IDEA 2020.2, la refactorización Introduce Variable puede reemplazar selectivamente las ocurrencias de una variable en un ámbito intermedio. Ahora puede elegir varias opciones de reemplazo, en lugar de estar limitado a elegir solo una o todas las ocurrencias. El editor resalta qué llamada se reemplazará con una variable nueva cuando pasa el ratón sobre cada una de las opciones.

Limpieza de plantillas activas Java

Limpieza de plantillas activas Java

Ya no necesita buscar plantillas relacionadas con Java porque el nuevo nodo Java incluye todos los grupos plain, surround, other, output e iterations. No se perderá al buscar una plantilla activa que se adapte a sus necesidades. También está disponible un nodo Groovy separado.

Editor

Visualización Problems

Ventana de herramienta Problems

Hemos añadido la ventana de herramientas Problems, en la que se muestran las advertencias y los errores relacionados con el archivo actual, junto con las descripciones de los problemas. Desde esta ventana de herramientas, puede hacer clic con el botón derecho en un problema para desplazarse a la línea de código donde se ha encontrado un error, y solucionarlos uno por uno pulsando Alt+Intro.

Widget Inspections del editor

Widget Inspections

El widget Inspections simplifica la búsqueda de advertencias, errores y otros problemas, y le permite navegar fácilmente entre ellas pulsando F2 o haciendo clic en los iconos de las flechas. En el widget Inspections, puede seleccionar qué problemas quiere resaltar: ningun, solo los errores o todos los problemas.

Vista previa de intenciones

Vista previa de intenciones

Para experimentar con los posibles resultados de la aplicación de acciones de intención, puede previsualizar los resultados antes de aplicarlos realmente en su código. Pulse Alt+Intro para invocar Show Context Actions y seleccione la acción de intención que necesita; a continuación, pulse Alt+Espacio en macOS o Ctrl+Mayús+I en Windows o Linux para mostrar la vista previa de los resultados.

Corrector ortográfico mejorado

Se ha mejorado el corrector ortográfico integrado: funciona mucho más rápido, filtra las sugerencias irrelevantes y ordena las sugerencias en función del contexto. Además, el IDE detecta el lenguaje de los dos primeros párrafos de un archivo y sugiere activar el modelo de lenguaje correspondiente.

Control de versiones

Compatibilidad completa con las solicitudes de extracción de GitHub

Los detalles de las solicitudes de extracción abiertas ahora están disponibles a un solo clic en una ventana de herramientas vertical independiente. La ventana principal del editor muestra la conversación y puede añadir comentarios directamente. Los resultados de control previos a la confirmación se muestran en la parte inferior de la ventana. Si está autorizado a gestionar las solicitud de extracción, ahora puede navegar, asignar, gestionar y combinarlas, ver y enviar comentarios, y aceptar los cambios directamente desde el IDE.

Consulte más detalles en nuestro blog

Cuadros de diálogo de acciones Git mejorados

Para esta versión, hemos revisado la coherencia visual de los cuadros de diálogo Merge, Pull y Rebase. También hemos mejorado el cuadro de diálogo para que identifique claramente los comandos Git que se ejecutarán, y hemos incluido algunas opciones que faltaban. También hemos añadido --rebase y --no-verify a los cuadros de diálogo Pull y Merge, respectivamente.

Mejora en la visualización de resultados de la acción Compare branches

Mejora en la visualización de resultados de la acción Compare Branches

Cuando compara dos ramas en IntelliJ IDEA 2020.2, el IDE muestra sus confirmaciones en una vista abriendo sus registros en el editor. En contraste con la ventana de herramientas VCS, esta vista tiene espacio suficiente para mostrar un informe completo con las confirmaciones de cada rama y los archivos afectados.

Haga squash desde el registro para las confirmaciones locales

Haga squash y drop desde el registro para las confirmaciones locales

Ahora puede seleccionar varias confirmaciones desde una rama local y hacer squash. En la ventana de herramientas Git, abra la pestaña Log, seleccione las confirmaciones locales y elija Squash Commits. Si decide modificar el mensaje de confirmación, todos los cambios de esas confirmaciones se agruparán en una sola confirmación con el mensaje actualizado. Además, ahora puede descartar las confirmaciones desde el registro de Git.

Compatibilidad con Git instalado en WSL2

IntelliJ IDEA 2020.2 le permite utilizar Git instalado en WSL2 cuando trabaja con proyectos de sistemas de archivos Linux o Windows. Una vez que abre un proyecto en WSL, el IDE cambia de forma automática a Git y le permite utilizar todas las funcionalidades relacionadas.

Marcos de trabajo y tecnologías

Compatibilidad con Jakarta EE 9 Ultimate

Estamos listos para la publicación de Jakarta EE 9 en septiembre, y ya admitimos todas las funcionalidades que están disponibles para Jakarta EE, incluidas las especificaciones CDI, JPA, Batch, Bean Validation, JSF, JAX-RS, WebSocket, Servlets, JSP, JSON-P, JSON-B, Security, EJB y JTA.

Asistente Jakarta EE

Asistente de proyecto de Java Enterprise Ultimate

Si necesita crear un proyecto de Java EE 8 o Jakarta EE 9, ahora puede hacerlo con nuestro asistente New Project. Un nuevo proyecto de Jakarta EE le espera a solo un par de pasos. Configúrelo seleccionando la versión Java, la herramienta de build, las extensiones y otras opciones.

Compatibilidad con los archivos Quarkus Config: .properties y YAML Ultimate

Para facilitarle el uso de los archivos de configuración Quarkus, el IDE ahora le proporciona el resaltado y la finalización de código, y señala con gris el código no utilizado en los archivos de configuración .properties y YAML. Además, puede saltar directamente desde los archivos de configuración a los beans configurados y viceversa.

Mejor compatibilidad con Quarkus CDI Ultimate

Con la versión actual del IDE, puede usar la navegación del medianil para los beans inyectados y las inspecciones actualizadas que funcionan perfectamente con la sintaxis simplificada de Quarkus. Además, IntelliJ IDEA 2020.2 es compatible con las anotaciones @DefaultBean y @AlternativePriority, y la inyección solo por calificador (no es necesario utilizar @Inject).

Compatibilidad con la interfaz de usuario Swagger

Compatibilidad con la interfaz de usuario Swagger Ultimate

Con la nueva integración de la interfaz de usuario Swagger, ahora puede obtener una vista previa de su OpenAPI en un panel integrado en el editor de IntelliJ IDEA. Se trata de una novedad excelente para simplificar las pruebas.

Asistente Jakarta EE

Diff Swagger Ultimate

El IDE se ha mejorado para que pueda calcular un diff estructural entre las especificaciones de OpenAPI. Al conocer las especificaciones de Swagger/OpenAPI, IntelliJ IDEA 2020.2 compara los archivos JSON o YAML en función de su estructura, y usted puede previsualizar el diff detectado. Para ello, seleccione Compare Open API Specifications en el menú contextual o invoque esta acción desde el cuadro de diálogo Search Everywhere.

Asistente Jakarta EE

Generación de proyectos para Micronaut Ultimate

Esta es otra actualización útil para el asistente New Project y el marco de trabajo Micronaut. Hemos añadido la posibilidad de crear nuevos proyectos Micronaut directamente desde el asistente. Configure el proyecto paso a paso y empiece a trabajar con él en muy poco tiempo.

Compatibilidad con Message Queue para Micronaut y la API de Amazon SQS Ultimate

Si su aplicación Micronaut utiliza comunicación asíncrona a través de RabbitMQ o Kafka, esta actualización es para usted. Desplácese por las colas de los mensajes y los temas utilizando los iconos del medianil, buscar usos y finalización de nombres. Puede aprovechar el mismo conjunto de funcionalidades para la API de Amazon SQS.

Generación de solicitudes HTTP para cliente REST JAX-RS y MicroProfile

Generación de solicitudes HTTP para cliente REST JAX-RS y MicroProfile Ultimate

Para facilitar la creación y la realización de pruebas de las solicitudes HTTP, IntelliJ IDEA generará automáticamente solicitudes HTTP JAX-RS y MicroProfile, y después las abrirá en el cliente REST integrado. Incluso puede utilizar acciones de intención para generar solicitudes HTTP sobre cualquier URL si su proyecto utiliza uno de los marcos de trabajo empresariales: Spring, JAX-RS, Retrofit, OkHttp o Micronaut.

Finalización de código URL para las pruebas REST Assured

Finalización de código URL para las pruebas REST Assured Ultimate

Hemos actualizado las pruebas REST Assured con finalización de código para las referencias de ruta de URL y la navegación a los recursos relacionados.

El complemento Selenium añade la integración con Selenoid Ultimate

El complemento Selenium ahora se integra con Selenoid y proporciona un modo sencillo de ejecutar un nuevo entorno directamente desde el archivo browsers.json. Todas las imágenes del navegador se extraerán de forma automática cuando se inicie el contenedor Selenoid.

Perfilador

Visor de memoria HPROF

Visor de memoria HPROF Ultimate

La mecánica mejorada del visor le ayuda a analizar el montón y le señala las partes del código que utilizan una gran cantidad de memoria, además de detectar los motivos de las fugas de memoria. El visor de memoria HPROF muestra los tamaños retenidos calculados de los objetos, las rutas más cortas a las raíces del recolector de basura, el árbol dominador para los objetos (objetos retenidos) y las referencias entrantes.

Experiencia de usuario

Indexación más rápida con los índices compartidos prediseñados

Ahora puede acelerar la indexación descargando los índices generados en otra máquina en lugar de construirlos de manera local. Utilice los índices compartidos prediseñados para JDK, o genere y distribuya índices compartidos personalizados a un build objetivo del IDE. Simplemente instale el complemento Shared Indexes. Más información.

Resaltado y finalización durante la indexación

Nuevas posibilidades durante la indexación

Mientras IntelliJ IDEA 2020.2 está indexando su proyecto, puede seguir escribiendo código. Ahora el IDE le ofrece sugerencias de finalización de código para Java y PHP durante la indexación.

Terminal

Posibilidad de ejecutar funcionalidades del IDE desde el terminal

Posibilidad de ejecutar funcionalidades del IDE desde el terminal

Ahora es posible invocar funcionalidades del IDE directamente desde el terminal. Con IntelliJ IDEA 2020.2, puede ejecutar los comandos resaltados en su GUI correspondiente utilizando el acceso directo Ctrl+Intro/Cmd+Intro. Si quiere ejecutar los comandos resaltados en el modo de depuración, utilice Ctrl+Mayús+Intro/Cmd+Mayús+Intro.

Puede obtener más información acerca de esta funcionalidad en nuestra publicación del blog.

Herramientas de compilación

Compatibilidad con Maven Wrapper

IntelliJ IDEA 2020.2 ahora es compatible con Maven Wrapper, que instala de forma automática la versión necesaria de Maven en su proyecto. Si Maven Wrapper está presente y configurado, el IDE lo utiliza automáticamente e importa los cambios cuando sea necesario.

Gestión de versiones Maven por proyecto

Ahora puede configurar una versión de Maven para cada proyecto en lugar de utilizar el enfoque anterior, en el que se utilizaba la misma versión de Maven para todos los proyectos abiertos.

Presentación de la salida de la herramienta de build

Para proporcionar una experiencia de usuario más coherente, ahora mostramos la salida de build del creador nativo de IntelliJ IDEA en la ventana de herramientas Build en lugar de en la ventana de herramientas Messages.

Mejor información del código en los archivos build.gradle

IntelliJ IDEA 2020.2 proporciona la finalización de nombres de proyecto y la navegación para los nombres de proyecto en los archivos build.gradle.

Javascript y Typescript

Nuevas intenciones e inspecciones inteligentes

Nuevas acciones de intención para una mayor productividad Ultimate

Por ejemplo, ahora puede convertir rápidamente un bucle for con un índice numérico en un método de vector forEach. La lectura de comentarios de documentación en archivos JavaScript y TypeScript también se ha vuelto más sencilla, ya que ahora puede mostrarlos directamente en el editor para minimizar las distracciones.

Compatibilidad con la API de Composition y Vuex

Prettier como formateador predeterminado Ultimate

A partir de esta versión, ahora es más sencillo configurar Prettier como el formateador predeterminado para limpiar su código. Solo tiene que habilitar la casilla de verificación On code reformat y el IDE utilizará Prettier cada vez que reformatee archivos .js, .ts, .jsx y .tsx. De ser necesario, también puede añadir otros tipos de archivo.

Limpieza de plantillas activas Java

Compatibilidad con Nuxt.js Ultimate

Hemos añadido la compatibilidad con Nuxt.js y ajustes de estilo de código específicos de Vue; buenas noticias si trabaja con el marco de trabajo Vue.js.

Base de datos

Editor separado para valores de celdas

Editor separado para los valores de celda Ultimate

Esta versión introduce algunas herramientas útiles para los casos en los que tiene un valor largo en una celda. A partir de esta versión, puede ver y editar los valores largos en un panel separado. El panel del editor tiene un modo de salto de línea suave (soft wrap) que se activa en la barra de herramientas de la derecha.

Nueva interfaz de usuario para valores booleanos

Nueva interfaz de usuario para valores booleanos Ultimate

Ahora es más sencillo observar y editar valores booleanos, que se muestran como valores brutos en lugar de como casilla de verificación. Puede escribir f, t, d, n, g o c para introducir los siguientes valores respectivamente: false, true, default, null, generated y computed. Si escribe cualquier otra cosa, verá una lista desplegable con los posibles valores.

Vista previa DML en el editor de datos

Vista previa DML en el editor de datos Ultimate

Ahora puede previsualizar una consulta con sus cambios en el editor de datos. Para ello, haga clic en el botón DML que se vuelve activo si hay cambios pendientes.

Compatibilidad con Scala 3

Dialecto Google BigQuery Ultimate

Hemos añadido compatibilidad parcial con Google BigQuery. El IDE resalta correctamente las consultas y ofrece asistencia a su codificación.

Scala

Importación automática de implícitos

Importación automática de implícitos

Aunque puede usar View | Show Implicit Hints para mostrar los implícitos (incluso los ausentes), importar un implícito nunca fue una tarea sencilla.

La nueva acción de importación automática para implícitos funciona exactamente como la de las referencias sin resolver. La ventana emergente automática hace que la funcionalidad sea más fácil de encontrar, pero también se puede deshabilitar e invocar el arreglo rápido Import… con Alt+Intro (más información).

Importación automática de implícitos

Gestión de llaves basada en las sangrías

Añadir y quitar llaves es una parte integral del día a día de los programadores de Scala. Para facilitar esta tarea, primero añadimos una intención para plegar y desplegar las expresiones, pero había que invocarla manualmente. Después añadimos la compatibilidad para añadir y quitar las llaves complementarias de forma automática.

Ahora lo hemos mejorado aún más: ambas llaves se añaden y quitan de forma automática y sobre la marcha en función de las sangrías del código. De este modo, puede probar a utilizar una indentación considerable al tiempo que mantiene las llaves, incluso en Scala 2. Para aprovechar esta funcionalidad, simplemente olvídese de las llaves y deje que el IDE se encargue.

Complementarios de primera clase

En Scala, una clase o característica complementaria y el objeto complementario tienen una relación especial. Llevamos tiempo reflejando esto en la vista de proyecto, pero en otros casos tratamos los complementarios como cualquier otra clase u objeto.

Ahora mostramos los iconos del medianil navegables para los complementarios (configurable en Settings | General | Editor | Gutter Icons). También puede dirigirse a un complementario utilizando Go To en una palabra clave class, trait u object. Ahora los miembros de objetos complementarios se pueden autocompletar o autoimportar fácilmente.

Generación de Scaladoc en el editor

Generación de Scaladoc en el editor

El código de marcado de Scaladoc es fácil de editar, pero no es tan sencillo de ver: tiene que interactuar con etiquetas, macros y columnas *. Ahora podemos mostrar Scaladoc directamente en el editor para ofrecer un aspecto nítido y conciso (puede activarlo o desactivarlo en Editor | General | Appearance).

También hemos mejorado la representación de Scaladoc en la ventana emergente Quick Documentation; ahora puede gestionar correctamente párrafos, listas y macros.

Mejoras de finalización de código

Además de mejorar la precisión y rapidez de la finalización de código, hemos introducido dos nuevas capacidades distintivas. En primer lugar, ahora puede autocompletar tanto el nombre del método como sus argumentos en un solo paso, siempre que los valores adecuados estén presentes en el ámbito actual.

En segundo lugar, ahora puede aplicar una función «estática» a un argumento utilizando la notación de puntos, que se puede utilizar junto con los tipos de datos algebraicos. Esta funcionalidad es parte de Hoogle Completion, nuestro intento de reimaginar Hoogle en un lenguaje que no use el sistema de tipo Hindley-Milner (trabajo en curso).

Docker

Conectarse a Docker con seguridad

Conectarse a Docker con seguridad

IntelliJ IDEA 2020.2 le permite conectarse a Docker con seguridad en Windows, ya que hemos añadido la compatibilidad con las conexiones TLS al Docker daemon desde IntelliJ IDEA.

Kubernetes

Varios archivos de configuración

Varios archivos de configuración Ultimate

Ahora puede especificar un archivo kubeconfig personalizado en Preferences / Settings | Build, Execution, Deployment | Kubernetes. También puede hacer clic en el botón Show Settings… en la vista Services al seleccionar un elemento raíz Kubernetes. También puede especificar un archivo kubeconfig personalizado de manera global o para un proyecto actual. En otras palabras, puede tener un archivo kubeconfig separado para cada uno de sus proyectos.

Compatibilidad con ConfigMap y Secret

Compatibilidad con ConfigMap y Secret Ultimate

Hemos añadido la finalización para ConfigMaps/Secrets desde el proyecto actual y desde el grupo. Los elementos del grupo se marcan en azul en la lista de finalización. Ahora puede desplazarse desde una utilización de ConfigMap/Secret hasta el recurso ConfigMap/Secret correspondiente en el proyecto o grupo. Lo mismo ocurre con las llaves ConfigMap/Secret.

Otros

  • IntelliJ IDEA 2020.2 incluye todos los cambios de Android Studio 4.0. Obtenga más información ahora.
  • IntelliJ IDEA puede detectar si está utilizando un lector de pantalla y, de ser así, activará de forma automática las funcionalidades de accesibilidad del IDE.
  • IntelliJ IDEA 2020.2 le permite utilizar caracteres emoji Unicode en Linux. Prepárese para el despegue. 🚀
  • Para evitar los problemas de rendimiento y procesamiento, ahora ofrecemos una nueva integración con JCEF para ejecutar los complementos de IntelliJ Platform.