Durante el desarrollo de un proyecto, es muy común usarmos IDEs para facilitar todo el proceso de build del proyecto, sea para la realización de compilación de archivos o la ejecución de la aplicación.
Hoy veremos algunos trucos y tips de IntelliJ IDEA, una de las más famosas y poderosas IDEs del mundo Java
Qué aprenderás en este artículo:
Observación: es importante tener en cuenta que IntelliJ tiene una versión Ultimate, que es una herramienta paga con un Trial (período de prueba) de 30 días. Sin embargo, también existe una versión gratuita, que es la versión Community (comunidad). Si te interesa saber la diferencia entre las dos versiones, consulta en el sitio web de Jetbrains. Si no tienes IntelliJ instalado, puedes seguir este https://www.jetbrains.com/help/idea/2017.1/installing-and-launching.html propio de Jetbrains o utilizar el Toolbox, que es un gerenciador de paquetes de Jetbrains, con el es posible instalar todos los productos fácilmente.
Todos los ejemplos que veremos en este artículo están basados en la versión Community, para que no necesites descargar la versión Trial del Ultimate solo para hacer las pruebas.
Además, consideraremos un proyecto Java simple para un inventario, por lo tanto, todos los ejemplos se volcarán a este proyecto. Si no tienes ningún proyecto, te pedimos que crees uno. En este enlace hay un tutorial explicando los pasos.
¿Todo listo? Entonces comencemos...
Uno de los primeros grandes pasos con IntelliJ es ajustar los atajos, en este caso el mapa de teclas (keymap). En este punto debes estar pensando:
“Entonces los atajos no vienen preconfigurados?”
Sí, los atajos ya vienen configurados pero dependiendo de la plataforma, ¡puede ser una configuración distinta de la configuración estándar!
Al ajustar el mapa de teclas, verás varias alternativas que hacen referencia a herramientas como Eclipse IDE o NetBeans. Cuando empecé a aprender IntelliJ, estaba acostumbrado a usar Eclipse IDE, por lo tanto, elegí usar el mapa de teclas Eclipse.
Algunos atajos funcionan de manera similar al comportamiento de Eclipse. Sin embargo, durante mi período de adaptación, hubo otros que solo funcionaban de acuerdo con los atajos estándar de IntelliJ, por lo tanto, tuve que adaptarme.
En este proceso de adaptación (que duró meses), decidí dejar de usar los atajos de Eclipse y migrar a los patrones de IntelliJ (Default). Al principio, me parecía contradictorio pero a medida que fuí practicando, empecé a acostumbrarme.
Actualmente, ya estoy muy acostumbrado a los atajos de IntelliJ y me siento productivo, por lo tanto, no echo de menos a los atajos de Eclipse! En otras palabras, no te desanimes de inmediato si no te sientes productivo/productiva. EEl aumento en la productividad vendrá a medida que practiques.
Ahora que hemos hecho la descripción general de los atajos, configuremos el mapa de teclas en IntelliJ. Vaya al menú File > Settings:
Dentro de Settings, busque la opción keymap(mapa de teclas):
Trás encontrar la opción keymap, haz clic en OK.
Observación: Tenga en cuenta que por defecto, en mi computadora, apareció Windows copy. En este caso lo mantendré porque es el estándar actual de los atajos de IntelliJ para el sistema operativo de Windows.
Siéntete libre de configurar lo que quieras pero recuerda que todos los consejos en este artículo se basarán en los atajos de la opción Windows copy.
¡Basta de explicaciones, coloquemos las manos en la masa!
Primero hagamos uso del proyecto que creamos. En mi caso, creé un proyecto de Java llamado inventario y me basare en él, para los siguientes ejemplos.
Entonces, ¿cuál es nuestro primer paso en un proyecto Java?, crear una clase ¿verdad?
Así que vamos a crear una clase para ejecutar el método main(). Para hacerlo, seleccione el src y use el atajo Alt + Insert:
Tenga en cuenta que es un proyecto de Java simple, es decir, solo tenemos una estructura básica con el nombre del proyecto, el directorio y los archivos de IntelliJ. Además, nota que tenemos el src que es exactamente donde estarán los archivos fuente.
Este atajo refleja precisamente la acción Generate (en el contexto actual New) de IntelliJ, cuyo objetivo es crear algo.
Nota que el IDE presenta como primera opción una clase Java, ya que cree que es la opción más adecuada en este contexto, así que haz clic o presiona Enter en la opción Java Class. Luego llámalo Main, ya que será la clase para ejecutar nuestro programa:
Aprendimos cómo crear una clase con un solo atajo, pero ahora, quizás estés pensando:
"Alex, es genial hacer esto con un atajo, pero si no me lo dices, ¿cómo iba a saberlo?"
IntelliJ proporciona un documento de referencia para los atajos, basado en el mapa de teclas configurado. Este documento se conoce como Keymap References. Para verlo, ve al menú Help > Keyboard Shortcuts PDF:
Se presenta un documento PDF que hace referencia al mapa de teclas para Windows, Linux o Mac OS. Es decir, cuando tengas curiosidad por un atajo específico, puedes buscar siempre el de tu sistema operativo.
TIP**: Hay personas que prefieren imprimir este PDF y dejarlo a un lado para consultarlo durante el aprendizaje. Personalmente, prefiero el digital precisamente para usar el famoso Ctrl + F** (find) y encontrar rápidamente el atajo que estoy buscando, ya sea por el nombre o por el atajo en sí.*
Además, el mapa de teclas hace referencia al último mapa de teclas configurado, por lo que si cambia el mapa de teclas, recuerda solicitar el documento en Keymap References otra vez.
Recomendaciones: Teniendo en cuenta que existen atajos estándar para cada plataforma, te recomiendo que siempre evalúes qué atajos "default" tienen más sentido para ti. Por ejemplo, los desarrolladores que utilizan Mac OS prefieren los atajos estándar para Mac, ya que les parecerán más intuitivos. Y por supuesto, sigue utilizando siempre el keymap reference para ayudarte.
Ahora que sabemos cómo obtener un atajo, procedamos con nuestro ejemplo.
De acuerdo con lo que tenemos ahora, queremos efectivamente ejecutar nuestra clase Main
, ¿verdad? Para eso necesitamos implementar el método main()
. Al principio podrías estar pensando:
"Bueno, solo necesito escribir el método public static void”
Así es, en IntelliJ es más simple de lo que parece, solo escriba las iniciales de la firma del método main()
como aparece en la sugerencia y el hace el resto por nosotros:
Luego presionamos Enter y obtenemos el siguiente resultado:
Imagen 08
Genial, pero en general, para probar si nuestra clase está funcionando, agregamos un System.out.prinln()
al lado del mensaje, ¡pero mira cuánto estamos escribiendo solo con esta llamada!
Ni siquiera tendría que decirte que hay un atajo, ¿verdad? Escribe sout
y observe cómo IntelliJ lo completa, tal como lo hizo con el método main()
:
Luego vemos el siguiente resultado:
Por ahora, logramos crear una clase y agregar un método main()
junto con el método de impresión sin mucho esfuerzo, pero ¿cómo podemos ejecutar el método main()
?
Al principio, pensamos en hacer click sobre el botón de play situado en el menú Run > Run... que es precisamente para este fin.
Sin embargo, la idea de usar un IDE, especialmente IntelliJ, es hacer que el uso del mouse sea raro o inexistente precisamente para aumentar la productividad.
Entonces, para ejecutar nuestra aplicación, solo use el atajo **Ctrl + Shift + F10.***
Antes de ejecutar, deje un mensaje en System.out.println()
, yo dejé "Ejecutando la aplicación inventario"
En la parte inferior, la salida aparecerá como en el siguiente ejemplo:
Nota que también se muestra la ubicación de Java que IntelliJ ha utilizado para ejecutar, así como el status code (código de estado) de finalización del programa.
Después de ejecutar una vez, las próximas veces se pueden ejecutar solo con el atajo Shift + F10.
Logramos ejecutar nuestro programa, sin embargo, dado que estamos tratando con un proyecto de inventario, realmente necesitamos crear una clase modelo que represente un producto de este inventario, ¿correcto? ¡Así que lo hagamos!
Inicialmente, debes estar pensando:
"Bueno, necesitamos hacer clic en src, crear el paquete model y luego crear la clase. Y todo esto usando el atajo Alt + Insert
De hecho, podríamos proceder exactamente como se describe arriba, pero ¡sin usar el mouse! En otras palabras, podemos usar el atajo Alt + Home (tecla que va al principio de un tiempo o página) para navegar por el proyecto a través de la barra de navegación:
Observa que la clase Main
está seleccionada en la barra. Esto significa que cualquier acción que realicemos mientras está seleccionada se verá reflejada en ella. Así que navegue hasta el directorio src con las flechas, en este caso con la flecha izquierda.
En seguida, utiliza New nuevamente con el atajo Alt + Insert, pero esta vez creé un paquete. Para hacerlo, justo después del atajo, escriba "paquete", ve el resultado final:
Presionando Enter, dale el nombre del paquete con el valor "model" y verás que llegamos al siguiente resultado:
Ahora, para crear la clase Producto, haga lo mismo, utilice la barra de navegación, deje la selección en el paquete model y use New (Alt + Enter).
Ahora que tenemos la clase Producto, necesitamos agregar los atributos, así que introduzcamos los atributos abajo:
public class Producto {
private String nombre;
private double valor;
private int cantidad;
}
Genial, observa que ahora tendremos un poco de trabajo para agregar los métodos de acceso a los atributos, es decir, los getters y setters.
Pero como ya sabemos, los IDE están para salvarnos la vida, así que es más sencillo que hacerlo a mano, solo usa el atajo Alt + Insert nuevamente y se abrirán las opciones Generate:
Nota que ya existen algunas opciones de generación automática de código. En este caso basta seleccionar la opción Getter and Setter y nos abrirá una ventana para que seleccionemos los campos a los que queremos añadir los métodos de acceso:
Entonces, simplemente seleccione todos los campos presionando Shift y navegando con las flechas hacia abajo o hacia arriba. Seleccionando los atributos deseados, solo presiona Enter o haz clic en OK:
Ahora que tenemos la clase Producto, necesitamos usarla en nuestra clase Main.
Entonces, vamos a la clase Main, pero en lugar de usar el mouse o de navegar por la barra, ¡accedamos directamente desde la clase Producto!
Para eso, utiliza el atajo Ctrl + N que nos permite acceder a una clase disponible dentro de nuestro proyecto:
¡Así que simplemente presione Enter e irás a la clase Main!
Además de las opciones de generación de código que ofrece IntelliJ, tenemos también la opción de realizar acciones de acuerdo a las sugerencias del IDE. Por ejemplo, dentro del método main(), crea una instancia de la clase Producto:
public class Main {
public static void main(String[] args) {
System.out.println("Ejecutando la aplicación inventario");
new Producto();
}
}
Ahora que tenemos una instancia, necesitamos un objeto. Al principio bastaría con escribir algo como Producto producto =, ¿correcto?
Sin embargo, podemos hacer esto de una manera más fácil. Con el cursor sobre New, utiliza el atajo Alt + Enter. Verás que aparecerá la opción Introduce local variable, que asignará automáticamente la instancia al objeto del tipo Producto:
public class Main {
public static void main(String[] args) {
System.out.println("Ejecutando la aplicación inventario");
Producto producto = new Producto();
}
}
Nota que inicialmente IntelliJ sugiere el uso del nombre producto, porque por defecto, utiliza el nombre de la instancia, pero nada te impide editarlo como desees :)
El atajo Alt + Enter se utiliza varias veces cuando estamos dentro del código, es a través de él que IntelliJ nos sugiere tips para posibles acciones basandose en dónde se encuentre el cursor, es decir, como estaba en new, nos sugiere la introducción de la variable. Si fuera un error de compilación, probablemente sugeriría otras opciones.
Genial, tenemos el objeto, pero ¿cómo podemos crear un producto que tenga el nombre "refresco", con valor "5,00" y cantidad "10"? Actualmente, necesitamos utilizar todos los setters…
Un enfoque más sencillo sería crear un constructor personalizado que ya tome estos parámetros, pero ¿cómo podemos hacerlo en IntelliJ?
Al principio, bastaría ir a la clase Producto con Ctrl + N y luego usar Generate con el atajo Alt + Insert.
De hecho funciona, sin embargo, dado que tenemos ambas clases abiertas, tenemos la capacidad de cambiar entre ellas de una manera más sencilla. Simplemente use el atajo Ctrl + Tab:
En seguida, simplemente usa Generate con Alt + Insert y elija la opción Constructor y haga el mismo procedimiento que hicimos con getters y setters, es decir, seleccione todos los atributos y haga clic en OK:
public class Producto {
private String nombre;
private double valor;
private int cantidad;
public Producto(String nombre, double valor, int cantidad) {
this.nombre = nombre;
this.valor = valor;
this.cantidad = cantidad;
}
// getters y setters
}
Ahora simplemente regrese a la clase Main con Alt + Tab nuevamente y llame al objeto con el constructor personalizado:
public class Main {
public static void main(String[] args) {
System.out.println("Ejecutando la aplicación inventario");
Producto producto = new Producto(“refresco”, 5.00, 10);
}
}
Por ahora logramos obtener los conceptos principales del uso de IntelliJ en el día a día, o sea, el atajo Alt + Insert para crear algo nuevo, así como el atajo de sugerencias Alt + Enter.
Sin embargo, si queremos realizar algún tipo de acción que uno de estos atajos no solucione, esto sigue siendo un misterio, por fin, hay muchos atajos que aún no conocemos.
Siendo así, IntelliJ proporciona el atajo Ctrl + Shift + A que nos permite realizar cualquier acción dentro del IDE. ¡Así es!, ¿quieres probarlo? Vamos allá.
Intentemos buscar el mapa de teclas por keymap:
Incluso presenta una alternativa para acceder a Keyboard Shortcuts PDF.
Ahora intentemos buscar por Generate:
¡Mira qué genial!, también te permite usar Generate a través de este atajo. Además, observa que incluso nos muestra el atajo que activa esta funcionalidad de la IDE, que es precisamente Alt + Insert :)
En otras palabras, esta funcionalidad se conoce como find action, o traduciendo, acción de búsqueda, por lo que incluso podemos crear un proyecto utilizando el atajo. Lo único que nos requerirá es un poco de conocimiento de inglés para facilitar su uso.
En este artículo vimos como IntelliJ nos facilita la vida durante el desarrollo de un proyecto. Sin embargo, solo vimos la parte básica, en la que nos permite crear archivos y navegar por el proyecto.
También vimos cómo podemos usar la plantilla de código para facilitar la implementación de códigos comunes, como el método main()
o System.out.println()
.
Además, aprendimos a generar códigos comunes dentro de una clase con Generate y vimos que IntelliJ también sugiere posibles acciones a depender del contexto.
¡Finalmente, vimos que tenemos la posibilidad de usar cualquier funcionalidad con un solo atajo! ¿Guay, verdad?
¿Quieres aprender a desarrollar proyectos Java? Así que no pierdas el tiempo y echa un vistazo a nuestra formación Java Orientado a Objetos (https://app.aluracursos.com/formacion-javaoo).
En ella, aprenderás a compilar tu programa, trabajar con polimorfismo, crear tus propias excepciones, hacer pruebas de código y mucho más.
Alex Felipe Victor Vieira
Alex es instructor y desarrollador y tiene experiencia en Java, Kotlin, Android. Creador de más de 40 cursos, como Kotlin, Flutter, Android, persistencia de datos, comunicación con Web API, personalización de pantalla, pruebas automatizadas, arquitectura App y Firebase. Es experto en Programación Orientada a Objetos, siempre con el objetivo de compartir las mejores prácticas y tendencias en el mercado de desarrollo de software. Trabajó durante 2 años como editor de contenidos en el blog de Alura y hoy sigue escribiendo artículos técnicos.
Este articulo fue traducido y adaptado por : Eric Oliveira
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Cursos de Programación, Front End, Data Science, Innovación y Gestión.
Luri es nuestra inteligencia artificial que resuelve dudas, da ejemplos prácticos y ayuda a profundizar aún más durante las clases. Puedes conversar con Luri hasta 100 mensajes por semana
Paga en moneda local en los siguientes países
Puedes realizar el pago de tus planes en moneda local en los siguientes países:
País | |||||||
---|---|---|---|---|---|---|---|
Plan Semestral |
487.37
BOB |
64960.44
CLP |
293257.82
COP |
65.90
USD |
260.33
PEN |
1356.43
MXN |
2888.46
UYU |
Plan Anual |
738.82
BOB |
98475.69
CLP |
444559.27
COP |
99.90
USD |
394.65
PEN |
2056.27
MXN |
4378.71
UYU |
Acceso a todos
los cursos
Estudia las 24 horas,
dónde y cuándo quieras
Nuevos cursos
cada semana