Funciones ocultas de Eclipse

De acuerdo, puede ser una pregunta difícil, pero todos usan estas cosas de manera diferente. ¿Cuáles son algunos de los mejores ahorradores de tiempo para este IDE?

Tom

No te olvides de Ctrl + Shift + L , que muestra una lista de todas las combinaciones de teclas rápidas (en caso de que olvides alguna de las enumeradas aquí).

Ctrl-2 algo

Parece que nadie mencionó Ctrl-2 L (asignar a nueva variable local) y Ctrl-2 F (asignar a un nuevo campo), estos han cambiado la forma en que escribo el código.

Previamente, estaba escribiendo, digamos (| es la ubicación del cursor):

Display display = new | 

y luego presioné Ctrl-Space para completar la llamada al constructor. Ahora escribo:

 new Display()| 

y presione Ctrl-2 L, que da como resultado:

 Display display = new Display()| 

Esto realmente acelera las cosas. (Ctrl-2 F hace lo mismo, pero asigna un nuevo campo en lugar de una nueva variable).

Otro buen atajo es Ctrl-2 R: cambiar el nombre en el archivo. Es mucho más rápido que cambiar el nombre de la refactorización (Alt-Shift-R) al cambiar el nombre de elementos como variables locales.

En realidad, fui a la página de preferencias de personalización de Keys y le asigné todo tipo de soluciones rápidas adicionales a Ctrl-2-something. Por ejemplo, ahora presiono Ctrl-2 J para dividir / unir statement de variable, Ctrl-2 C para extraer una clase interna en el nivel superior, Ctrl-2 T para agregar statement de lanzamientos a la función, etc. Hay toneladas de declaraciones rápidas asignables correcciones, elija sus favoritos y asígnelos a los atajos Ctrl-2.

Plantillas

Otro favorito mío en mi plantilla “npe”, definido como:

 if (${arg:localVar} == null) throw new ${exception:link(NullPointerException,IllegalArgumentException)}("${arg:localVar} is null"); 

Esto me permite agregar rápidamente comprobaciones de argumentos nulos al inicio de cada función (especialmente aquellas que simplemente guardan el argumento en un campo o lo agregan a una colección, especialmente constructores), lo cual es ideal para detectar errores de manera temprana.

Vea más plantillas útiles en http://www.tarantsov.com/eclipse/templates/ . No los mencionaré aquí porque son muchos, y porque a menudo agrego otros nuevos.

Terminación

Algunos trucos para completar el código:

  • soporte de caja de camello mencionado en otra respuesta: escriba cTM, get currentTimeMillis
  • constructor predeterminado: en la statement de clase sin constructor predeterminado, presione Ctrl-Space, la primera opción será crear uno
  • sobrecarga: en la statement de clase, comience a escribir el nombre de un método que puede sobrecargar, Ctrl-Space, elija uno
  • creación de getter / setter: escriba “get”, Ctrl-Space, elija un getter para crear; lo mismo con “es” y “establecer”

Asignar a un nuevo campo

Así es como agrego campos.

  1. Si aún no tiene constructores, agregue uno. (Ctrl-Space en cualquier parte de una statement de clase, elija la primera propuesta).

  2. Agregar un argumento (| es la posición del cursor):

     public class MyClass { public MyClass(int something|) { } } 
  3. Presione Ctrl-1, elija “asignar a un nuevo campo”. Usted obtiene:

     public class MyClass { private final Object something; public MyClass(Object something) { this.something = something; } } 
  4. Agregue un puntero nulo si es apropiado (vea la plantilla “npe” arriba):

     public class MyClass { private final Object something; public MyClass(Object something) { npe| this.something = something; } } 

    Presiona Ctrl-Space, consigue:

     public class MyClass { private final Object something; public MyClass(Object something) { if (something == null) throw new NullPointerException("something is null"); this.something = something; } } 

¡Un gran ahorro de tiempo!

ctrl-shift-r y su amigo, ctrl-shift-t, para abrir un recurso o tipo, respectivamente. Los recursos incluyen todos los archivos en sus proyectos abiertos (incluidos los archivos que no son de Java), y los tipos incluyen los tipos de Java en sus proyectos, o en una biblioteca incluida en los proyectos.

Crtl + 1 es mi favorito. Las soluciones rápidas para los garabatos rojos.

También se encuentra en el menú Edición -> Solución rápida.

Ctrl + Shift + O para organizar las importaciones, lo que les dará un buen formato, eliminará las importaciones innecesarias y agregará las importaciones faltantes.

Ctrl-J inicia un hallazgo incremental.

Presiona Ctrl-J, luego comienza a escribir. Usa arriba / abajo para encontrar instancias anteriores / siguientes de lo que escribiste.

Ctrl-Shift-J busca hacia atrás.

Escriba ‘syso’ y luego presione Ctrl + Espacio para expandirlo a System.out.println ().

Tres a mano.

CTRL + 3 muestra una lista de escritura anticipada de cualquier comando de menú.

  • CTRL-SHIFT-g: encuentra los usos del método o campo debajo del cursor, absolutamente necesarios para entender el código
  • CTRL-F6: navegue entre la lista de ventanas de editor abierto, si solo lo escribe una vez y lo suelta, puede volver a la ventana anterior del editor, hacer esto sucesivamente es una buena manera de ir y venir
  • CTRL-t: en una clase o método le mostrará la jerarquía de tipos, muy útil para encontrar implementaciones de un método de interfaz, por ejemplo

Al hacer clic en el tipo de devolución en la statement de un método, se resaltan todos los puntos de salida del método.

por ejemplo:

 1: public void foo() 2: { 3: somecode(); 4: if ( blah ) return; 5: 6: bar(); 7: } 

al hacer clic en ” vacío”, se resaltará el retorno en la línea 4 y el “cierre” en la línea 7.

Actualización : incluso funciona para try {} catch blocks. Si coloca el cursor en la excepción en el bloque catch y eclipse, resaltará los métodos probables que pueden arrojar esa excepción.

La finalización del código es compatible con CamelCase, por ejemplo, al escribir CWAR se mostrará un resultado para ClassWithAReallyLongName . Comience a usar esta función y nunca volverá a escribir otro nombre de clase largo.

(partes copiadas de otra respuesta porque creo que las respuestas con solo una pista / sugerencia son las mejores para la votación)

Alt-Up Arrow mueve la selección actual por una línea, la flecha Alt-Down lo mueve hacia abajo. También uso Alt-Shift-Up / Down Arrow todo el tiempo. Ctrl-K y Ctrl-Shift-K es bastante útil, encontrando la ocurrencia siguiente / anterior de la selección actual (o la última búsqueda, si no se selecciona nada).

Hay una opción para colocar la llave de apertura y un punto y coma automágicamente en la posición “correcta”. Tendrás que habilitar esto: elige Ventana / Preferencias y escribe “llave” en el cuadro de búsqueda – debería ser fácil de encontrar (no eclipse en esta computadora). El efecto:

  • Escribir un punto y coma en cualquier lugar de la línea lo colocará al final de esta línea (como en word / openoffice: Retrocede si deseas tenerlo en el lugar original)
  • Escribir una llave de apertura cuando estás dentro de otro par de llaves lo colocará al final de esta línea, como en este ejemplo

(“|” es el cursor):

 if(i==0|) 

al escribir “{” ahora dará como resultado

 if(i==0) {| 

Hippie expand / Word Complete, afaik inspirado por Emacs: autocompletará cualquier palabra en cualquier editor basado en otras palabras en ese archivo. Autocompletar dentro de literales de cadena en código Java, en archivos xml, en todas partes.

Alt + /

Alt-Shift-R significa cambio de nombre , no refactor. La refactorización es un término más general (como se define en el libro ).

Sin embargo, es uno de mis refactorings favoritos. Otros incluyen:

  • Alt-Shift-M : Método de extracción (cuando se selecciona un bloque de código o una expresión)

  • Alt-Shift-L : Extrae la variable local (cuando se selecciona una expresión)

Extraer variable local es especialmente útil cuando no recuerdo (o me molesto en escribir) el tipo de resultado de un método. Suponiendo que tiene un método JdbcTemplate createJdbcTemplate() en su clase, escriba un código como este:

 void someQuery() { createJdbcTemplate() } 

Seleccione la expresión createJdbcTemplate() , haga clic en Alt-Shift-L, escriba el nombre de la variable y presione enter.

 void someQuery() { JdbcTemplate myTemplate = createJdbcTemplate(); } 

CTRL + D – para eliminar la línea actual

Absolutamente, Ctrl + Q para ir a la última ubicación de edición. Es muy útil justo después de ser interrumpido por teléfono, jefe u otros.

Ctrl + Shift + M : cambia un método estático o una referencia de atributo estático de una clase a una importación estática.

antes de

 import X; ... X.callSomething(); 

Después

 import static X.callSomething; ... callSomething(); 

Alt + Mayús + Flecha arriba realiza una escalada de selección. Alt + Shift + Down hace lo opuesto.

Alt + Arriba o Alt + Abajo para mover líneas

Nadie ha mencionado el mejor hasta ahora. Haga clic en el nombre de una clase o método y presione Ctrl + T.

Obtiene una jerarquía de tipo rápido. Para un nombre de clase, puede ver toda la jerarquía de clases. Para un nombre de método se obtiene la jerarquía que muestra las superclases y subclases, con implementaciones de ese método que se distinguen de las menciones abstractas o las clases que no mencionan el método.

Esto es enorme cuando se encuentra en una statement de método abstracto y desea rápidamente ver dónde se implementa.

F3 ha sido mi favorito, abre la definición del artículo seleccionado.

Ctrl + Shift + R tiene una característica interesante, puedes usar solo las letras mayúsculas de camello de una clase cuando buscas (como escribir CWAR mostrará un resultado para ClassWithAReallyLongName).

Alt + Shift + W > Package Explorer hace la vida más fácil cuando se navega por proyectos grandes.

Un truco de acceso directo sin teclado es usar conjuntos de compromiso en su equipo-> Sincronizar vista para organizar sus cambios antes de comprometerse.

Establezca un conjunto de cambios para que sea el predeterminado, y todos los cambios que haga en los archivos se incluirán en ese conjunto, lo que facilita ver lo que ha cambiado mientras trabajaba en un defecto / función específica, y otros cambios que tuvo durante la prueba, etc.

CTRL + SPACE, para cualquier cosa, en cualquier lugar.

Generar getters y setters.

Crear constructores usando campos

Método de extracción …

Refactor-> Cambiar nombre

CTRL + O para el esquema rápido. CTRL + O + CTRL + O para el esquema heredado.

F4 para mostrar una jerarquía de tipos

Abra la jerarquía de llamadas para mostrar de dónde se llama un método.

CTRL + MAYÚS + T para abrir un tipo de Java

CTRL + MAYÚS + R para abrir cualquier recurso.

ALT + hacia la izquierda o hacia la derecha para ir hacia adelante o hacia atrás a través de los lugares de edición en sus documentos (navegación fácil)

Reemplace / implemente métodos si sabe que va a hacer muchos métodos (de lo contrario, CTRL + SPACE es mejor para una selección a la vez).

Refactor-> Extraer interfaz

Refactor-> Levantar

Refactor-> Empujar hacia abajo

CTRL + MAYÚS + O para organizar las importaciones (al escribir el nombre de clase general como Mapa, presionar CTRL + ESPACIO y luego seleccionar la clase apropiada lo importará directamente para usted).

CTRL + MAYÚS + F para formatear (aunque el formateador integrado de Eclipse puede ser un pequeño brainead para largas líneas de código)

EDITAR: Oh sí, algo de depuración:

F5: entra (¡muéstrame los detalles!)

F6: Paso (te creo, en la siguiente parte …)

F7: Salga (pensé que me importaba este método, pero resulta que no, ¡sáqueme de aquí!)

F8: reanudar (ir hasta llegar al próximo punto de interrupción)

CTRL + SHIFT + I: inspeccionar una expresión. CTRL + MAYÚS + I + CTRL + MAYÚS + I: crea una expresión de reloj en la expresión inspeccionada.

Puntos de interrupción condicionales: haga clic con el botón derecho en un punto de interrupción y podrá establecer una condición que ocurra lo que provocará que se interrumpa la ejecución del progtwig (la ayuda contextual, con Ctrl + Espacio, está disponible aquí).

F11 – Debug fue lanzado por última vez (aplicación)

CTRL + F11 – Ejecutar el último lanzamiento (aplicación)

Punto de inflexión en la excepción

Eclipse le permite establecer puntos de interrupción en función de dónde se produce una excepción.
Accedes a la opción a través de la “j!” texto alternativo http://sofes.miximages.com/eclipse/exc_catch.png icono en la ventana de depuración.

texto alternativo http://blogs.bytecode.com.au/glen/2007/04/06/images/2007/AddExceptionWindow.png

El tema de ayuda oficial ” Agregar punto de excepción de Java ” tiene más información al respecto.

  • La opción Excepción no detectada consiste en suspender la ejecución cuando se lanza una excepción del mismo tipo que el punto de interrupción en una ubicación no detectada.
  • La opción Excepción capturada es suspender la ejecución cuando se lanza una excepción del mismo tipo que el punto de interrupción en una ubicación capturada.
  • no olvides que el punto de interrupción de excepción se suspende en la subclase de esta excepción :
    suspender la ejecución cuando se encuentran subclases del tipo de excepción.
    Por ejemplo, si un punto de interrupción de excepción para RuntimeException está configurado para suspenderse en subclases, también se activará mediante una NullPointerException .

texto alternativo http://sofes.miximages.com/eclipse/ref-breakpoint_suspendsubclass.PNG

Ctrl + Alt + H en un método para obtener la jerarquía de llamadas para él. Forma rápida de ver de dónde se llama.

Ctrl + Alt + UP o Ctrl + Alt + DOWN para copiar líneas

Alt + Shift + R para refactorizar y cambiar el nombre.

Aquí está mi colección de los atajos de teclado más útiles para Eclipse 3:

 Eclipse 3 Favorite Keyboard Shortcuts. by -=MaGGuS=- Navigate: • Ctrl + Shift + L – Shows useful keyboard shortcuts in popup window • Ctrl + H – Search. • Ctrl + K – Goes to next search match in a single file. Shift + Ctrl + K – goes to previous match. • F3 - Goes to 'declaration' of something. Same as Ctrl + Click. • Ctrl + Shift + G - Use this on a method name or variable. It will search for references in the code (all the code) to that item. • Ctrl + O – Shows outline view of the current class or interface. • Ctrl + T – Shows class hierarchy of the current class or interface. F4 – shows the same in separate tab. • Ctrl + Shift + T - Open Type. Search for any type globally in the workspace. • Ctrl + Shift + R – Open Resource. Search for any file inside workspace. • Ctrl + J – Incremental search. Similar to the search in firefox. It shows you results as you type. Shift + Ctrl +J - Reverse incremental search. • Ctrl + Q – Goes to the last edit location. • Ctrl + Left|Right – Go Back/Forward in history. • Ctrl + L – Go to line number. • Ctrl + E – This will give you a list of all the source code windows that are currently open. You can arrow up or down on the items to go to a tab. • Ctrl +PgUp|PgDown – Cycles through editor tabs. • Ctrl + Shift + Up|Down - Bounces you up and down through the methods in the source code. • Ctrl + F7 – Switches between panes (views). • Ctrl + ,|. – Go to the previous/next error. Great in combination with Ctrl + 1. • Ctrl + 1 on an error – Brings up suggestions for fixing the error. The suggestions can be clicked. • Ctrl + F4 – Close one source window. Edit: • Ctrl + Space – Auto-completion. • Ctrl + / – Toggle comment selected lines. • Ctrl + Shift + /|\ – Block comment/uncomment selected lines. • Ctrl + Shift + F – Quickly 'formats' your java code based on your preferences set up under Window –> Preferences. • Ctrl + I – Correct indentations. • Alt + Up|Down – move the highlighted code up/down one line. If nothing is selected, selects the current line. • Ctrl + D – Delete row. • Alt + Shift + Up|Down|Left|Right – select increasing semantic units. • Ctrl + Shift + O – Organize Imports. • Alt + Shift + S – Brings up “Source” menu. o Shift + Alt + S, R – Generate getter/setter. o Shift + Alt + S, O – Generate constructor using fields. o Shift + Alt + S, C – Generate constructor from superclass. • Alt + Shift + T – Brings up “Refactor” menu. • Alt + Shift + J – Insert javadoc comment. • F2 – Display javadoc popup for current item. Shift + F2 – Display javadoc in external browser. Run/Debug: • F11 / Ctrl + F11 – Execute/debug. • Ctrl + Shift +B – Toggle breakpoint. • When paused: F5 – Step into, F6 – Step over, F7 – Step out, F8 – Resume. • Ctrl + F2 – Terminate. EOF 

No tan Oculto, pero IMO es el mejor Truco.

Asumiendo la configuración predeterminada (y no ha agregado nuevos fragmentos)

Resalte (o seleccione) un Texto (Cadena o Variable) … Presione Ctrl + Espacio. Hit End + Enter. se activa el fragmento “sysout” que envuelve la selección como su parámetro.

p.ej.

  "hello world!" becomes System.out.println("hello world!"); 

Me encanta tanto que he implementado un fragmento similar para Toast y Log.i () de HTC en gran ahorro de tiempo durante la depuración manual ….