Los 8 mejores plugins de IntelliJ para mejorar tu experiencia de programación
26 de agosto de 2021
0 minutos de lecturaPara muchos desarrolladores, un buen IDE es como una navaja suiza: una herramienta que integra en un solo programa todo tipo de funciones que necesitas como desarrollador. Por eso, muchos desarrolladores trabajan principalmente desde su IDE favorito, en lugar de abrir varias herramientas para tareas específicas.
El informe del ecosistema JVM 2021, publicado recientemente, muestra que IntelliJ IDEA es, por mucho, el IDE más utilizado en el ecosistema Java. Sin embargo, el informe también indica que más de la mitad de los desarrolladores usan varios IDE en sus sistemas locales. Por eso, quizá quieras enriquecer tu IDE con extensiones o plugins que se adapten a tus necesidades y mejoren su usabilidad. En esta publicación, te recomendaremos ocho plugins de calidad de producción, disponibles gratis en el marketplace, que mejorarán tu experiencia de programación.
Las versiones actuales de IntelliJ IDEA ya incluyen muchos plugins, como Maven, Gradle, Lombok, Docker y muchos más. El equipo de JetBrains también ofrece muchísimos plugins para lenguajes y frameworks específicos. Esta es una de las razones por las que estos plugins casi siempre funcionan a la perfección con IntelliJ IDEA. Sin embargo, en esta publicación me centraré en excelentes plugins adicionales, principalmente de terceros, que aportan algo extra a tus rutinas diarias.
1. Maven Helper
En el ecosistema Java, Maven sigue siendo el sistema de compilación más utilizado y también ofrece administración de dependencias. El plugin Maven Helper, de Vojtech Krassa, ofrece herramientas sencillas para explorar tus dependencias, por ejemplo, en una vista de árbol, y encontrar conflictos entre ellas.

Además, puedes definir de antemano y combinar objetivos de Maven para ejecutarlos con solo hacer clic en un botón o desde un menú contextual. Esto incluye ejecutar objetivos de plugins. En el ejemplo de abajo, creé un objetivo adicional que ejecuta el objetivo package y omite las pruebas.

2. Rainbow Brackets
Este plugin pequeño, sencillo y elegante puede facilitarte mucho la vida. Rainbow Brackets usa distintos colores para los corchetes y paréntesis anidados. Así es mucho más fácil reconocer dónde termina una expresión entre paréntesis, sin tener que pasar el cursor sobre ella.
Funciona con muchos lenguajes, como Java, Scala, Clojure, Kotlin, Python, Haskell, Agda, Rust, JavaScript, TypeScript, Erlang, Go, Groovy, Ruby, Elixir, ObjectiveC, PHP, HTML, XML, SQL, Apex language, C#, Dart, Pug/Jade, Bash y Vue.js.
En el ejemplo de Java de abajo, los distintos colores de los paréntesis hacen que la línea con String.format() sea mucho más fácil de leer. Además, como el plugin es compatible con Clojure, quizá sea la solución ideal para que los simples mortales podamos leer mejor la sintaxis de Clojure.

3. Asistente de presentaciones
Parte de mi trabajo consiste en dar presentaciones, que también incluyen mucha programación en vivo. Cada vez que llamo a una función con un atajo de teclado, el plugin Presentation Assistant muestra la función y la combinación de teclas que uso en el botón. Así, al público le resulta muy fácil seguir lo que hago y repetirlo.
Además, si llamo a una función con el mouse, también muestra un mensaje con el atajo de teclado. Así, cada vez que uso el mouse para activar una función de IntelliJ que tiene un atajo disponible, veo y aprendo la combinación de teclas de inmediato.

4. RoboPOJOGenerator
Hoy en día, es muy común conectar una aplicación a un endpoint REST. En la mayoría de los casos, quieres transformar la salida JSON del endpoint en una representación de objeto en tu aplicación. Crear manualmente objetos para salidas JSON grandes puede ser bastante tedioso. Por suerte, el plugin RoboPOJOGenerator puede hacer el trabajo pesado por ti. Solo tienes que pegar la salida JSON en el generador y, si quieres, elegir los frameworks que usarás. RoboPOJOGenerator crea los POJO (Plain Old Java Objects) con las anotaciones correspondientes a los frameworks que elijas para Java y Kotlin. ¡En mi opinión, es un plugin que ahorra muchísimo tiempo!

5. Snyk Vulnerability Scanner
El plugin Snyk Vulnerabilty Scanner te ayuda a desarrollar aplicaciones Java con mayor seguridad. Puede analizar tanto tus dependencias de terceros para detectar problemas de seguridad conocidos como tu código personalizado.
Para tus dependencias de código abierto, ofrece recomendaciones de corrección que apuntan a un paquete sin la vulnerabilidad. Si el paquete vulnerable es una dependencia transitiva, el plugin te indica qué versión de nivel superior debes actualizar. Si no hay una dependencia de nivel superior corregida, te dirá si existe una versión de la dependencia transitiva que resuelva el problema de seguridad y cuál es.
En tu código personalizado, Snyk Vulnerabilty Scanner reconoce patrones vulnerables, como inyección SQL, secuencias de comandos entre sitios (XSS) y recorrido de rutas. Te muestra dónde ocurre el problema en tu código, el flujo de la vulnerabilidad y posibles soluciones que pueden orientarte para corregirlo, recopiladas a partir de código de código abierto. Es como un corrector ortográfico para tu código que evita errores de seguridad.
Para obtener más información sobre este plugin, lee la publicación del blog: Cómo corregir problemas de seguridad en Java mientras programas en IntelliJ IDEA

6. AsciiDoc
Me encanta AsciiDoc. Aunque se parece a Markdown, AsciiDoc es un formato de texto muy configurable y adecuado para la mayoría de las personas. Puedes convertir AsciiDoc a formatos como PDF, EPUB, HTML y muchos más.
El plugin de AsciiDoc facilita la creación y edición de archivos AsciiDoc en mi editor, además de su vista previa. Por ejemplo, lo uso para escribir documentación sobre mi código que podemos publicar como página web HTML, pero también como PDF, si alguien lo prefiere.
Hacerlo directamente en mi IDE es una gran ventaja y, con más de 2,1 millones de descargas, no soy el único que valora esta excelente extensión para IntelliJ IDEA.
7. Randomness
El plugin Randomness es una herramienta pequeña y práctica. La primera vez que lo vi, pensé sinceramente: «Bueno, esto podría ser interesante, pero ¿cuánto lo usaré en realidad?». Resulta que lo uso mucho más de lo que imaginé al principio. Esta herramienta genera datos aleatorios, como números, cadenas, palabras reales y UUID. También puede crear arreglos de un tipo determinado.
Como doy muchas demostraciones, es muy práctico poder crear datos aleatorios o una colección de datos con un atajo de teclado. También lo uso en mis pruebas unitarias para generar pruebas aleatorias. La salida de este plugin se puede configurar ampliamente para adaptarla a tus necesidades.
Algunos ejemplos de configuración son el tamaño de un arreglo, el conjunto de caracteres de una cadena aleatoria y la longitud de una palabra. El único cambio importante que hice fue configurar el arreglo para que ya no muestre los corchetes [], sino solo el contenido. Así puedo crear fácilmente una List con el método List.of() de Java, como se muestra abajo.

8. SonarLint
El plugin SonarLint es una excelente herramienta para garantizar la calidad del código. Te ayuda a identificar código sospechoso, malos hábitos y posibles errores. De forma predeterminada, usa reglas estáticas basadas, en términos generales, en una combinación de las reglas de PMD, findbugs y checkstyle. Lo mejor de este plugin es que muestra información sobre la marcha y se integra con las funciones de Git de IntelliJ. Antes de confirmar tu código, te advierte si hay problemas.
Si usas SonarQube o SonarCloud, puedes sincronizarlos con SonarLint local para que tu código cumpla el mismo conjunto de reglas. Aun así, SonarLint también es una gran herramienta para cualquier desarrollador que la use de forma independiente.

Antes ya hablamos de Snyk Vulnerability Scanner. Si lo comparo con SonarLint, no diría que uno vuelve redundante al otro. Al contrario: aunque SonarLint puede encontrar algunos problemas relacionados con la seguridad, ese no es su enfoque principal, y Snyk es mucho mejor en ese aspecto. Por otro lado, SonarLint es mucho mejor que el plugin de Snyk para encontrar todo tipo de posibles errores y problemas de estilo. En definitiva, yo uso ambos plugins al mismo tiempo y creo que se complementan.
Empieza con Capture the Flag
Aprende a resolver desafíos de Capture the Flag viendo nuestro taller virtual introductorio a pedido.



