Eclipse HotKey: ¿cómo cambiar entre tabs?

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

Intenté asignar teclas rápidas para eventos:

  • adelante
  • historia de avance
  • siguiente página

pero no funciona de la manera que quiero.

  • CTRL + E (para una lista de editor)
  • CTRL + F6 (para pasar al siguiente editor a través de una lista)
    Puede asignar otro atajo a la tecla ‘Siguiente Editor’.

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

CTRL + AvPág / CTRL + AvPág puede pasar por los editores sin mostrar una lista.

Lo que es interesante con ese último conjunto de atajos es:
no se enumeran en los accesos directos de Eclipse Keys 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 de no poder reasignar CTRL + Re Pág / CTRL + Av Pág :

Me vuelve loco no poder hojear las tabs abiertas como puedo en prácticamente cualquier otro progtwig de tabs 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 vincular “pestaña Anterior / Siguiente” a ( Izquierda y Derecha ) cuando estoy en el Editor, lo cual estoy bastante seguro de que no podía hacer antes.
Así que supongo que te escucharon.
Funciona tal como esperabas, las tabs van de izquierda a derecha y viceversa, no sobre la base de la historia o algunas tonterías como esa.

Matt Ball confirma:

¡Oh wow, seleccionar “Editar fuente Java” 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 “whens” que yo quiera .
Hasta ahora, al menos funciona maravillosamente para 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 lo pruebe.
Una vez importado, debería ver, para todos los tipos de documentos relevantes:

Teclados Mac Os

Si vas a Preferencias (por ejemplo, Ventana → Preferencias) y ves General → Teclas

y luego busque “Pestaña siguiente” y “Pestaña anterior”, puede reasignarlos.

Siguiente comando Tab en Preferencias de Eclipse, antes de volver a enlazar

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

CTRLF6 en Eclipse, como ALTTAB (en Windows), muestra una lista de tabs / ventanas disponibles (si mantiene presionada la tecla CTRL / ALT ) y resalta la que va a saltar cuando suelte esta tecla . No tiene que seleccionar la ventana. Si desea recorrer varias tabs a la vez, mantenga presionado el botón CTRL y toque el botón TAB . Este es el comportamiento idéntico a ALTTAB en Windows.

En este sentido, CTRLSHIFTF6 en eclipse es el análogo ALTSHIFTTAB . Personalmente, cambio estos enlaces en Eclipse para que sean como Visual Studio. Es decir CTRLTAB y CTRLSHIFTTAB y lo hago así:

Ventana> Preferencias> General> Teclas

Luego configure “Next Editor” = Ctrl + Tab y “Previous Editor” = Ctrl + Shift + Tab . No olvide hacer clic en “Desvincular comando” antes de configurar el nuevo enlace.

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

Este es CTRLAvPág para ir a la derecha, CTRLAvPág para ir a la izquierda. Frustrante, cuando llegas al final de la lista de tabs (di la última pestaña de la derecha) y luego intentas volver a la derecha, Eclipse no da vueltas en la primera pestaña (extremo izquierdo) como la mayoría de los navegadores.

Puede usar ALT + Left para ir a su pestaña anterior, o ALT + Right para ir a reenviar. Sin embargo, este método utiliza el historial de cambio de tabs, por lo que irá a la pestaña anterior que tenía abierta, y reenviar si se ha “revertido” una vez o más. Un poco raro, lo sé, pero funciona. Siempre puede “restablecer” el historial haciendo clic en cada pestaña una vez.

  • Right lado Right : Ctrl + página Abajo
  • Left lado Left : CTRL + página Arriba

Adicional

  • obtener una lista de tabs abiertas: Ctrl + F6

Eclipse otros Cortes cortos

CTRL + F6 es bueno de usar. Si desea cambiar a la pestaña siguiente / anterior, debe hacer CTRL + AvPág / CTRL + RePág .

El valor predeterminado es Ctrl + F6 . Puede cambiarlo yendo a las preferencias de Ventana . Normalmente lo cambio a Ctrl + Tab , el mismo que utilizamos para cambiar tabs en un navegador y otras cosas.

Ejemplo de secuencia de combinación de teclas personalizada: CTRL + TAB para alternar entre los módulos visibles o la dirección de reenvío de editores utilizando 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 :  SHIFT + TAB  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 combinación de teclas personalizada: SHIFT + TAB para alternar entre los módulos visibles o la dirección de la palabra clave de los editores utilizando 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 clave

M1 significa CTRL

M2 significa SHIFT

plugin.xml


             

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

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

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

Resuelto

Cambiar esquema a Microsoft Visual Studio

Ventana> Preferencias> General> Teclas

Busque la lista desplegable de Schemes

Mi versión de eclipse:

Eclipse Java EE IDE para desarrolladores web.

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

Nadie leerá mi respuesta, pero de todos modos … Si estás en Mac OS X, te encantará los gestos multitáctiles para la navegación histórica en Eclipse: http://sourceforge.net/apps/mediawiki/eclipsemultitch/

En Windows, si tiene un mouse de 5 botones, puede usar forward y back en lugar de ALT + Left y ALT + Right .

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

Alt + flecha izquierda para volver atrás.

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

Eso es lo que hago.

Puede configurar las teclas rápidas 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 Llaves, encuentre la Pestaña Siguiente y la Pestaña Anterior y asígneles su propia tecla de acceso directo haciendo clic en el campo “Encuadernar” y luego escribiendo sus teclas rápidas.

Presiona Aplicar o Aceptar para finalizar el proceso.

Cito la respuesta de VonC, agregando algo.

  • Ctrl + PgUp ( PgDn ) para alternar entre tabs en la stack actual (tanto editores como vista)
  • Ctrl + E para alternar entre tabs en la stack actual, usando una lista filtrada
  • Ctrl + F6 para alternar entre editores, sin importar qué stack
  • Ctrl + F7 para alternar entre vistas, sin importar qué stack

Además, existe el error 206299 abierto para solicitar el uso de Ctrl + Tab para cambiar las tabs en lugar de Ctrl + RePág ( 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 clave, desde Ventana> Preferencias> General> Teclas .

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 configurado previamente Ctrl + Tab para cambiar de pestaña de navegador, e incluso restablecer todas las combinaciones de teclas en las preferencias de Eclipse no eliminaría los accesos directos (tampoco se mostraron en ninguna parte). Abrí el archivo mencionado anteriormente y elementos marcados con type:user relacionados con los accesos directos que no funcionaban.

De derecha a izquierda: ctrl + shift + 9 o ctrl + shift + RePág o ctrl + RePág

De izquierda a derecha: ctrl + shift + 3 o ctrl + shift + AvPág o ctrl + AvPág

Si simplemente desea cambiar entre sus selecciones de tabs actuales y anteriores, usar 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 Editores está abierta. Esto funciona con Helios (Eclipse 3.6); no estoy seguro de si esto es cierto para las versiones anteriores de Eclipse.

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

En una máquina SLES12 puede usar Ctrl + RePág y Ctrl + AvPág para navegar entre tabs de manera predeterminada. Siempre puede cambiar estas teclas desde la ventana de Preferencias visitando la sección “teclas” en la categoría “General”. Este proceso está bien explicado por Victor y VonC arriba.