Novedades de IntelliJ IDEA 2020.1

IntelliJ IDEA 2020.1 añade la compatibilidad con Java 14 y nuevas funcionalidades para una serie de marcos de trabajo, mejora el depurador con la asistencia al análisis de flujo de datos, añade un nuevo método LightEdit, descarga y configura el JDK por usted, ¡y hace muchas más cosas!

Java

Compatibilidad con Java 14: Records y concordancia de patrones

IntelliJ IDEA 2020.1 añade la compatibilidad con Java 14 y sus nuevas funcionalidades. El IDE no solo añade la compatibilidad con información del código completa para Records, sino que también le permite crear rápidamente nuevos registros y generar sus constructores y componentes, y le avisa de los errores existentes. También descubrirá la compatibilidad con la concordancia de patrones para el operador instanceof, incluida una nueva inspección y un arreglo rápido que simplifica enseguida las expresiones instanceof-and-cast exageradas y las sustituye por nuevas variables de patrón concisas.

Más información sobre la utilización de Java 14 con IntelliJ IDEA

Descargar el JDK

Descarga del JDK desde el IDE

Ya no necesita buscar el JDK necesario en la Web. A partir de IntelliJ IDEA 2020.1, puede descargar y configurar un build de JDK directamente desde el IDE mientras crea y configura su proyecto. Si abre un proyecto descargado, el IDE comprueba si el JDK configurado para este proyecto ya está instalado en su ordenador. De no ser así, el IDE le avisará para que lo descargue.

Nuevas inspecciones de Java

Nuevas inspecciones de Java

Con cada nueva versión de IntelliJ IDEA, ampliamos sus capacidades de análisis del código estático. Y esta versión no iba a ser menos. Además de una serie de mejoras, también hemos añadido muchas nuevas inspecciones de código. Comprueban el uso de mayúsculas en los patrones SimpleDateFormat, analizan los casos de formato de fecha, buscan llamadas al método redundantes adicionales, e informan y sugieren la eliminación de caracteres de escape innecesarios en los literales de cadena.

Editor

Modo LightEdit

IntelliJ IDEA 2020.1 viene con el tan esperado modo LightEdit. Ahora puede realizar cambios rápidos en archivos independientes en un editor más ligero sin tener que crear o cargar un proyecto completo. Puede abrir archivos en este nuevo editor ligero desde la línea de comandos, la pantalla de bienvenida del IDE o el sistema de administración de archivos de su sistema operativo. También puede cambiar del modo LightEdit al modo de proyecto completo utilizando la intención "Open File in Project" (Alt+Enter).

Obtenga más información sobre LightEdit

Rename local y Change Signature (Cambiar firma)

Rename local y Change Signature (Cambiar firma)

Cuando trabaje en su aplicación Java o Kotlin en IntelliJ IDEA 2020.1, ya no tendrá que utilizar un cuadro de diálogo molesto para cambiar la firma de un método o clase. Ahora solo tiene que editar los parámetros de una clase o método y, a continuación, hacer clic en el nuevo icono del medianil o pulsar Alt+Intro para revisar y aplicar los cambios a la declaración de método/clase y todas sus utilizaciones.

Más información sobre Rename local y Change Signature (Cambiar firma)

Generación de Javadocs en el editor

Leer Javadocs en el editor puede resultar molesto debido a todas las etiquetas que tiene que soportar, especialmente cuando tiene que interactuar con los enlaces e imágenes de referencia. Por eso hemos añadido un modo para generar los Javadocs directamente en el editor. Habilite esta funcionalidad en Help | Find actions | Render documentation comments on file opening.

Más información sobre la generación de Javadocs

Code Vision

Hemos llevado a cabo los primeros pasos para implementar Code Vision, un modo sencillo de centrarse en el código al tiempo que se obtiene información adicional sobre él. En IntelliJ IDEA 2020.1, Code Vision le puede mostrar las utilizaciones e implementaciones de los símbolos de Java. Para habilitar la funcionalidad, vaya a Preferences / Settings | Editor | Inlay Hints | Java, seleccione Code Vision y marque las casillas de verificación Show hints… relacionadas.

Barra de navegación mejorada

Barra de navegación mejorada

IntelliJ IDEA 2020.1 proporciona una opción más para simplificar la navegación en el proyecto. Puede saltar a la línea necesaria en un archivo directamente sin desplazarse porque la barra de navegación ahora le muestra métodos en clases e interfaces de Java. Si no utiliza la barra de navegación, ahora es un buen momento para activarlo en View | Appearance | Navigation Bar.

Modo Zen

Modo Zen

Hemos introducido el nuevo modo Zen para nuestro editor. Le ayuda a eliminar cualquier distracción y centrarse exclusivamente en su código fuente. El modo Zen combina el modo sin distracciones con el modo en pantalla completa, por lo que no tendrá que volver a habilitarlos al mismo tiempo. Simplemente, seleccione View | Appearance | Enter Zen Mode en el menú principal y olvídese del mundo exterior.

Corrector gramatical inteligente

Corrector ortográfico y gramatical inteligente

IntelliJ IDEA 2020.1 incluye el complemento Grazie, que es una herramienta integral de comprobación gramatical, ortográfica y de estilo. Ahora el IDE no solo comprueba las construcciones de su código. También le ayuda a escribir con claridad literales de cadena, comentarios, Javadocs, mensajes de confirmación y mucho más en 16 idiomas naturales. De forma predeterminada, solo comprueba los archivos de texto, pero le animamos a que lo habilite también para los archivos de Java en Settings/Preferences | Editor | Proofread | Grammar.

Definición de tipo rápida

Definición de tipo rápida

Conozca las definiciones de tipo de variables, campos, métodos y otros símbolos sin cambiar el enfoque desde su código. Sitúe el signo de intercalación en el símbolo necesario y seleccione View | Quick Type Definition en el menú principal. IntelliJ IDEA le muestra la información en una ventana emergente desde la que puede abrir el archivo fuente y editar el código.

Depurador

Asistencia al análisis de flujo de datos

Asistencia al análisis de flujo de datos

IntelliJ IDEA 2020.1 añade el análisis de flujo de datos al depurador JVM. Predice la ejecución de código antes de que se ejecute realmente. Cuando su aplicación se detiene en un punto de interrupción, el IDE ejecuta un análisis de flujo de datos basado en el estado actual del programa para comprobar qué va a pasar a continuación. Para utilizar el DFA en el depurador, habilítelo en Settings/Preferences | Build, Execution, Deployment | Debugger | Data Views | Java.

Lea Integración de análisis de flujo de datos Java y el depurador

Fijar en la parte superior

Fijar en la parte superior

Otra mejora es la posibilidad de fijar cualquiera de los campos de un objeto en la parte superior de la lista de campos. Esto resulta útil cuando un objeto tiene tantos campos que resulta difícil localizar el que necesitas investigar.

Perfilador

Céntrese en las llamadas a método

Céntrese en las llamadas a método Ultimate

La compatibilidad con la generación de perfiles de aplicaciones en IntelliJ IDEA sigue evolucionando. En esta versión, hemos añadido varias nuevas funciones: Focus on Subtree, Focus on Call, Exclude Subtree, y Exclude Call. Con estas opciones, puede centrarse más específicamente en una llamada a método elegida y filtrar las que no necesite.

Contraer llamadas recursivas

Contraer llamadas recursivas Ultimate

El perfilador en IntelliJ IDEA ahora detecta las llamadas recursivas cuando se llama al mismo método en un nivel superior de la pila. El IDE le permite omitir la recursividad sacando estas llamadas del subárbol, lo que le permite centrarse en los métodos que más recursos consumen y en las llamadas que hacen. Las llamadas recursivas se marcan con este nuevo icono especial en la pestaña Call Tree de la ventana de herramientas Profiler.

Compatibilidad inicial para las instantáneas HProf Ultimate

IntelliJ IDEA 2020.1 abre archivos de volcado de memoria .hprof que pueden ayudarle a identificar fugas de memoria y a encontrar el modo de optimizar la utilización de la memoria. Por ejemplo, verá información básica, como el tamaño total, el número de instancias y trazas de pila del archivo. Los archivos también enumeran todos los objetos raíz agrupados por clases, todas las clases ordenadas según su número de instancias o tamaño, y todas las instancias de clase con el visor de valores de campos. Para abrir el archivo .hprof, vaya a Help | Find action y escriba “hprof” para encontrar la acción Open Hprof Snapshot. Tenga en cuenta que esta funcionalidad está en las etapas iniciales de desarrollo y se mejorará en las próximas versiones principales.

Control de versiones

 Nueva ventana de herramientas Commit

Nueva ventana de herramientas Commit

En IntelliJ IDEA 2020.1, hemos rediseñado la interfaz para confirmar los cambios en su repositorio de VCS; en lugar de un cuadro de diálogo Commit, ahora puede aprovechar al máximo la ventana de herramientas específica Commit. Proporciona más espacio para la lista de archivos modificados y el diff, y le permite añadir cambios a una confirmación cuando están listos, crear un mensaje de confirmación de iteración, y elegir qué cambios provisionales se envían a qué confirmación. La nueva interfaz de usuario está habilitada de forma predeterminada para los nuevos usuarios; los usuarios existentes pueden habilitarla en Preferences/Settings | Version Control | Commit.

Nuevo cuadro de diálogo Interactively Rebase

El cuadro de diálogo rediseñado Interactively Rebase from Here se ha vuelto realmente interactivo. Ahora hace mucho más que dejarle seleccionar una acción que quiera realizar en cada confirmación en su rama. También cuenta con una gráfica que muestra qué acciones se han aplicado, muestra información de las confirmaciones, y le permite ver un diff y revisar o restablecer los cambios de ser necesario.

Instalar Git desde el IDE

Instalar Git desde el IDE

Con IntelliJ IDEA 2020.1, ya no necesita instalar Git previamente de forma manual. Cuando clona un repositorio de Git existente, el IDE buscará el Git ejecutable en su máquina y se ofrecerá a descargarlo y configurarlo por usted si el IDE no puede localizarlo.

Ventana emergente de Branches

  • La ventana emergente Branches ahora presenta un campo de búsqueda explícito que le permite buscar branches remotas y locales existentes.
  • El botón Refresh se ha modificado, de modo que ahora puede usarlo para actualizar las branches remotas existentes.
  • Se han añadido a la barra de estado los indicadores de confirmación entrante (azul) y saliente (verde).
  • El Log ahora presenta una lista de branches.

Apariencia

JetBrains Mono

JetBrains Mono

Nos preocupa mucho la eficiencia de IntelliJ IDEA, pero también dedicamos gran parte de nuestros esfuerzos a su apariencia. Muchos de nuestros usuarios ya saben que recientemente hemos terminado de desarrollar nuestra propia fuente: JetBrains Mono. Hemos recibido una gran cantidad de comentarios positivos, y por eso JetBrains Mono se ha convertido en la fuente por defecto de IntelliJ IDEA en esta versión.

Tema IntelliJ Light unificado

IntelliJ IDEA 2020.1 cuenta con un nuevo tema claro por defecto que ahora se muestra de manera uniforme en todos los distintos sistemas operativos. ¡Démosle la bienvenida a IntelliJ Light! Siempre puede volver a uno de los temas antiguos desde View | Quick Switch Scheme | Theme, pero le recomendamos que le de una oportunidad a IntelliJ Light.

Marcos de trabajo y tecnologías

Spring WebFlux Ultimate

En nuestro esfuerzo por estar al día en las tendencias de los desarrolladores y ofrecer compatibilidad con las tecnologías más populares, en la versión 2020.1 hemos mejorado la compatibilidad con el marco de trabajo de Spring WebFlux. Hemos añadido asignaciones de solicitud, por lo que si en su aplicación de WebFlux está Actuator habilitado, puede acceder a las asignaciones en la ventana de herramientas Run para supervisar su aplicación e interactuar con ella. Además, el IDE ahora funciona adecuadamente con la API de Rendering, por lo que ahora están disponibles el autocompletado de código y la navegación a las vistas relacionadas. Además de esto, puede aprovechar al máximo las funcionalidades de información del código, como Find Usages (Alt+F7) y la refactorización Rename (Mayús+F6).

Más mejoras para Spring WebFlux

Perfiles de Spring Ultimate

Previamente, IntelliJ IDEA trataba las expresiones de perfiles Spring como cadenas. A partir de la versión 2020.1, el IDE distingue entre los distintos perfiles de una expresión, y le permite aplicar acciones inteligentes a ellos, como Find Usages (Alt+F7) y la refactorización Rename (Mayús+F6). También hemos mejorado la usabilidad de la ventana emergente Change Active Spring Profiles y hemos implementado la finalización de los perfiles existentes.

Selenium

Selenium Ultimate

IntelliJ IDEA 2020.1 Ultimate introduce la compatibilidad inicial con Selenium, un marco de trabajo popular para probar aplicaciones web. Esta se lleva a cabo a través de un nuevo complemento de pruebas de automatización de la interfaz de usuario de Selenium. El nuevo complemento es compatible con los marcos de trabajo JVM más populares para pruebas de la interfaz de usuario y bibliotecas de informes: Selenium, Selenide, Geb, Serenity BDD y Allure Framework.

 

Las mejoras de IntelliJ IDEA para Selenium incluyen un nuevo asistente de proyecto, resaltado, inspecciones y finalización de código en pruebas para lenguajes Java/Kotlin/Groovy, validación para varios archivos de configuración e iconos en el medianil para una navegación más sencilla.

Más información sobre la compatibilidad con Selenium en IntelliJ IDEA

Información del código para las API de JMS y Spring Messaging Ultimate

IntelliJ IDEA 2020.1 incluye un conjunto completo de funcionalidades de información del código para las API de JMS y Spring Messaging tanto para aplicaciones Java como Kotlin. Se incluye la finalización de código, navegación, la refactorización Rename (Mayús+F7), inyección de referencias (Alt+Intro) y más.

Micronaut Ultimate

En la versión anterior de IntelliJ IDEA, añadimos la compatibilidad con el marco de trabajo Micronaut. La nueva versión amplía esta compatibilidad y añade la finalización automática para parámetros en los archivos de configuración, así como la navegación y documentación rápida. Ahora, el IDE también completa automáticamente los tipos de datos básicos y detecta si un valor no es válido. Además, IntelliJ IDEA ahora reconoce los fragmentos RegExp inyectados en asignaciones de URL Micronaut, lo que hace la sintaxis más legible.

RxJava Ultimate

IntelliJ IDEA 2020.1 aumenta la compatibilidad con RxJava añadiendo un número de inspecciones útiles. Ahora el IDE detecta a los editores sin usar y le permite saber cuando una lambda devuelve null. También resalta las llamadas de método que bloquean subprocesos y filtra las cadenas que son demasiado largas.

Generación de proyecto para Quarkus y MicroProfile

Quarkus y MicroProfile Ultimate

Con IntelliJ IDEA 2020.1, ahora puede crear nuevos proyectos de Quarkus y MicroProfile directamente desde el aistente New Project, que le guiará por la configuración inicial.

Inyecciones de lenguaje para bibliotecas SQL de terceros

Inyecciones para bibliotecas SQL de terceros Ultimate

El IDE ahora inyecta de forma automática fragmentos SQL para bibliotecas populares de terceros que previamente se trataban como cadenas normales, y proporciona finalización de código y navegación para los campos e instrucciones SQL. La lista de bibliotecas compatibles incluyen R2DBC, Vert.x SQL Clients, Apache Spark SQL y Apache DB Utils, entre otras.

Swagger Codegen

Swagger Codegen Ultimate

IntelliJ IDEA 2020.1 se integra con Swagger Codegen, una potente herramienta para generar stubs de servidor, clientes de API y documentación que es compatible con una amplia variedad de lenguajes de programación. Hemos preparado una configuración de ejecución dedicada en la que puede configurar cosas como una ruta a la que generar archivos, una ruta a la carpeta de plantillas .mustache, un lenguaje y un JRE diferente en caso de problemas de compatibilidad. Para dejar que Swagger Codegen pueda hacer su magia, solo tiene que abrir un archivo OpenAPI/Swagger, especificar sus ajustes, configurar algunas opciones y hacer clic en Run.

Especificaciones remotas Ultimate

IntelliJ IDEA 2020.1 puede trabajar con especificaciones de OpenAPI/Swagger. Por ejemplo, proporciona el autocompletado para ellos. Solo tiene que introducir la URL de la especificación en la configuración y el IDE completará las rutas de las URL a medida que escribe. También pueden crear sus propias especificaciones del mismo modo que suele crear clases e interfaces: File | New | OpenAPI Specification.

Cliente HTTP

Autocompletado mejorado y más Ultimate

El cliente HTTP en IntelliJ IDEA 2020.1 se vuelve un poco más inteligente. Ahora puede autocompletar correctamente variables de rutas y rutas de URL, y pueden dirigirle a los terminales relacionados directamente desde los archivos de solicitudes HTTP. También tenemos una actualización para nuestros usuarios de Micronaut y Spring: los métodos controladores ahora cuentan con un icono del medianil para las asignaciones de URL. Úselos para crear o abrir un archivo de solicitud HTTP existente y navegar al cliente HTTP.

Docker

Flujo de trabajo de extracción más sencillo para Docker

Flujo de trabajo de extracción más sencillo para Docker

Para ayudarle a extraer imágenes más fácilmente desde un registro de Docker, hemos rediseñado nuestra interfaz de usuario y hemos quitado el cuadro de diálogo. Ahora solo tiene que hacer clic en el nodo Images en el panel de la izquierda de la ventana de herramientas Service, e IntelliJ IDEA abrirá la pestaña Images Console en el panel de la derecha, desde el que podrá extraer imágenes fácilmente. El IDE también proporciona la finalización de imágenes.

Kubernetes

Comando Apply para archivos Kubernetes

Comando Apply para archivos Kubernetes Ultimate

Ahora puede actualizar un grupo Kubernetes para que coincida con un estado definido en sus archivos locales, invocando el comando Aplicar directamente desde el medianil del editor.

Más información sobre las mejoras de Docker y Kubernetes

Herramientas de compilación

Actualizaciones en la importación de Maven y Gradle

Actualizaciones en la importación de Maven y Gradle

IntelliJ IDEA 2020.1 incorpora una actualización pequeña pero importante para nuestros usuarios de Maven y Gradle. En lugar de la antigua importación automática, ahora aparece una notificación flotante en la esquina superior derecha del editor. Utilice esta notificación o un nuevo acceso directo (Ctrl+Mayús+O para Windows y Linux /Mayús+Cmd+I para Mac) para cargar los cambios después de modificar el archivo de build. Ahora es incluso mejor: cuando IntelliJ IDEA detecta cualquier cambio en el archivo de build realizado fuera del IDE, como las actualizaciones de VCS, recarga los proyectos relacionados automáticamente.

Scala

Compatibilidad con Scala 3

Compatibilidad con Scala 3

Ahora que Dotty está destinado a convertirse en el nuevo Scala 3, hemos empezado a trabajar en la compatibilidad completa con Scala 3. El complemento de Scala ahora incluye la compatibilidad inicial con Scala 3, con la nueva sintaxis, resaltado de errores, navegación, información de tipo y muchas otras funciones básicas del IDE.

Dado que tanto el lenguaje como la compatibilidad de lenguaje siguen siendo trabajo en curso, le recomendamos utilizar builds nocturnos de complemento si quiere obtener nuevas funcionalidades y soluciones de errores lo antes posible.

Más información sobre la compatibilidad con Scala 3 en IntelliJ IDEA

Indicación de errores granular para literales de función

Indicación de errores granular para literales de función

En Scala, los literales de función se usan con mucha frecuencia. Son como métodos y tienen parámetros y cuerpos separados. Pero a menudo se les trata como una sola expresión del tipo función, lo que dificulta localizar e interpretar errores.

En esta versión, hemos introducido la indicación de errores granular para los literales de función, que le ayudará a detectar errores confiando en mensajes claros y precisos, en lugar de en mensajes posiblemente oscuros con tipos de función.

Inspección de parámetros no utilizados

Inspección de parámetros no utilizados

El complemento de Scala ha podido mostrar variables y métodos sin utilizar durante mucho tiempo. Ahora también puede detectar parámetros sin utilizar. Los parámetros que no están referenciados dentro de un método o clase se resaltan en gris.

En contraste con las variables y métodos, los parámetros sin utilizar a menudo son el resultado de errores de programación. Por lo que no solo la nueva inspección hace que su código sea más limpio, sino que le ayuda a evitar distintos errores.

Smart Step Into

Smart Step Into

En Scala, a menudo tenemos varias llamadas a método en la misma línea. En tales casos, utilizar Step Into en el depurador no resulta muy conveniente: tiene que hacer step into manualmente y luego out de muchos métodos antes de llegar al que desea.

En esta versión, Step Into se ha convertido en Smart Step Into. Puede elegir simplemente el método que desee y el IDE se encargará de todo.

Mejoras de compatibilidad con BSP

Hemos mejorado la compatibilidad con BSP. Su funcionamiento ahora es más fluido, y con más herramientas de build y proyectos. Ya no tiene que instalar manualmente Bloop para importar proyectos sbt a través de BSP: el complemento de Scala puede convertir dichos proyectos al formato Bloop automáticamente. Ahora es posible cancelar builds de BSP desde la ventana de herramientas Build. Finalmente, puede ver y gestionar las conexiones BSP utilizando el widget de BSP.

JavaScript

Nuevas intenciones e inspecciones inteligentes

Nuevas intenciones e inspecciones inteligentes Ultimate

Las nuevas intenciones e inspecciones inteligentes (Alt+Intro) le permiten ahorrar tiempo al programar. Por ejemplo, ahora puede convertir rápidamente el código existente en encadenamiento opcional y/o fusión nula, la sintaxis introducida en las versiones más recientes de JavaScript y TypeScript.

Compatibilidad con la API de Composition y Vuex

Compatibilidad con la API de Composition y Vuex Ultimate

Con la compatibilidad lista para usar con la biblioteca Vuex y la API de Composition del próximo Vue 3, puede crear aplicaciones Vue.js geniales incluso con más fluidez.

Eche un vistazo a Novedades de WebStorm para obtener más información sobre el resto de mejoras de JavaScript que también están disponibles en IntelliJ IDEA 2020.1.

Mejoras de las bases de datos

Mejoras de las bases de datos

Mejoras de las bases de datos Ultimate

Las mejoras de las bases de datos incluyen la posibilidad de exportar datos a archivos Excel (.xlsx), ver datos como texto directamente en el editor, crear configuraciones de ejecución y muchas otras cuestiones.

Eche un vistazo a Novedades de DataGrip para consultar todas las mejoras de las bases de datos que también están disponibles en IntelliJ IDEA 2020.1.

Terminal

Sesiones de terminal divididas

Sesiones de terminal divididas

Hemos añadido la posibilidad de dividir las sesiones de terminal vertical u horizontalmente para que pueda ejecutarlas en paralelo. Puede invocar el menú contextual desde el terminal para crear, navegar y cerrar una sesión de terminal dividida.

Configuraciones de ejecución

Almacenar las configuraciones de ejecución como archivos

A partir de la versión 2020.1, puede elegir cualquier ubicación dentro de la carpeta de su proyecto para ejecutar configuraciones y poder compartirlas con los miembros de su equipo mediante el control de versiones. Para ello, abra el cuadro de diálogo Run/Debug Configurations, marque Store as project file en la parte superior derecha del cuadro y haga clic en el icono de rueda dentada. Se abrirá una ventana emergente en la que podrá elegir dónde almacenar sus configuraciones de ejecución.

Android

Compatibilidad con Android Volley

Compatibilidad con Android Volley

IntelliJ IDEA 2020.1 ahora es compatible con la biblioteca Android Volley. Proporciona finalización de código automática para las referencias de ruta URL y le permite navegar a recursos relacionados.

Otros

  • Los IDE basados en IntelliJ han cambiado por completo de JetBrains Runtime 8 (JBR8) a JetBrains Runtime 11 (JBR11).
  • La configuración del IDE ahora se importa automáticamente de una versión principal a otra.
  • La ruta a los archivos de configuración del IDE ha cambiado.
  • Se han actualizado los cuadros de diálogo Updated Find/Replace y Find in Path.
  • Se han unificado el subsistema SSH y la interfaz de usuario de la configuración.