He estado usando para IntelliJ alrededor de 5 años (desde la versión 4.5) y también leí la mayor parte del libro de Manning "IntelliJ in Action" y todavía no me consideraría un gurú. De hecho, también quise hacer un "simple desarrollo anterior de Java" con él, y sinceramente debo decir que es bastante bueno en eso. Al igual que las otras respuestas, solo puedo decir que hay una ventaja definida en su utilidad que realmente lo excede. También usamos Eclipse aquí en el trabajo, y aunque no tengo tanta experiencia, puedo decirte que definitivamente hay muchas cosas básicas que faltan. Puse un tiempo y un esfuerzo serios para aprender Eclipse, buscando cómo hacer todos los tipos de cosas que doy por hecho en IntelliJ, y en su mayoría no están allí o están muy mal implementados. El material de refactorización es definitivamente lo que ayuda mucho.
Aparte de la refactorización, creo que hay un montón de pequeños detalles que realmente hacen que esto sea útil. Creo que un ejemplo podría ayudar a aclarar ...
Prueba esto:
crear una nueva clase vacía. Mueva el cursor dentro de las llaves y haga psvm y presione Ctrl-J - esto expande el "psvm" en "public static void main (String [] args)". Hay una lista completa de modismos de uso común que este atajo manejará (y también es configurable).Dentro del bloque de código principal, introduzca el código:
public static void main(String[] args) {
int x = 1000;
sout
}
Al final de "Sout", hacer Ctrl-J de nuevo - verá otra ventana emergente que te permite elegir de algunos expansiones diferentes, pero en En general esto se expande a "System.out.println (" ")" y helpfully coloca el cursor entre las comillas dobles (son pequeños detalles como este que realmente lo hacen brillar, creo. Compare con "IntelliSense" de Visual Studio - una vasija total si me preguntas).
De todos modos, retroceda sobre la primera comilla doble - observe que elimina la comilla doble correspondiente? Hace lo mismo con llaves y soportes, también. Creo que hay algunos casos de esquina donde prefiero que no lo haga, pero la gran mayoría de las veces me ayuda mucho. Volver a la edición de código: sólo tiene que escribir x lo que el código se verá así:
public static void main(String[] args) {
int x = 1000;
// add a few blank lines here too - the need for
// this will be obvious a little later
System.out.println(x);
}
Ahora, mueva el cursor sobre la declaración de x, y no Shift-F6 - esta es la in- refactorización colocar el diálogo (no sé cómo llamarlo, así que lo inventé). El nombre "x" tiene un recuadro de color a su alrededor, y puede comenzar a escribir un nuevo nombre para él: a medida que escribe, todos los usos de ese nombre también se actualizan dinámicamente. Otro toque limpio que realmente me gusta.
Prueba esto: poner un comentario de línea muy larga en algún lugar, de este modo:
// this is a really long comment blah blah blah i love to hear myself talking hahaha
Ahora que usted decide el comentario es demasiado largo, por lo que se mueve el cursor hasta el centro de la misma en algún lugar y pulse la tecla Enter. IntelliJ colocará la "porción restante" del comentario con un "//" al comienzo, "sabe" que es una continuación del comentario anterior, por lo que lo comentará por usted. Otro toque limpio.
// this is a really long comment blah
// blah blah i love to hear myself talking hahaha
Otra gran ventaja que me gusta de IntelliJ comparación con Eclipse es que es mucho menos intrusivo - que realmente odiaba la forma en Eclipse lograría obtener ventanas emergentes en la parte superior de ventanas emergentes, y el foco del ratón estaría en alguna parte, pero el foco del teclado se ha quedado atascado en algo debajo, etc. Creo que es posible trabajar de tal manera que este tipo de cosas no sucedan, pero en primer lugar me molestó inmensamente. Eso me recuerda que, en IntelliJ, si mueve el cursor del mouse sobre el paquete o el navegador de archivos en el panel izquierdo, ese panel obtiene el enfoque automático del mouse, por lo que me acostumbré a usar la rueda del mouse inmediatamente para mirar alrededor. En Eclipse? Pasa el mouse por encima, pero el foco permanece en el panel de edición, por lo que tiene que hacer CLIC con el mouse para transferir el foco, y luego poder usar la rueda del mouse para mirar alrededor. Como dije, son muchos pequeños detalles como los que ayudan a la productividad.
Mientras codifica, preste atención a la barra de canaleta izquierda para símbolos de tipo "bombilla" roja en la línea actual - esto es IntelliJ que le dice que hay cosas posibles que puede hacer. Use Alt-Intro para mostrar un cuadro de diálogo pequeño y le dirá de qué se trata automáticamente. Supongamos que escribe una definición de método llamada "getFoo()" y no hay ningún miembro de foo; ofrecerá crearlo para usted. O si está utilizando una clase y llama a un método no existente como getFoo(), ofrecerá crear un getter y un miembro, o un método regular. Simplemente es útil.
En general, diría que los gurús de IntelliJ realmente no quieren hablar de pequeños detalles, pero realmente aprecio cómo este tipo de cosas simplemente están "bien hechas". Cuidan pequeños detalles para que no tenga que gastar tanto tiempo de ejecución mental comprobando su propia sintaxis. Lo considero un mayordomo ayudándome con mi codificación: se ocupa de los pequeños quehaceres para mí, así que no tengo que hacerlo. Batman tiene su Alfred, y yo tengo mi IntelliJ.Todos los ajustes están increíblemente diseñados para que los modifique si lo desea, pero parece que los valores predeterminados están orientados a mejorar su productividad, en lugar de molestarlo todo el tiempo con decisiones realmente mundanas (especialmente aquellas que casi siempre haría la misma elección de todos modos).
Existen algunos inconvenientes definitivos para IntelliJ: el precio es un poco alto, y es bastante grande que puede llevar un tiempo cargarlo en un proyecto grande. Tengo la suerte de que mi empresa paga la licencia y una estación de trabajo muy agradable, por lo que se carga razonablemente rápido, pero su kilometraje puede variar.
"no se ve tan diferente ..." - usted sabe, desde una distancia no puedo decir la diferencia entre el chocolate y caca , ya sea. :) – weiji