IntelliJ IDEA 2020.3 añade consejos interactivos e inspecciones inline en el depurador, mejora la compatibilidad con Java 15 e introduce la compatibilidad con pruebas Git, además de otras funcionalidades más. ¡Siga leyendo para obtener más información sobre todas!
Se ha rediseñado la pantalla de bienvenida de IntelliJ IDEA. El asistente inicial se ha reemplazado por una pantalla de acceso rápido con cuatro pestañas: Projects para gestionar sus proyectos, Customize para configurar la interfaz del IDE, Plugins para la instalación de complementos y Learn IntelliJ IDEA para acceder a ayuda y a recursos de aprendizaje.
Abra la pestaña Aprenda a trabajar con IntelliJ IDEA directamente desde la pantalla de bienvenida. Aquí puede encontrar lecciones interactivas y útiles enlaces de ayuda. Haga clic en Start Learning para estudiar diferentes funcionalidades del IDE paso a paso en un entorno real. Siga las instrucciones en la vista Learn para probar sus nuevas habilidades en muestras de programación reales.
IntelliJ IDEA ahora puede sincronizar su tema con el de su sistema operativo. Para activar esta funcionalidad, vaya a Settings / Preferences | Appearance & Behavior | Appearance y marque la casilla de verificación Sync with OS. Haga clic en el icono de la rueda dentada situado junto a Sync with OS para seleccionar su tema preferido.
Los archivos de solo lectura y los archivos de bibliotecas externas ahora se abren de forma predeterminada en el modo lector. En este modo, los comentarios parecen texto con formato y las ligaduras de fuentes están activadas para facilitar la lectura del código a los usuarios. Puede personalizar la configuración del modo lector en Settings / Preferences | Editor | Reader Mode.
En IntelliJ IDEA 2020.3, hemos mejorado la experiencia de usuario del modo LightEdit. Para abrir archivos en el modo LightEdit desde la línea de comandos, ahora puede escribir -e
(--edit
) seguido del nombre del archivo que quiere abrir, u omitir el nombre del archivo para reabrir su sesión previa. Una nueva barra de estado en la ventada LightEdit proporciona acceso al conjunto completo de funcionalidades del IDE. Si quiere aprender más información acerca de las actualizaciones del modo LightEdit, lea esta publicación del blog.
Ahora, cuando presiona Alt+Intro, el IDE invoca sugerencias para corregir su gramática u ortografía. Además, hemos empezado a utilizar una nueva versión del motor de verificación gramatical LanguageTool, que mejora las revisiones de texto en inglés y ahora es compatible con 10 idiomas más.
Hemos añadido una nueva pestaña Git en el cuadro de diálogo Search Everywhere. Ahora puede buscar hashes de confirmación y mensajes, etiquetas y ramas en el cuadro de diálogo Search Everywhere. También puede realizar cálculos matemáticos sencillos en el campo de búsqueda.
Ahora puede abrir un archivo en una pestaña de vista previa con un solo clic. Cuando abre un archivo en una pestaña de vista previa, su nombre se muestra en cursiva. Si empieza a editar este archivo, dejará de ser una vista previa y se convertirá en un archivo común. Si hace clic una vez en otro archivo para abrirlo en el modo de vista previa, aparecerá en la misma pestaña y sustituirá al que había abierto previamente. Para habilitar esta funcionalidad, haga clic en el icono de la rueda dentada en la vista Project y seleccione Enable Preview Tab.
En la versión 2020.3, hemos añadido un selector de emojis para Linux 🥳. Para abrir el selector de emojis, presione Ctrl+Alt+; . Puede filtrar los emojis por categoría, cambiar su tono de piel y buscar emojis por su nombre. El selector de emojis es totalmente compatible con la navegación mediante el teclado.
A partir de la versión 2020.3, se puede migrar a la versión más reciente de JDK desde una ventana emergente que aparece cada vez que hay una actualización disponible. Puede elegir si quiere instalarla u omitir la acción.
Hemos facilitado la extracción de métodos Java: simplemente pulse ⌥⌘M en macOS o Ctrl+Alt+M en Windows o Linux, o seleccione Refactor / Extract / Introduce / Method… y el IDE realizará la extracción de inmediato.
Con las nuevas preferencias de Rename que aparecen como consejos de inserción, ahora puede seleccionar si quiere cambiar el nombre de las ocurrencias en los comentarios y los literales de cadena o en el texto imprimible. Para invocar este consejo, pulse ⇧F6 en macOS o Mayús+F6 en Windows y Linux y, a continuación, pulse Tab. Puede cambiar el acceso directo de Show Options Popup for In-place Refactoring en Settings / Preferences | Keymap.
Si quiere tener varias pestañas abiertas mientras trabaja en un proyecto, ahora puede arrastrar y soltar pestañas de archivo para dividir el editor horizontal o verticalmente. También hemos introducido la acción Open in Right Split, que divide el editor verticalmente al abrir el archivo. Invoque la acción desde la vista Project u otras ventanas emergentes de navegación, como Recent Files, Search Everywhere y Navbar.
En la versión 2020.3, se muestra el nuevo icono de anclaje para las pestañas ancladas. Cuando hace clic en él, desancla el archivo. También puede anclar y desanclar sus pestañas arrastrándolas y soltándolas sobre otros archivos anclados o desanclados. Si suele abrir muchas pestañas, puede mantener todas sus pestañas ancladas en una fila. Para hacerlo, vaya a Settings / Preferences | Editor | General | Editor Tabs y marque la casilla de verificación Show pinned tabs in a separate row.
Ahora, la herramienta Markdown tiene una mejor interfaz de usuario de previsualización y una experiencia de usuario mejorada. Puede personalizar el formato Markdown en Settings / Preferences | Editor | Code Style | Markdown. Presione ⌘+Alt+L en macOS o Ctrl+Alt+L en Windows o Linux para aplicar el formato. El botón Auto-Scroll Preview en la esquina superior derecha del editor le permite sincronizar el desplazamiento del panel de vista previa y el editor. We’ve also added support for Mermaid.js.
Ahora puede configurar IntelliJ IDEA como la aplicación predeterminada para abrir archivos. En Preferences | Settings / Editor / File Types, haga clic en el botón Associate file types with IntelliJ IDEA…. En el cuadro de diálogo que se abre, seleccione las extensiones para los archivos que quiere abrir en su IDE. Si utiliza macOS, deberá reiniciar su equipo para aplicar estos cambios.
En Preferences / Settings | Editor | File and Code Templates, ahora es posible añadir una plantilla que crea varios archivos. En primer lugar, haga clic en + para crear una nueva plantilla. Para añadirle otro archivo, haga clic en el icono Create Child Template File situado junto a +. En el campo File name, puede introducir un patrón para generar un nombre de archivo y una ruta utilizando las variables que se muestran en la sección Description.
Cuando su aplicación se ejecuta en el modo de depuración, puede hacer clic en las variables para obtener consejos inline que contengan campos relacionados para los que puede cambiar los valores. Haga clic en Create Renderer dentro del nuevo consejo inline para abrir un cuadro de diálogo en el que podrá configurar la visualización de los valores inline en todas las vistas del depurador.
Hemos añadido un nuevo tipo de expresiones de inspección que se asociarán con un contexto particular y se mostrarán directamente en el editor. Para crear estas nuevas expresiones de inspección, puede hacer clic en Add as Inline Watch en la ventana emergente del consejo inline, seleccionar Add Inline Watch en el menú contextual o hacer clic con el botón derecho en el editor. Puede gestionar sus inspecciones inline en un nuevo nodo Inline Watches en la pestaña Variables de la ventana de herramientas Debug.
Ahora están disponibles las opciones básicas de generación de perfiles mientras se ejecuta el depurador. Invoque las nuevas funcionalidades de generación de perfiles desde el menú contextual de la ventana de herramientas Debug. La primera es Show referring objects, que busca el camino más corto desde un objeto a las raíces GC. La segunda es Calculate retained size, que calcula el tamaño retenido de un objeto y le muestra su conjunto retenido.
Ahora solo se abre una pestaña para la sesión de depuración de una tarea de Gradle. Contiene los Frames y las Variables, además de la salida de Console. Los controles del depurador ahora funcionan correctamente. Si quiere restaurar la lógica de depuración utilizada previamente, desmarque la casilla de verificación Reuse Gradle debug session for forked processes en la pantalla Edit configurations….
En la nueva ventana de herramientas Profiler, puede adjuntar el perfilador a una aplicación en ejecución. En la lista de todos los procesos Java en ejecución, presione Intro para invocar Attach Profiler to Process y seleccione qué herramienta integrada quiere utilizar. En la zona Recent Snapshot, puede acceder rápidamente a cualquier instantánea creada previamente.
La búsqueda de gráfico de llamas ahora es más fácil de usar: cuenta con un campo de búsqueda visible, flechas arriba/abajo para una navegación rápida, un filtro que le permite buscar en todo el gráfico de llamas, o solo en un subárbol específico.
¡Las manipulaciones para abrir archivos .jfr
y .hprof
ya no son necesarias! Para abrir cualquiera de estos tipos de archivo rápidamente, arrástrelo y suéltelo en el editor, ábralo con File | Open o haga doble clic en la vista Project.
Ahora es posible generar perfiles de sus configuraciones de ejecución Maven y Tomcat de forma local del mismo modo que lo haría con cualquier otra configuración de ejecución. Haga clic con el botón derecho en el objeto del que desea generar perfiles y seleccione la opción de generación de perfiles necesaria: CPU, Allocation o Java Flight Recorder.
Ahora puede probar los cambios directamente desde su IDE. Para activar esta funcionalidad, vaya a Settings / Preferences | Version Control | Git y marque la casilla de verificación Enable staging area. Haga clic en el icono + para añadir sus archivos al nuevo nodo Staged en la vista Commit. También puede probar los cambios directamente desde el medianil o en la vista Diff. Para obtener más información, lea nuestra publicación del blog.
Ahora el menú VCS recibe un nombre en función del sistema de control de versiones que esté utilizando en el momento. Hemos hecho el menú más conciso, dejando solo las acciones más útiles para el control de versiones de su proyecto. Si su proyecto solo utiliza Git, su menú VCS tendrá un aspecto como el de la imagen de arriba.
Cuando crea nuevas ramas, el IDE corrige de forma automática los símbolos no aceptados en los nombres de las ramas. Hemos rediseñado el menú contextual para que la rama actual muestre las acciones relacionadas. Para las ramas remotas, hemos cambiado el nombre de las acciones Merge into Current y Rebase Current onto Selected por el de Pull into Current Using Merge y Pull into Current Using Rebase, respectivamente.
Hemos reorganizados las configuraciones para ejecutar/depurar para que estén mejor ordenadas, con las configuraciones usadas más frecuentemente localizadas en una misma pantalla. Los campos obligatorios contienen etiquetas integradas y se ordenan en el mismo orden que en la línea de comandos. Si necesita configurar otros parámetros, haga clic en Modify options.
En IntelliJ IDEA 2020.3, puede guardar plantillas de configuraciones de ejecución como archivos XML y, después, compartirlas con sus compañeros de equipo a través de Git u otro VCS. Para activar las funcionalidades, vaya a Edit Configurations …, expanda el nodo Templates, seleccione una plantilla de configuración, marque la casilla de verificación Store as project file y defina una ruta para guardar esta plantilla de configuración.
IntelliJ IDEA 2020.3 admite Code With Me (EAP), un nuevo servicio para el desarrollo colaborativo y la programación en pares. Code With Me le permite compartir el proyecto abierto en el momento en su IDE con otras personas y trabajar en equipo en tiempo real. Obténgalo en el Marketplace de complementos (Preferences / Settings | Plugins | Marketplace). Eche un vistazo a estas publicaciones para obtener más información sobre Code With Me.
Hemos añadido una nueva acción de intención que le permite convertir registros en clases. Puede ser útil cuando quiere volver a una versión anterior de su base de código. Puede descubrir cuándo y cómo utilizar los registros en esta publicación del blog.
In this release, we’ve added completion, code insight, and refactorings for sealed classes. Cuando utiliza el modificador sealed, declara una clase como una clase sellada que le permite definir qué otras clases pueden extenderlo y qué clases le impiden hacerlo. Las subclases pueden ser finales, no selladas o selladas. Para conocer algunos ejemplos de uso de este modificador, lea esta publicación del blog.
Las sugerencias de la finalización de código se han vuelto más inteligentes y contextuales, gracias a la nueva tecnología de aprendizaje automático que ordena las sugerencias mejor y muestra primero las más relevantes. Para ver cómo el nuevo sistema de clasificación cambia el orden de las sugerencias, vaya a Settings / Preferences | Editor | General | Code Completion y marque la casilla de verificación Mark position changes in the completion popup.
Si sus archivos utilizan un mecanismo Shebang, IntelliJ IDEA lo identifica de forma automática y le permite abrirlos correctamente y usar la información del código. El resaltado de los archivos con shebang (#!
) también funciona.
En IntelliJ IDEA 2020.3, hemos introducido nuevas inspecciones que le pueden ayudar a mejorar su código. Una de las inspecciones más importantes es Commented out code. Le permite eliminar las líneas que se han transformado en comentarios o anular dicha transformación. Puede obtener más información acerca del resto de nuevas inspecciones en IntelliJ IDEA 2020.3 en esta publicación del blog.
Cuando crea una clase desde cero, la finalización ahora le ofrece una clase, interfaz, enumeración o registro después de la declaración de nivel superior Public. Si utiliza los métodos String.toUpperCase
o String.toLowerCase
, ahora se le pedirá que utilice Locale.ROOT. Cuando esté a punto de llamar a String.getBytes()
, el IDE sugiere utilizar el juego de caracteres UTF_8.
La conversión multilenguaje ahora es posible, lo que significa que puede integrar elementos de Kotlin a partir de Java. También puede refactorizar inline las funciones de ámbito also, let, run, apply, y with. Hemos mejorado la integración de expresiones lambda para que el IDE analice su sintaxis de manera más exhaustiva y les aplique el formato correcto.
Hemos introducido la compatibilidad con las acciones de búsqueda y reemplazo estructural (SSR) para Kotlin. Puede buscar y reemplazar patrones de código teniendo en cuenta la sintaxis y la semántica del código fuente. Los filtros de las variables le permiten acotar su búsqueda.
El ciclo de publicación del complemento Kotlin IDE ahora se sincroniza con el ciclo de IntelliJ IDEA. También hemos movido el complemento Kotlin IDE a nuevo repositorio combinado con la base de código de IntelliJ IDEA para minimizar el tiempo necesario para recuperar los cambios de la plataforma.
En esta versión, hemos mejorado considerablemente la ventana de herramientas Endpoints, que muestra las API de cliente y servidor para los protocolos HTTP y WebSocket. Presenta una visualización más práctica de los extremos agrupados por módulo con una opción para hacer la lista más compacta. Puede utilizar búsquedas completas con filtros, varios parámetros de búsqueda y finalización. Puede leer la documentación de cada extremo en una pestaña nueva. Si los extremos tienen URL asociadas, puede ver una representación Open API de ellas y acceder a un cliente HTTP ad hoc.
Ahora puede exportar una solicitud HTTP a cURL presionando Alt+Intro en el editor de solicitudes HTTP y seleccionando la opción Convert to cURL and copy to clipboard.
La finalización de URL ahora es más informativa, con iconos de marcos de trabajo, métodos HTTP y ubicaciones de origen de las clases o archivos en los que ha declarado el extremo. Las URL obsoletas se muestran con formato tachado.
Hemos añadido un acceso rápido a algunas acciones clave para las URL. Haga clic en el icono del globo junto a la URL para acceder a ellas. Estas acciones están disponibles actualmente para los marcos de trabajo Spring MVC, WebFlux, Feign Client, JAX-RS, Micronaut y Retrofit.
Ahora admitimos la información del código para Spring MVC Functional Routing, RestOperations, Spring WebTestClient, y Spring Reactive WebClient. También mostramos los extremos declarados con ellos. Hemos añadido la finalización de código y navegación para los proyectos de Kotlin Spring Security.
Si aún utiliza solicitudes HTTP en el antiguo formato de cliente HTTP, puede convertirlos fácilmente haciendo clic en Convert request to the new format en la parte superior de una solicitud abierta. También puede hacerlo mediante el menú contextual en la vista Project o desde el editor de solicitudes HTTP.
Hemos mejorado considerablemente la información del código en varios casos, incluido cuando quiere referenciar definiciones externas con la palabra clave $ref
. Como otra actualización importante, hemos añadido la compatibilidad con Swagger Hub para que pueda obtener especificaciones públicas y privadas de Swagger Hub y abrirlas en la ventana de herramientas Endpoints. Otra función interesante es que la interfaz de usuario de Swagger ahora se sincroniza con el tema Darcula.
Sus nuevos proyectos Quarkus y Micronaut tienen configuraciones de ejecución creadas automáticamente, lo que significa que pueden ejecutar y depurar su aplicación de inmediato. Si decide cambiar la configuración de Quarkus en Edit Configurations, la sección Environment contará solo con la configuración aplicable a Gradle o Maven, en función de cuál de ellos utilice para crear su proyecto.
IntelliJ IDEA 2020.3 introduce la finalización para los métodos predefinidos que utiliza al crear interfaces de repositorios. También hemos añadido compatibilidad con la anotación Micronaut @Query
que le ayuda al crear consultas personalizadas. Con esta anotación, puede usar el lenguaje JPQL para fragmentos de código.
El servidor de compilación Scala ahora compila los módulos independientes en paralelo. Hemos ajustado las opciones de máquina virtual predeterminadas para admitir hasta 4 subprocesos de compilación de forma predeterminada, lo cual puede acelerar la compilación en gran medida. Si su máquina tiene muchos núcleos de CPU y mucha RAM, no dude en modificar los valores predeterminados para mejorar los tiempos de compilación aún más.
Para aumentar la eficiencia de la compilación paralela, tal vez quiera optimizar la estructura de sus módulos de proyecto y las opciones de máquina virtual del servidor de compilación. Hemos añadido gráficos de compilación para ayudarle con esto. Ahora puede determinar de un vistazo si hay un potencial de optimización. Por ejemplo, un gráfico puede ayudarle a identificar los módulos que actúan como cuellos de botella, oportunidades para aumentar el número de subprocesos, y los casos en los que es necesario modificar el tamaño máximo del montón. Con una compilación más rápida y unos gráficos dinámicos que retienen su atención, el cómic "Compiling" ya es algo del pasado.
El complemento Scala ahora puede combinar los prefijos de paquetes de IntelliJ IDEA con las cláusulas de paquetes en cadena y las importaciones relativas de Scala. Aunque cada una de estas funcionalidades puede ser bastante oscura, en lugar de aumentar exponencialmente su oscuridad, esta combinación proporciona un sistema intuitivo y de gran coherencia interna (más información). Ya no tiene que soportar la vista de cadenas de directorios vacíos ni repetir el mismo prefijo de paquete una y otra vez. Puede mantener la organización de sus directorios y paquetes.
El complemento Scala ya es compatible con JUnit, ScalaTest, uTest y Specs2. Es hora de añadir otra entrada a esta lista. La compatibilidad con MUnit ahora está disponible con todas las ventajas habituales.
El complemento IntelliJ Scala ya es compatible con la próxima versión Scala 3 desde hace un tiempo, y estamos trabajando duro para mantenernos al día con todas las actualizaciones. Particularly, the Scala plugin now understands the new syntax for main methods. ¡Nunca había sido tan fácil la creación de «Hello World»!
Hemos integrado el servicio de lenguaje TypeScript en la ventana de herramientas Problems y hemos quitado la ventana de herramientas TypeScript. Hemos hecho este cambio para facilitar la revisión de los problemas en su código desde un solo lugar. También hemos movido las acciones disponibles previamente dentro de la ventana de herramientas TypeScript a un widget dedicado en la barra de estado.
¿Tiene un componente React sin resolver en su código? Coloque el signo de intercalación en él, presione Alt+Intro, seleccione Create class/function component de la lista y el IDE creará la construcción de código relevante para usted.
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.3.
Ahora puede descargar registros a su máquina local; simplemente haga clic en el botón Download Log del panel izquierdo de la ventana de herramientas Services. De forma predeterminada, sus pods se guardarán en Scratches y Consoles | Kubernetes Files | <context> | <namespace> | pods, pero puede cambiar los ajustes en la sección Pod Logs de Settings / Preferences | Build, Execution, Deployment | Kubernetes.
Se han añadido dos nuevas acciones al panel izquierdo de la ventana de herramientas Services: Open Console para conectar contenedores que incluyan consolas, y Run Shell para lanzar la shell para un contenedor de pod. Haga clic en el icono de herramientas para acceder rápidamente a la sección Pod Shell de la configuración.
Ahora se pueden cargar esquemas CRD de forma automática desde un clúster activo. Para hacerlo, vaya a Preferences / Settings | Languages & Frameworks | Kubernetes y marque la casilla de verificación Use API schema from an active cluster.
Ahora puede usar SQL para consultar las bases de datos de MongoDB. IntelliJ IDEA 2020.3 supports SELECT queries with clauses such as JOIN, WHERE, GROUP BY, HAVING, ORDER BY, LIMIT, OFFSET, and all available MongoDB functions except map, reduce, filter, and let. Si quiere aprender más información acerca de SQL para MongoDB, lea esta publicación del blog.
El IDE ahora es compatible con el servicio Couchbase Query. También hemos introducido dos nuevos extractores: One-Row, que le permite copiar una columna a una cadena separada por comas; y SQL-Insert-Multirow, que genera una instrucción INSERT única con varias filas nuevas que insertar.
Hay otras actualizaciones útiles que puede utilizar en su rutina diaria: