eclipse tabs hotkeys

Eclipse HotKey: ¿cómo cambiar entre pestañas?



tabs hotkeys (22)

¿Cómo puedo cambiar entre ventanas abiertas en Eclipse?

CTRL + F7 funciona aquí - Eclipse Photon en Windows.

¿Cómo puedo cambiar entre las ventanas abiertas en Eclipse? Hay Ctrl + F6 , pero me pregunta cuál quiero, pero quiero cambiarlo como pestañas en el navegador o ventana en el sistema operativo ( Cmd / Win + Tab ) sin selección de archivos de la lista. ¿Cómo hacer esto fácil en Eclipse?

He intentado asignar teclas de acceso rápido para eventos:

  • adelante
  • historia de avance
  • siguiente página

Pero no funciona como yo quiero.


Ejemplo de secuencia de KeyBinding personalizado: CTRL + TAB para cambiar entre los módulos visibles o la dirección de reenvío de editores usando Eclipse RCP.

presiona CTRL + TAB por segunda vez para abrir otro editor y cerrar el editor anterior usando RCP Eclipse.

package rcp_demo.Toolbar; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.ui.IEditorReference; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; import org.eclipse.ui.handlers.HandlerUtil; import rcp_demo.Editor.EmployeeEditor; import rcp_demo.Editor.EmployeeEditorInput; import rcp_demo.Editor.ProductEditor; import rcp_demo.Editor.ProductEditorInput; import rcp_demo.Editor.UserEditor; import rcp_demo.Editor.UserEditorInput; public class Forward_Editor extends AbstractHandler{ static String Editor_name; // Active Editor name store in Temporary static int cnt; // close editor count this variable @Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); IWorkbenchPage page = window.getActivePage(); UserEditorInput std_input = new UserEditorInput(); EmployeeEditorInput emp_input=new EmployeeEditorInput(); ProductEditorInput product_input=new ProductEditorInput(); IEditorReference[] editors = page.getEditorReferences(); //Blank Editor Window to execute.. if(editors.length==0) { //First time close editor can open Student_Editor if(cnt==1 && Editor_name.equals("Student_Editor")) { try { page.openEditor(emp_input, EmployeeEditor.Id); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("EMP>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //First time close editor can open Employee_Editor else if(cnt==1 && Editor_name.equals("Employee_Editor")) { try { page.openEditor(product_input,ProductEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("PRO>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) {e.printStackTrace(); } } //First time close editor can open Product_Editor else if(cnt==1 && Editor_name.equals("Product_Editor")) { try { page.openEditor(std_input, UserEditor.ID); System.out.println("student Editor open"); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("Close::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //First Time call // empty editors else{ try { page.openEditor(std_input, UserEditor.ID); System.out.println("student Editor open"); Editor_name=page.getActiveEditor().getTitle(); } catch (PartInitException e) { e.printStackTrace(); } } }//End if condition //AvtiveEditor(Student_Editor) close to open Employee Editor else if(page.getActiveEditor().getTitle().equals("Student_Editor")) { try { //page.closeAllEditors(true); page.closeEditor(page.getActiveEditor(), true); page.openEditor(emp_input, EmployeeEditor.Id); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("EMP>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //AvtiveEditor(Employee_Editor) close to open Product Editor else if(page.getActiveEditor().getTitle().equals("Employee_Editor")) { try { page.closeAllEditors(true); page.openEditor(product_input,ProductEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("PRO>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //AvtiveEditor(Product_Editor) close to open Student Editor else if(page.getActiveEditor().getTitle().equals("Product_Editor")) { try { page.closeAllEditors(true); page.openEditor(std_input, UserEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("stud>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //by default open Student Editor else { try { page.closeAllEditors(true); page.openEditor(std_input, UserEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("stud_else>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } return null; } } >Custom KeyBinding sequence example : <kbd> SHIFT + TAB </kbd> to switch between visilble Modules or Editors **Backword** direction using Eclipse RCP. package rcp_demo.Toolbar; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.ui.IEditorReference; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; import org.eclipse.ui.handlers.HandlerUtil; import rcp_demo.Editor.EmployeeEditor; import rcp_demo.Editor.EmployeeEditorInput; import rcp_demo.Editor.ProductEditor; import rcp_demo.Editor.ProductEditorInput; import rcp_demo.Editor.UserEditor; import rcp_demo.Editor.UserEditorInput; public class Backword_Editor extends AbstractHandler{ static String Editor_name; // Active Editor name store in Temporary static int cnt; @Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); IWorkbenchPage page = window.getActivePage(); //Three object create in EditorInput UserEditorInput std_input = new UserEditorInput(); EmployeeEditorInput emp_input=new EmployeeEditorInput(); ProductEditorInput product_input=new ProductEditorInput(); IEditorReference[] editors = page.getEditorReferences(); System.out.println("Length : "+editors.length); if(editors.length==0) { //First time close editor can open Student_Editor if(cnt==1 && Editor_name.equals("Product_Editor")) { try { page.openEditor(emp_input, EmployeeEditor.Id); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("EMP>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //First time close editor can open Employee_Editor else if(cnt==1 && Editor_name.equals("Employee_Editor")) { try { page.openEditor(std_input, UserEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("Student>>Len:: "+editors.length+"..student::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //First time close editor can open Product_Editor else if(cnt==1 && Editor_name.equals("Student_Editor")) { try { page.openEditor(product_input,ProductEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("PRO>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //First Time or empty editors to check this condition else{ try { page.openEditor(product_input,ProductEditor.ID); System.out.println("product Editor open"); } catch (PartInitException e) { e.printStackTrace(); } } } //AvtiveEditor(Product_Editor) close to open Employee Editor else if(page.getActiveEditor().getTitle().equals("Product_Editor")) { System.out.println("Product:: "+page.getActiveEditor().getTitle()); try { page.closeAllEditors(true); page.openEditor(emp_input, EmployeeEditor.Id); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("Employee Editor open"); } catch (PartInitException e) { e.printStackTrace(); } } //AvtiveEditor(Employee_Editor) close to open Student Editor else if(page.getActiveEditor().getTitle().equals("Employee_Editor")) { System.out.println("Emp:: "+page.getActiveEditor().getTitle()); try { page.closeAllEditors(true); page.openEditor(std_input, UserEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("student Editor open"); } catch (PartInitException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //AvtiveEditor(Student_Editor) close to open Product Editor else if(page.getActiveEditor().getTitle().equals("Student_Editor")) { System.out.println("Product:: "+page.getActiveEditor().getTitle()); try { page.closeAllEditors(true); page.openEditor(product_input,ProductEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("product Editor open"); } catch (PartInitException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //by default open Student Editor else { try { page.closeAllEditors(true); page.openEditor(product_input,ProductEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("product Editor open"); } catch (PartInitException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; } }

Ejemplo de secuencia de KeyBinding personalizada: MAYÚS + TAB para cambiar entre los módulos visibles o la dirección de la contraposición de los editores mediante Eclipse RCP.

package rcp_demo.Toolbar; import org.eclipse.core.commands.AbstractHandler; import org.eclipse.core.commands.ExecutionEvent; import org.eclipse.core.commands.ExecutionException; import org.eclipse.ui.IEditorReference; import org.eclipse.ui.IWorkbenchPage; import org.eclipse.ui.IWorkbenchWindow; import org.eclipse.ui.PartInitException; import org.eclipse.ui.handlers.HandlerUtil; import rcp_demo.Editor.EmployeeEditor; import rcp_demo.Editor.EmployeeEditorInput; import rcp_demo.Editor.ProductEditor; import rcp_demo.Editor.ProductEditorInput; import rcp_demo.Editor.UserEditor; import rcp_demo.Editor.UserEditorInput; public class Backword_Editor extends AbstractHandler{ static String Editor_name; // Active Editor name store in Temporary static int cnt; @Override public Object execute(ExecutionEvent event) throws ExecutionException { IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event); IWorkbenchPage page = window.getActivePage(); //Three object create in EditorInput UserEditorInput std_input = new UserEditorInput(); EmployeeEditorInput emp_input=new EmployeeEditorInput(); ProductEditorInput product_input=new ProductEditorInput(); IEditorReference[] editors = page.getEditorReferences(); System.out.println("Length : "+editors.length); if(editors.length==0) { //First time close editor can open Student_Editor if(cnt==1 && Editor_name.equals("Product_Editor")) { try { page.openEditor(emp_input, EmployeeEditor.Id); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("EMP>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //First time close editor can open Employee_Editor else if(cnt==1 && Editor_name.equals("Employee_Editor")) { try { page.openEditor(std_input, UserEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("Student>>Len:: "+editors.length+"..student::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //First time close editor can open Product_Editor else if(cnt==1 && Editor_name.equals("Student_Editor")) { try { page.openEditor(product_input,ProductEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("PRO>>Len:: "+editors.length+"..EDi::"+Editor_name); } catch (PartInitException e) { e.printStackTrace(); } } //First Time or empty editors to check this condition else{ try { page.openEditor(product_input,ProductEditor.ID); System.out.println("product Editor open"); } catch (PartInitException e) { e.printStackTrace(); } } } //AvtiveEditor(Product_Editor) close to open Employee Editor else if(page.getActiveEditor().getTitle().equals("Product_Editor")) { System.out.println("Product:: "+page.getActiveEditor().getTitle()); try { page.closeAllEditors(true); page.openEditor(emp_input, EmployeeEditor.Id); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("Employee Editor open"); } catch (PartInitException e) { e.printStackTrace(); } } //AvtiveEditor(Employee_Editor) close to open Student Editor else if(page.getActiveEditor().getTitle().equals("Employee_Editor")) { System.out.println("Emp:: "+page.getActiveEditor().getTitle()); try { page.closeAllEditors(true); page.openEditor(std_input, UserEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("student Editor open"); } catch (PartInitException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //AvtiveEditor(Student_Editor) close to open Product Editor else if(page.getActiveEditor().getTitle().equals("Student_Editor")) { System.out.println("Product:: "+page.getActiveEditor().getTitle()); try { page.closeAllEditors(true); page.openEditor(product_input,ProductEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("product Editor open"); } catch (PartInitException e) { // TODO Auto-generated catch block e.printStackTrace(); } } //by default open Student Editor else { try { page.closeAllEditors(true); page.openEditor(product_input,ProductEditor.ID); cnt=1; Editor_name=page.getActiveEditor().getTitle(); System.out.println("product Editor open"); } catch (PartInitException e) { // TODO Auto-generated catch block e.printStackTrace(); } } return null; } }

Secuencia de teclas

M1 significa CTRL

M2 significa SHIFT

plugin.xml

<extension point="org.eclipse.ui.commands"> <command defaultHandler="rcp_demo.Toolbar.Forward_Editor" id="RCP_Demo.Toolbar.Forward_editor_open_cmd" name="Forward_Editor"> </command> <command defaultHandler="rcp_demo.Toolbar.Backword_Editor" id="RCP_Demo.Toolbar.backwards_editor_open_cmd" name="Backword_Editor"> </command> </extension> <extension point="org.eclipse.ui.bindings"> <key commandId="RCP_Demo.Toolbar.Forward_editor_open_cmd" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M1+TAB"> </key> <key commandId="RCP_Demo.Toolbar.backwards_editor_open_cmd" schemeId="org.eclipse.ui.defaultAcceleratorConfiguration" sequence="M2+TAB"> </key> </extension>


Cambie como Windows en el sistema operativo ( vaya a la ventana que tuvo el último enfoque )

CTRL - F6 en Eclipse, como ALT - TAB (en windows), muestra una lista de pestañas / ventanas disponibles (si mantiene presionada la tecla CTRL / ALT ) y resalta la que saltará cuando suelte esta tecla. . No tienes que seleccionar la ventana. Si desea recorrer varias pestañas a la vez, mantenga presionado el botón CTRL y presione el botón TAB . Este es un comportamiento idéntico a ALT - TAB en Windows.

En este sentido, CTRL - SHIFT - F6 en eclipse es el análogo ALT - SHIFT - TAB . Personalmente, cambio estos enlaces en Eclipse para que sean como Visual Studio. Es decir, CTRL - TAB y CTRL - MAYÚS - TAB y lo hago así:

Ventana> Preferencias> General> Teclas

Luego configure "Editor siguiente" = Ctrl + Tab y "Editor anterior" = Ctrl + Shift + Tab . No olvide hacer clic en "Desvincular comando" antes de configurar el nuevo enlace.

Cambiar como navegador ( ir a la pestaña a la derecha de la pestaña actual )

Esto es CTRL - Pág . Abajo para ir a la derecha, CTRL - Pág. Para ir a la izquierda. De manera frustrante, cuando llega al final de la lista de pestañas (digamos pestaña de la mano derecha) y luego intenta volver a la derecha, Eclipse no realiza ciclos hacia la primera pestaña (izquierda) como la mayoría de los navegadores.


Cito la respuesta de VonC, agregando algo.

  • Ctrl + PgUp ( PgDn ) para cambiar entre las pestañas de la pila actual (ambos editores y vista)
  • Ctrl + E para cambiar entre las pestañas de la pila actual, usando una lista filtrada
  • Ctrl + F6 para cambiar entre editores, sin importar qué pila
  • Ctrl + F7 para cambiar entre vistas, sin importar qué pila

Además, hay un error 206299 abierto para solicitar el uso de Ctrl + Tab para cambiar las pestañas en lugar de Ctrl + PgUp ( PgDn ).

  • Como esto rompería la accesibilidad, el usuario debería establecer una preferencia para esto. Tal vez debería haber una pregunta en el Cuestionario de bienvenida durante las instalaciones de Oomph.

Si no está satisfecho, puede asignarse el enlace de teclas desde Ventana> Preferencias> General> Teclas .


De derecha a izquierda: ctrl + shift + 9 o ctrl + shift + Page Up o ctrl + Page Up

De izquierda a derecha: ctrl + shift + 3 o ctrl + shift + Page Down o ctrl + Page Down


El valor predeterminado es Ctrl + F6 . Puedes cambiarlo yendo a las preferencias de la ventana . Normalmente lo cambio a Ctrl + Tab , lo mismo que usamos para cambiar de pestaña en un navegador y otras cosas.


En Windows, si tiene un mouse de 5 botones, puede usar avanzar y retroceder en lugar de ALT + Izquierda y ALT + Derecha .


En una máquina SLES12 puede usar Ctrl + PageUp y Ctrl + PageDown para navegar entre las pestañas de forma predeterminada. Siempre puede cambiar estas claves desde la ventana de Preferencias al navegar a través de la sección "claves" en la categoría "General". Este proceso está bien explicado por Victor y VonC arriba.


Mantenga presionada la tecla CTRL y presione F6 hasta que llegue al editor que desea, luego suelte. La interfaz de usuario no es tan bonita como la selección de la ventana, pero la funcionalidad es la misma.



Por alguna razón, mi configuración de Eclipse estaba dañada, así que tuve que editar manualmente el archivo /.plugins/org.eclipse.e4.workbench/workbench.xmi

Debo haber establecido previamente Ctrl + Tab para cambiar la pestaña como navegador, e incluso restablecer todos los enlaces de teclas en las preferencias de Eclipse no eliminaría los accesos directos (tampoco se mostraban en ninguna parte). Abrí el archivo mencionado anteriormente y <bindings> elementos <bindings> marcados con <tags>type:user</tags> relacionados con los accesos directos que no funcionan.


Puede configurar las teclas de acceso rápido en Preferencias -> General -> Teclas (o simplemente escriba "teclas" en el campo de filtro en la parte superior del cuadro de diálogo Preferencias.

Una vez que se selecciona la sección de Teclas, busque la pestaña Siguiente y la pestaña Anterior y asigne sus propias teclas de acceso directo haciendo clic en el campo "Encuadernación" y luego escribiendo sus teclas de acceso rápido.

Pulse Aplicar o Aceptar para finalizar el proceso.


Puede usar ALT + Izquierda para ir a la pestaña anterior, o ALT + Derecha para ir hacia adelante. Sin embargo, este método utiliza el cambio de pestañas como el historial, por lo que irá a la pestaña anterior que tenías abierta y reenviará si has vuelto "atrás" una o más veces. Un poco raro, lo sé, pero funciona. Siempre se puede "restablecer" el historial haciendo clic en cada pestaña una vez.


Resuelto !!

Cambiar esquema a Microsoft Visual Studio

Ventana> Preferencias> General> Teclas

Buscar esquemas desplegables

Mi versión de eclipse:

Eclipse Java EE IDE para desarrolladores web.

Versión: Juno Service Release 1 Build ID: 20120920-0800


Script AutoHotKey de 3 líneas (en Windows, de todos modos):

#IfWinActive ahk_class SWT_Window0 ^+Tab::^PgUp ^Tab::^PgDn

Ponga esto en su carpeta de inicio (guárdelo como * .ahk, debe tener instalado AutoHotKey) y las pestañas de Eclipse ahora funcionarán como Chrome o Firefox.


Si desea simplemente cambiar entre sus selecciones de pestaña actuales y anteriores, el uso de CTRL + F6 lo cambiará de un lado a otro. Para navegar a una pestaña más atrás en su historial, debe usar las teclas ARRIBA / ABAJO mientras la ventana del Editor está abierta. Esto funciona con Helios (Eclipse 3.6); No estoy seguro si esto es cierto para versiones anteriores de Eclipse.


Si va a Preferencias (por ejemplo, Ventana → Preferencias) y ve General → Teclas

y luego busque "Siguiente pestaña" y "Anterior pestaña", puede volver a asignarlos.


Tecla de acceso directo para volver a la pestaña anterior

Alt + flecha izquierda para volver.


Una forma de hacerlo es usar el complemento VI , y luego simplemente haces: n (y: N) para ir entre los archivos.

Eso es lo que hago.


CTRL + F6 es bueno para usar. Si desea cambiar a la pestaña siguiente / anterior, debe hacer CTRL + Av Pág / CTRL + Av Pág .



  • CTRL + E (para una lista de editor)
  • CTRL + F6 (para cambiar al siguiente editor a través de una lista)
    Puede asignar otro acceso directo a la tecla ''Siguiente editor''.

son los dos accesos directos oficiales, pero ambos implican una lista que se muestra.

CTRL + Av Pág. / CTRL + Av Pág. Pueden alternar entre los editores sin mostrar una lista.

Lo que es interesante con el último conjunto de atajos es:
no se enumeran en los accesos directos de claves de Eclipse que se definirán.
Se pueden heredar del editor de varias páginas, lo que los convierte en un acceso directo específico del sistema operativo .

Con respecto a los accesos directos en Mac OS (OSX), Matt Ball se quejó en septiembre de 2011 por no poder volver a asignar CTRL + Re Pág / Avance + Av Pág :

Me vuelve loco que no pueda desplazarme por las pestañas abiertas como puedo en casi todos los demás programas con pestañas en OS X ( - Izquierda y - Derecha ).

Bueno, en marzo de 2012, Arthur respondió:

Acabo de descargar la última versión de Eclipse (3.7+). He podido enlazar la pestaña "Anterior / Siguiente" a ( - Izquierda y - Derecha ) cuando estoy en Editor, lo cual estoy bastante seguro de que no podía hacer antes.
Así que supongo que te escucharon.
Funciona tal como espera, pestañas que van de izquierda a derecha y viceversa, no en una base de historia o algo sin sentido como ese.

Matt Ball confirma:

oh wow, seleccionando "Edición de Java Source" realmente funcionó !
Ahora, desafortunadamente esto significa que soy SOL si navego en un archivo que no es Java (JSP, XML, JS, etc.).
La solución para esto es "copiar el comando" para este par, y seleccionar todos los "cuándo" que quiero .
Hasta ahora, al menos funciona perfectamente para los archivos Java y JSP.
Este es un PITA importante para configurar, pero es solo una cosa de una sola vez.

Sus preferencias exportadas están disponibles aquí para que las pruebes.
Una vez importado, debería ver, para todos los tipos relevantes de documentos: