Eclipse HotKey: comment passer d’un onglet à l’autre?

Comment puis-je basculer entre les fenêtres ouvertes dans Eclipse? Il y a Ctrl + F6 , mais il me demande lequel je veux, mais je veux le changer comme des tabs dans un navigateur ou une fenêtre dans le système d’exploitation ( Cmd / Win + Tab ) sans sélection de fichier dans la liste. Comment faire cette chose facile dans Eclipse?

J’ai essayé d’atsortingbuer un raccourci clavier pour les événements:

  • vers l’avant
  • histoire avant
  • page suivante

mais ça ne marche pas comme je le veux.

  • CTRL + E (pour une liste d’éditeur)
  • CTRL + F6 (pour passer à l’éditeur suivant via une liste)
    Vous pouvez atsortingbuer un autre raccourci à la touche «Éditeur suivant».

sont les deux raccourcis officiels, mais ils impliquent tous les deux une liste affichée.

CTRL + Page précédente / CTRL + Page suivante permet de parcourir les éditeurs sans afficher de liste.

Ce qui est intéressant avec ce dernier ensemble de raccourcis est:
ils ne figurent pas dans les raccourcis des touches Eclipse à définir.
Ils peuvent être hérités de l’éditeur de plusieurs pages, ce qui en fait un raccourci spécifique au système d’ exploitation .


Concernant les raccourcis sur Mac OS (OSX), Matt Ball s’est plaint en septembre 2011 de ne pas pouvoir remapper CTRL + Page précédente / CTRL + Page suivante :

Cela me rend fou de ne pas pouvoir parcourir les tabs ouverts comme je le peux dans pratiquement tous les autres programmes à tabs d’OS X ( Left et Right ).

Eh bien, en mars 2012, Arthur a répondu:

, Je viens de télécharger la dernière version d’Eclipse (3.7+). J’ai été capable de lier “Previous / Next tab” à ( Left et Right ) dans Editor, ce dont je suis sûr que je ne pouvais pas faire avant.
Donc je suppose qu’ils vous ont entendu.
Cela fonctionne comme vous le souhaitez, des tabs allant de gauche à droite et vice-versa, non pas sur une base historique ou des absurdités comme ça.

Matt Ball confirme:

oh wow, en sélectionnant “Editer Java Source” a réellement fonctionné !
Maintenant, malheureusement, cela signifie que je suis SOL si je navigue dans un fichier non-Java (JSP, XML, JS, etc.).
Le correctif pour cela est de “copier commande” pour cette paire, et sélectionnez tous les “que” je veux .
Jusqu’à présent, il fonctionne au mieux pour les fichiers Java et JSP.
C’est un PITA majeur à mettre en place, mais ce n’est qu’une chose.

Ses préférences exscopes sont disponibles ici pour que vous puissiez les essayer.
Une fois importés, vous devriez voir, pour tous les types de documents pertinents:

Liaisons de touches Mac Os

Si vous allez dans Préférences (par exemple Fenêtre → Préférences) et affichez Général → Touches

puis recherchez «Next Tab» et «Previous Tab», vous pouvez les remapper.

Commande Next Tab dans les préférences Eclipse, avant la reliure

Changer comme Windows dans OS ( allez à la fenêtre qui avait le dernier focus )

CTRLF6 dans Eclipse, comme ALTTAB (sur Windows), affiche une liste des tabs / fenêtres disponibles (si vous maintenez la touche CTRL / ALT enfoncée) et met en surbrillance celle sur laquelle vous allez sauter lorsque vous relâchez cette touche. . Vous n’avez pas besoin de sélectionner la fenêtre. Si vous souhaitez parcourir plusieurs tabs en même temps, maintenez le bouton CTRL enfoncé et appuyez sur le bouton TAB . C’est un comportement identique à ALTTAB sous Windows.

En ce sens, CTRLSHIFTF6 dans l’éclipse est l’analogue ALTSHIFTTAB . Personnellement, je change ces liaisons dans Eclipse pour être comme Visual Studio. C’est à dire CTRLTAB et CTRLSHIFTTAB et je le fais comme ceci:

Fenêtre> Préférences> Général> Clés

Ensuite, définissez “Éditeur suivant” = Ctrl + Tab et “Éditeur précédent” = Ctrl + Maj + Tab . N’oubliez pas de cliquer sur “Annuler la commande” avant de définir la nouvelle liaison.

Changer comme un navigateur ( aller à l’onglet à droite de l’onglet actuel )

CTRLPageDown pour aller à droite, CTRLPageUp pour aller à gauche. De manière frustrante, lorsque vous arrivez à la fin de la liste des tabs (par exemple, l’onglet à l’extrême droite) et que vous essayez de revenir à la fin, Eclipse ne passe pas au premier onglet (extrême gauche) comme le ferait la plupart des navigateurs.

Vous pouvez utiliser ALT + Gauche pour aller à votre onglet précédent, ou ALT + Droite pour aller en avant. Cette méthode utilise le changement d’onglet comme l’historique, alors elle ira à l’onglet précédent que vous aviez ouvert, et à l’avance si vous êtes revenu une fois ou plus. Un peu bizarre, je sais, mais ça marche. Vous pouvez toujours “réinitialiser” l’historique en cliquant une fois sur chaque onglet.

  • Déplacement du côté Right : Ctrl + page vers le bas
  • Déplacement du côté Left : CTRL + page Haut

Additionnel

  • obtenir la liste des tabs ouverts: Ctrl + F6

Eclipse des autres raccourcis

CTRL + F6 est bon à utiliser. Si vous voulez passer à l’onglet suivant / précédent, vous devez faire CTRL + Page suivante / CTRL + Page précédente.

La valeur par défaut est Ctrl + F6 . Vous pouvez le changer en allant dans les préférences de la fenêtre . Je le change généralement en Ctrl + Tab , le même que nous utilisons pour changer les tabs dans un navigateur et d’autres choses.

Exemple de séquence KeyBinding personnalisée: CTRL + TAB pour basculer entre les modules visibles ou la direction de transfert des éditeurs à l’aide d’Eclipse RCP.

Vous appuyez sur CTRL + TAB la deuxième fois pour ouvrir un autre éditeur et fermer l’éditeur précédent en utilisant 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 Ssortingng 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 Ssortingng 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; } } 

Exemple de séquence KeyBinding personnalisée: SHIFT + TAB pour basculer entre les modules visibles ou les éditeurs . Direction des mots croisés à l’ aide d’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 Ssortingng 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; } } 

Séquence de touches

M1 signifie CTRL

M2 signifie SHIFT

plugin.xml


             

Script AutoHotKey 3 lignes (sous Windows, de toute façon):

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

Mettez ceci dans votre dossier de démarrage (enregistrez-le sous * .ahk, AutoHotKey doit être installé) et les tabs Eclipse fonctionneront désormais comme Chrome ou Firefox.

Résolu !!

Modifier le schéma pour Microsoft Visual Studio

Fenêtre> Préférences> Général> Clés

Rechercher les schémas déroulants

Ma version éclipse:

Eclipse Java EE IDE pour les développeurs Web.

Version: Juno Service Release 1 Numéro de build: 20120920-0800

Personne ne lira jamais ma réponse, mais de toute façon … Si vous êtes sur Mac OS X, vous adorerez les gestes multi-touch pour la navigation de l’historique dans Eclipse: http://sourceforge.net/apps/mediawiki/eclipsemultitch/

Sur les fenêtres, si vous avez une souris à 5 boutons, vous pouvez utiliser les touches avant et arrière au lieu de ALT + Gauche et ALT + Droite .

Touche de raccourci pour revenir à l’onglet précédent

Alt + LeftArrow pour revenir en arrière.

Une façon de faire est d’utiliser le plug -in VI , et ensuite vous faites juste: n (et: N) pour passer d’un fichier à l’autre.

C’est ce que je fais.

Vous pouvez définir les raccourcis dans Préférences -> Général -> Touches (ou tapez simplement “clés” dans le champ du filtre en haut de la boîte de dialog Préférences.

Une fois la section Keys sélectionnée, trouvez l’onglet suivant et l’onglet précédent et assignez-leur votre propre raccourci en cliquant dans le champ “Reliure”, puis en tapant vos raccourcis clavier.

Appuyez sur Appliquer ou sur OK pour terminer le processus.

Je cite la réponse de VonC, en ajoutant quelque chose.

  • Ctrl + PgUp ( PgDn ) pour basculer entre les tabs de la stack actuelle (les deux éditeurs et la vue)
  • Ctrl + E pour basculer entre les tabs de la stack en cours, en utilisant une liste filtrée
  • Ctrl + F6 pour basculer entre les éditeurs, quelle que soit la stack
  • Ctrl + F7 pour basculer entre les vues, quelle que soit la stack

De plus, le bogue 206299 est ouvert à la demande en utilisant Ctrl + Tab pour changer d’onglet au lieu de Ctrl + PgUp ( PgDn ).

  • Comme cela briserait l’accessibilité, l’utilisateur devrait définir une préférence pour cela. Peut-être devrait-il y avoir une question dans le questionnaire de bienvenue pendant les installations d’Oomph.

Si vous n’êtes pas satisfait, vous pouvez vous atsortingbuer la clé de liaison, à partir de Fenêtre> Préférences> Général> Clés .

Pour une raison quelconque, mes parameters Eclipse étaient corrompus et je devais donc modifier manuellement le fichier /.plugins/org.eclipse.e4.workbench/workbench.xmi

J’ai dû auparavant définir Ctrl + Tab sur un changement d’onglet semblable à celui d’un navigateur, et même réinitialiser tous les raccourcis clavier dans les préférences Eclipse ne permettrait pas de supprimer les raccourcis (ils n’étaient affichés nulle part). J’ai ouvert le fichier mentionné ci-dessus et supprimé les éléments marqués avec type:user liés aux raccourcis non fonctionnels.

De droite à gauche: Ctrl + Maj + 9 ou Ctrl + Maj + Page précédente ou Ctrl + Page précédente

De gauche à droite: Ctrl + Maj + 3 ou Ctrl + Maj + Page suivante ou Ctrl + Page suivante

Si vous souhaitez simplement basculer entre vos sélections actuelles et précédentes, utilisez CTRL + F6 pour basculer entre les deux. Pour accéder à un onglet plus loin dans votre historique, vous devez utiliser les touches HAUT / BAS pendant que la fenêtre Editeurs est ouverte. Cela fonctionne avec Helios (Eclipse 3.6); Je ne sais pas si cela est vrai pour les anciennes versions d’Eclipse.

Maintenez CTRL et appuyez sur F6 jusqu’à ce que vous ayez atteint l’éditeur souhaité, puis relâchez. L’interface utilisateur n’est pas aussi jolie que la sélection de la fenêtre, mais la fonctionnalité est la même.

Sur une machine SLES12, vous pouvez utiliser Ctrl + PageUp et Ctrl + PageDown pour naviguer entre les tabs par défaut. Vous pouvez toujours changer ces clés à partir de la fenêtre Préférences en parcourant la section “clés” sous la catégorie “Général”. Ce processus est bien expliqué par Victor et VonC ci-dessus.