Eclipse HotKey: comment basculer entre les onglets?

673

Comment 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 onglets dans le 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'attribuer un raccourci clavier pour les événements:

  • vers l'avant
  • histoire en avant
  • page suivante

mais cela ne fonctionne pas comme je le souhaite.

Skay
la source
3
Ajout de raccourcis spécifiques au système d'exploitation dans ma réponse, mais vous ne pouvez pas les redéfinir.
VonC

Réponses:

903
  • CTRL+ E(pour une liste d'éditeur)
  • CTRL+ F6(pour passer à l'éditeur suivant via une liste)
    Vous pouvez attribuer un autre raccourci à la touche 'Editeur suivant'.

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

CTRL+ Page Up/ CTRL+ Page Downpeut parcourir les éditeurs sans afficher de liste.

Ce qui est intéressant avec ce dernier ensemble de raccourcis, c'est
qu'ils ne sont pas listés dans les raccourcis Eclipse Keys à définir.
Ils peuvent être hérités de l'éditeur multipage, 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 Up/ CTRL+ Page Down:

Cela me rend fou de ne pas pouvoir parcourir les onglets ouverts comme je le fais dans à peu près tous les autres programmes à onglets sous OS X ( - Leftet - 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 pu lier "Onglet Précédent / Suivant" à ( - Leftet - Right) dans l'éditeur, ce que je suis sûr que je ne pouvais pas faire auparavant.
Donc je suppose qu'ils vous ont entendu.
Cela fonctionne exactement comme vous vous y attendez, les onglets allant de gauche à droite et vice-versa, pas sur une base historique ou des bêtises comme ça.

Matt Ball confirme:

oh wow, la sélection de "Editing Java Source" a vraiment fonctionné !
Maintenant, malheureusement, cela signifie que je suis SOL si je navigue dans un fichier non Java (JSP, XML, JS, etc.).
Le correctif est de "copier la commande" pour cette paire et de sélectionner tous les "whens" que je veux .
Jusqu'à présent, cela fonctionne au moins magnifiquement pour les fichiers Java et JSP.
Il s'agit d'un PITA majeur à mettre en place, mais ce n'est qu'une chose ponctuelle.

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

Raccourcis clavier Mac Os

VonC
la source
7
Sous OSX, remplacez CTRL par CMD pour les deux premières actions du clavier. Mais vous devrez toujours utiliser CTRL avec PgUp ou PgDown pour parcourir les éditeurs. Un autre ensemble de raccourcis KB utiles que je viens de trouver en essayant certaines des suggestions ci-dessous: vous pouvez utiliser ALT + Haut ou ALT + Bas pour déplacer une ligne entière de code.
Tyler
5
Aucune chance qu'il y ait maintenant un moyen de remapper CTRL+Page Up/ CTRL+Page Downen Indigo, n'est-ce pas? Cela me rend fou de ne pas pouvoir parcourir les onglets ouverts comme je le fais dans à peu près tous les autres programmes à onglets sous OS X ( ⌘-Leftet ⌘-Right).
Matt Ball
24
Sur un clavier OSX non étendu: fn + ctrl + up_arrow / down_arrow par défaut.
Ben Flynn
1
@ MДΓΓБДLL Sous OS X, je viens de télécharger la dernière version d'Eclipse. J'ai pu lier "Onglet Précédent / Suivant" à (⌘-gauche et ⌘-droite) dans l'éditeur, ce que je suis sûr que je ne pouvais pas faire auparavant. Donc je suppose qu'ils vous ont entendu. Cela fonctionne exactement comme vous vous y attendez, les onglets allant de gauche à droite et vice-versa, pas sur une base historique ou des bêtises comme ça.
Arthur
1
@ MДΓΓБДLL aïe ... Je suppose que j'aurais dû dire que j'étais sur Eclipse pour C / C ++ . Désolé, je n'ai pas traversé mon esprit. Cela ne fonctionne-t-il pas avec "Modification de la source Java"? Si cela peut atténuer votre douleur, lorsque je suis dans l'onglet extrême droite, Right-Droite ne m'emmènera pas à l'extrême gauche ... tout se compile parfaitement) depuis la mise à jour. J'espère que vous n'obtiendrez pas cela aussi!
Arthur
191

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

puis recherchez "Onglet suivant" et "Onglet précédent", vous pouvez les remapper.

Commande Onglet suivant dans les préférences Eclipse, avant de relier

Victor
la source
15
J'ai ajouté "onglet suivant" -> "Ctrl + Tab" "onglet précédent" -> "Ctrl + Shift + Tab" comme dans Firefox
Bruno Bieri
19
Ce n'est pas exactement la bonne chose. Cela fait simplement défiler les onglets dans l'ordre dans lequel ils apparaissent dans la barre d'onglets par rapport à la dernière commande passée.
Hafthor le
Fonctionne très bien, sauf pour l'éditeur de mise en page Android, qui semble absorber / ignorer ces commandes. C'est toujours quelque chose!
Scott Biggs
25
@Hafthor: J'ai l'habitude de Notepad ++, donc je voulais que Ctrl + Tab permute entre les derniers onglets / éditeurs actifs . Pour ce faire, supprimez les commandes par défaut Ctrl + F6 de "Éditeur suivant" et Ctrl + Maj + F6 des commandes "Éditeur précédent" et insérez Ctrl + Tab et Ctrl + Maj + Tab pour ces commandes. Notez que j'ai dû supprimer les anciennes commandes pour une raison quelconque (ce que je n'avais pas besoin de faire dans d'autres cas où j'ai changé de clé), mais heureux que cela fonctionne maintenant! De plus, en jouant, Eclipse (Juno) a agi bizarrement et je ne pouvais pas changer d'onglet en utilisant l'une des combinaisons de touches habituelles ou modifiées, mais un redémarrage a corrigé cela.
FriendFX
1
J'ai ajouté "onglet suivant" -> "Ctrl + Tab" "onglet précédent" -> "Ctrl + Maj + Tab" comme dans Visual Studio
Memet Olsen
103

Passer comme Windows dans le système d'exploitation ( aller à la dernière fenêtre qui avait le focus )

CTRL-F6 dans Eclipse, comme ALT-TAB (sous Windows), affiche une liste des onglets / fenêtres disponibles (si vous maintenez la touche CTRL/ ALTenfoncée) et met en évidence celui vers lequel 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 onglets à la fois, maintenez enfoncé le CTRLbouton et appuyez sur le TABbouton. C'est un comportement identique à ALT-TAB sous Windows.

En ce sens, CTRL- SHIFT-F6 dans l'éclipse est le ALT- SHIFT-TAB analogique. Personnellement, je change ces liaisons dans Eclipse pour ressembler à Visual Studio. C'est-à-dire CTRL-TAB et CTRL- SHIFT-TAB et je le fais comme ceci:

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

Réglez ensuite "Éditeur suivant" = Ctrl+Tab et "Éditeur précédent" = Ctrl+ Shift+Tab . N'oubliez pas de cliquer sur "Annuler la commande" avant de définir la nouvelle liaison.

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

C'est CTRL-PageDown aller à droite, CTRL-PageUp aller à gauche. Frustrant, lorsque vous arrivez à la fin de la liste des onglets (par exemple, onglet à l'extrême droite), puis essayez à nouveau d'aller à droite, Eclipse ne passe pas au premier onglet (à l'extrême gauche) comme le feraient la plupart des navigateurs.

Robino
la source
12
C'est la réponse la plus sous-estimée de ce fil. D'autant plus que Juno change quels onglets apparaissent comme une liste pure et non les éditeurs récemment utilisés.
Jason Axelson
Cela fonctionne 90% du temps. Il échoue si le curseur de votre souris se trouve à l'endroit où apparaît la liste des onglets. Tout onglet malchanceux qui apparaît devant le curseur est sélectionné.
User1
La version 3.6.2 d'Eclipse fonctionne 100% du temps, où que se trouve la souris. C'est, après tout, le comportement naturel d'Eclipse remappé à différentes clés! Je n'ai pas encore essayé les anciennes versions d'Eclipse ...
Robino
1
Vous n'avez pas à dissocier la commande "Next Editor". Cliquez simplement sur "Copier la commande" et modifiez la copie et liez-la CTRL-TAB.
Gillfish
1
Le rappel de délier est la clé. Dans eclipse 2019-03, cela n'a pas fonctionné tant que la commande d'origine n'a pas été supprimée, il semble qu'elle ne prend plus en charge plusieurs liaisons.
Liam Steele
55

Vous pouvez utiliser ALT+ Leftpour accéder à votre onglet précédent ou ALT+ Rightpour avancer. Cependant, cette méthode utilise l'historique de changement de tabulation, donc elle ira à l'onglet précédent que vous aviez ouvert, et avancera si vous êtes retourné une ou plusieurs fois. Un peu bizarre, je sais, mais ça marche. Vous pouvez toujours "réinitialiser" l'historique en cliquant une fois sur chaque onglet.

peirix
la source
5
Inutile lorsqu'il y a des actions enregistrées dans l'historique, comme aller à la définition de méthode dans la même classe.
SiN
cela était utile, pour helios eclipse cela fonctionne comme SiN l'a mentionné
Toskan
2
J'aime en fait le comportement lorsqu'il s'agit d'actions telles que la définition d'une méthode, c'est un moyen utile de faire des allers-retours lors de la navigation dans de nombreux fichiers.
Ibrahim
1
Cela fonctionne très bien lors des allers-retours entre les fenêtres d'édition. J'aime diviser mon écran en 2 et les autres méthodes ne regroupent que les groupes d'onglets du cycle 1 (sauf ctrl-F6, mais je trouve cela fastidieux).
Jlange
13

CTRL+ F6est bon à utiliser. Si vous voulez passer à l'onglet suivant / précédent, vous devez faire CTRL+ Page Down/ CTRL+ Page Up.

fastcodejava
la source
2
Oui, j'utilise souvent celui-ci. Cependant, lorsque l'éditeur propose plusieurs vues (par exemple lorsque vous travaillez sur un fichier XMLou properties), il bascule entre les différentes vues et vous ne pouvez plus basculer entre les onglets :(
Romain Linsolas
"CTRL + F6 est bon à utiliser." Ne fait rien ici, sur Eclipse Photon sous Windows.
ChrisJJ
10

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

asgs
la source
Je ne suis pas un votant, mais je doute de votre capacité à mapper une liaison de touches avec Ctrl + Tab ensemble sur Windows Vista, en utilisant Eclipse Indigo. C'est impossible! Si je devais appuyer sur Tab, cela changerait simplement le focus sur les boutons et la liste déroulante.
tom_mai78101
@ tom_mai78101 Désolé, je ne suis pas au courant de ce problème avec Windows Vista. Vous pouvez essayer un mappage différent de votre choix, bien qu'il réussisse sous XP.
asgs
6

Exemple de séquence de raccourcis clavier personnalisés: CTRL + TAB pour basculer entre les modules visibles ou les éditeurs vers l'avant à l' aide d'Eclipse RCP.

vous appuyez une CTRL + TAB deuxième fois pour ouvrir un autre éditeur et fermer l'éditeur précédent à l'aide de 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;
    }
}

Exemple de séquence de raccourcis clavier personnalisés: SHIFT + TAB pour basculer entre les modules Visilble ou la direction Backword des éditeurs à 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 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;
    }
}

Séquence de touches

M1 signifie CTRL

M2 signifie 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>
Chetan Bhagat
la source
5

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

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

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

Zook
la source
3

Résolu !!

Changer le schéma en Microsoft Visual Studio

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

Rechercher la liste déroulante des schémas

Ma version éclipse:

IDE Eclipse Java EE pour développeurs Web.

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

sumitarora
la source
3

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 dans l'historique dans Eclipse: http://sourceforge.net/apps/mediawiki/eclipsemultitch/

borisdiakur
la source
1
J'ai lu toutes les entrées tous les jours ;) Et "Eclipse Multi-Touch" a l'air bien, donc +1. Mais il semble inactif depuis 2010. Cela fonctionnerait-il toujours avec la récente Eclipse 4.x comme Juno?
VonC
2

Sous Windows, si vous disposez d'une souris à 5 boutons, vous pouvez utiliser les touches avant et arrière à la place de ALT+Leftet ALT+Right.

ajon
la source
2

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

Alt+ LeftArrowpour revenir en arrière.

Sunil Garg
la source
1

Une façon de le faire consiste à utiliser le plug -in VI , puis il vous suffit de faire: n (et: N) pour passer d'un fichier à l'autre.

C'est ce que je fais.

CPerkins
la source
1

Vous pouvez définir les raccourcis clavier dans Préférences -> Général -> Clés (ou tapez simplement «clés» dans le champ de filtre en haut de la boîte de dialogue Préférences.

Une fois la section Clés sélectionnée, recherchez l'onglet suivant et l'onglet précédent et attribuez-leur votre propre raccourci clavier en cliquant dans le champ "Liaison" puis en tapant vos raccourcis clavier.

Appuyez sur Appliquer ou OK pour terminer le processus.

grigb
la source
1

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

  • Ctrl+ PgUp( PgDn) pour basculer entre les onglets de la pile actuelle (éditeurs et affichage)
  • Ctrl+ Epour basculer entre les onglets de la pile actuelle, à l'aide d'une liste filtrée
  • Ctrl+ F6pour basculer entre les éditeurs, quelle que soit la pile
  • Ctrl+ F7pour basculer entre les vues, quelle que soit la pile

De plus, le bogue 206299 est ouvert pour demander l'utilisation de Ctrl+ Tabpour changer d'onglet au lieu de Ctrl+ PgUp( PgDn).

  • Comme cela romprait 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 attribuer le raccourci clavier à partir de Fenêtre> Préférences> Général> Clés .

psuzzi
la source
1

Pour une raison quelconque, mes paramètres Eclipse ont été corrompus, j'ai donc dû modifier manuellement le fichier /.plugins/org.eclipse.e4.workbench/workbench.xmi

Je dois avoir précédemment défini Ctrl+ Tabsur la commutation d'onglets de type navigateur, et même réinitialiser toutes les liaisons de touches dans les préférences Eclipse ne se débarrasserait pas des raccourcis (ils n'étaient pas affichés nulle part non plus). J'ai ouvert le fichier mentionné ci-dessus et supprimé les <bindings>éléments marqués <tags>type:user</tags>liés aux raccourcis non fonctionnels.

friederbluemle
la source
1

De droite à gauche: ctrl+ shift+ 9 ou ctrl+ shift+ Page Upou ctrl+Page Up

De gauche à droite: ctrl+ shift+ 3ou ctrl+ shift+ Page Downou ctrl+Page Down

Parth Patel
la source
0

Si vous souhaitez simplement basculer entre vos sélections d'onglets actuelles et précédentes, l'utilisation de CTRL+ vous F6fera basculer d'avant en arrière. Pour accéder à un onglet plus loin dans votre historique, vous devez utiliser les touches UP/ DOWNpendant 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.

Mel Llaguno
la source
0

Maintenez la CTRLtouche enfoncée F6jusqu'à ce que vous atteigniez l'éditeur souhaité, puis relâchez. L'interface utilisateur n'est pas aussi jolie que la sélection de fenêtre, mais la fonctionnalité est la même.

Christopher Oezbek
la source
0

Sur une machine SLES12, vous pouvez utiliser Ctrl+ PageUpet Ctrl+ PageDownpour naviguer entre les onglets par défaut. Vous pouvez toujours modifier ces clés à partir de la fenêtre Préférences en parcourant la section "clés" dans la catégorie "Général". Ce processus est bien expliqué par Victor et VonC ci-dessus.

pavan kumar
la source
0

Comment puis-je basculer entre les fenêtres ouvertes dans Eclipse

CTRL + F7 fonctionne ici - Eclipse Photon sur Windows.

ChrisJJ
la source