Eclipse HotKey: como alternar entre guias?

672

Como posso alternar entre janelas abertas no Eclipse? Há Ctrl+ F6, mas ele está me perguntando qual eu quero, mas quero trocá-lo como guias no navegador ou janela no sistema operacional ( Cmd/ Win+ Tab) sem a seleção de arquivos da lista. Como fazer essa coisa fácil no Eclipse?

Eu tentei atribuir teclas de atalho para eventos:

  • frente
  • encaminhar história
  • próxima página

mas não funciona do jeito que eu quero.

Skay
fonte
3
Adicionados atalhos específicos do SO na minha resposta, mas você não pode redefini-los.
VonC

Respostas:

902
  • CTRL+ E(para uma lista de editores)
  • CTRL+ F6(para alternar para o próximo editor por meio de uma lista)
    Você pode atribuir outro atalho à tecla 'Próximo Editor'.

são os dois atalhos oficiais, mas ambos envolvem uma lista sendo exibida.

CTRL+ Page Up/ CTRL+ Page Downpode percorrer os editores sem exibir uma lista.

O que é interessante com esse último conjunto de atalhos é:
eles não estão listados nos atalhos do Eclipse Keys a serem definidos.
Eles podem ser herdados do editor de várias páginas, tornando-os um atalho específico do SO .


Em relação aos atalhos no Mac OS (OSX), Matt Ball reclamou em setembro de 2011 por não conseguir remapear CTRL+ Page Up/ CTRL+ Page Down:

Isso me deixa maluco por não poder navegar pelas abas abertas, como eu posso em praticamente todos os outros programas com abas no OS X ( - Lefte - Right).

Bem, em março de 2012, Arthur respondeu:

, Acabei de baixar a versão mais recente do Eclipse (3.7+). Consegui vincular a "guia Anterior / Próximo" a ( - Lefte - Right) no Editor, o que tenho certeza de que não podia fazer antes.
Então eu acho que eles ouviram você.
Funciona exatamente como o esperado, abas da esquerda para a direita e vice-versa, não com base na história ou em algumas bobagens como essa.

Matt Ball confirma:

uau, selecionar "Editando Java Source" realmente funcionou !
Agora, infelizmente, isso significa que sou SOL se navegar em um arquivo não Java (JSP, XML, JS, etc.).
A correção para isso é "copiar comando" para este par e selecionar todos os "whens" que eu quero .
Até agora, pelo menos, está funcionando perfeitamente para arquivos Java e JSP.
Esta é uma PITA importante de configurar, mas é apenas uma coisa única.

Suas preferências exportadas estão disponíveis aqui para você tentar.
Depois de importado, você deverá ver todos os tipos de documentos relevantes:

Ligações de teclas do Mac Os

VonC
fonte
7
No OSX, substitua CTRL por CMD para as duas primeiras ações do teclado. Mas você ainda precisará usar CTRL com PgUp ou PgDown para percorrer os editores. Outro conjunto de atalhos úteis da KB que acabei de encontrar ao tentar algumas das sugestões abaixo: você pode usar ALT + Up ou ALT + Down para mover uma linha inteira de código.
Tyler
5
Não há chance de que agora haja uma maneira de remapear CTRL+Page Up/ CTRL+Page Downno Indigo, existe? Isso me deixa maluco por não poder navegar pelas abas abertas, como eu posso em praticamente todos os outros programas com abas no OS X ( ⌘-Lefte ⌘-Right).
Matt Ball
24
Em um teclado OSX não estendido: fn + ctrl + up_arrow / down_arrow por padrão.
Ben Flynn
1
@ MДΓΓБДLL No OS X, eu acabei de baixar a versão mais recente do Eclipse. Consegui vincular a "guia Anterior / Próximo" a (⌘-Esquerda e ⌘-Direita) quando no Editor, o que tenho certeza de que não podia fazer antes. Então eu acho que eles ouviram você. Funciona exatamente como o esperado, abas da esquerda para a direita e vice-versa, não com base na história ou em algumas bobagens como essa.
Arthur
1
@ MДΓΓБДLL ai ... Acho que deveria ter dito que estava no Eclipse para C / C ++ . Desculpe, não passou pela minha cabeça. Não funciona com "Editando Java Source"? Se isso pode atenuar sua dor, quando estou na guia da extrema direita, ⌘-Right não me levará para a extrema esquerda ... Além disso, estou ficando realmente irritantes "falsos erros" (erros são exibidos, mas tudo compila perfeitamente) desde a atualização. Espero que você não entenda isso também!
Arthur
191

Se você for para Preferências (por exemplo, Janela → Preferências) e visualizar Geral → Teclas

e, em seguida, procure por "Próxima guia" e "Guia anterior", você pode remapear eles.

Comando Next Tab nas Preferências do Eclipse, antes de religar

vencedor
fonte
15
Eu adicionei "próxima guia" -> "Ctrl + Tab" "guia anterior" -> "Ctrl + Shift + Tab" como é no Firefox
de Bruno Bieri
19
Isso não é exatamente a coisa certa. Isso apenas percorre as guias na ordem em que aparecem na barra de guias vs. as mais recentes foram alteradas para a ordem.
Hafthor 14/09/12
Funciona muito bem, exceto o editor de layout do Android, que parece absorver / ignorar esses comandos. Sempre é alguma coisa!
22712 Scott Scott
25
@Hafthor: Estou acostumado ao Notepad ++, então eu queria que a Ctrl + Tab alternasse entre as últimas guias / editores ativos . Para fazer isso, remova Ctrl + F6 padrão do "Próximo Editor" e Ctrl + Shift + F6 dos comandos do "Editor Anterior" e insira Ctrl + Tab e Ctrl + Shift + Tab para esses comandos. Observe que eu tive que remover os comandos antigos por algum motivo (o que não era necessário em outros casos em que troquei as teclas), mas fico feliz que funcione agora! Além disso, enquanto brincava, o Eclipse (Juno) agia de maneira estranha e eu não conseguia mudar de aba usando nenhuma das combinações de teclas comuns ou alteradas, mas uma reinicialização corrigiu isso.
FriendFX
1
Adicionei "próxima guia" -> "Ctrl + Tab" "guia anterior" -> "Ctrl + Shift + Tab" como no Visual Studio
Memet Olsen
103

Alterne como o Windows no sistema operacional ( vá para a janela que teve o foco pela última vez )

CTRL-F6 no Eclipse, como ALT-TAB (no Windows), exibe uma lista de guias / janelas disponíveis (se você mantiver a tecla CTRL/ ALTpressionada) e destaca aquela na qual você irá pular quando soltar essa tecla. Você não precisa selecionar a janela. Se você quiser percorrer várias guias ao mesmo tempo, mantenha pressionado o CTRLbotão e toque TABnele. Esse é um comportamento idêntico ao ALT-TAB no Windows.

Nesse sentido, CTRL- SHIFT-F6 no eclipse é o ALT- SHIFT-TAB analógico. Pessoalmente, altero essas ligações no Eclipse para serem como o Visual Studio. Ou seja CTRL-TAB e CTRL- SHIFT-TAB e eu faço assim:

Janela> Preferências> Geral> Chaves

Em seguida, defina "Próximo Editor" = Ctrl+Tab e "Editor Anterior" = Ctrl+ Shift+Tab . Não se esqueça de clicar em "Desvincular comando" antes de definir a nova ligação.

Alternar como navegador ( vá para a guia à direita da guia atual )

Isso é CTRL-PageDown para ir para a direita CTRL-PageUp para ir para a esquerda. De maneira frustrante, quando você chega ao final da lista de guias (por exemplo, guia da extrema direita) e tenta voltar à direita novamente, o Eclipse não circula para a primeira guia (extrema esquerda) como a maioria dos navegadores faria.

Robino
fonte
12
Esta é a resposta mais subestimada neste tópico. Especialmente porque o Juno altera quais guias são consideradas uma lista pura e não os editores usados ​​recentemente.
10138 Jason Axelson #
Isso funciona 90% do tempo. Ele falhará se o cursor do mouse estiver onde a lista de guias aparece. Qualquer guia infeliz exibida na frente do cursor é selecionada.
precisa
A versão 3.6.2 do Eclipse funciona 100% do tempo, onde quer que esteja o mouse. Afinal, é o comportamento natural do Eclipse re-mapeado para diferentes chaves! Não tentei antigas versões do Eclipse embora ...
Robino
1
Você não precisa desvincular o comando "Próximo editor". Basta clicar em "Copiar comando" e editar a cópia e vinculá-la CTRL-TAB.
Gillfish
1
O lembrete de desbloqueio é fundamental. No eclipse 2019-03, ele não funcionou até o comando original ser removido, parece não suportar mais várias ligações.
Liam Steele
55

Você pode usar ALT+ Leftpara ir para a guia anterior ou ALT+ Rightpara ir para a frente. Esse método está usando a alternância de guias como o histórico; portanto, ele irá para a guia anterior que você abriu e avançará se você "voltar" uma vez ou mais. Um pouco estranho, eu sei, mas funciona. Você sempre pode "redefinir" o histórico clicando em todas as guias uma vez.

peirix
fonte
5
Não é útil quando há ações registradas no histórico, como ir para a definição de método na mesma classe.
SiN 14/07
este utilizado para ser útil, por Helios eclipse Isto funciona como o mencionado SiN
Toskan
2
Na verdade, eu gosto do comportamento em relação a ações como a definição de métodos, é uma maneira útil de ir e voltar ao navegar em muitos arquivos.
Ibrahim
1
Isso funciona muito bem quando você alterna entre janelas de edição. Eu gosto de dividir minha tela em 2 e os outros métodos alternam apenas o agrupamento de guias 1 (exceto ctrl-F6, mas acho isso complicado).
Jlange
13

CTRL+ F6é bom de usar. Se você deseja alternar para a guia próxima / anterior, precisa fazer CTRL+ Page Down/ CTRL+ Page Up.

fastcodejava
fonte
2
Sim, eu costumo usar este. No entanto, quando o editor propõe várias visualizações (por exemplo, quando você trabalha em um XMLou propertiesarquivo), ele alterna entre as diferentes visualizações e você não pode mais alternar entre guias :(
Romain Linsolas
"CTRL + F6 é bom de usar." Não faz nada aqui, no Eclipse Photon no Windows.
ChrisJJ
10

O padrão é Ctrl+ F6. Você pode alterá-lo acessando as preferências da janela . Costumo alterá-lo para Ctrl+ Tab, o mesmo que usamos para alternar entre guias em um navegador e outras coisas.

asgs
fonte
Não sou um eleitor de baixa votação, mas questiono sua capacidade de mapear uma ligação de tecla com Ctrl + Tab juntos no Windows Vista, usando o Eclipse Indigo. É impossível! Se eu pressionar Tab, isso mudaria simplesmente o foco nos botões e na lista suspensa.
tom_mai78101
@ tom_mai78101 Desculpe, não conheço esse problema no Windows Vista. Você pode tentar um mapeamento diferente de sua escolha, embora seja bem-sucedido no XP.
ASGs
6

Exemplo de sequência customizada de KeyBinding: CTRL + TAB para alternar entre os módulos visíveis ou a direção de avanço dos editores usando o Eclipse RCP.

você pressiona pela CTRL + TAB segunda vez para abrir outro editor e fechar o editor anterior usando o 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;
    }
}

Exemplo de sequência customizada de KeyBinding: SHIFT + TAB para alternar entre a direção visível dos módulos ou da palavra-chave dos editores usando o 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;
    }
}

Sequência 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>
Chetan Bhagat
fonte
5

Script AutoHotKey de 3 linhas (no Windows, pelo menos):

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

Coloque isso na sua pasta de inicialização (salve-a como * .ahk, deve ter o AutoHotKey instalado) e as guias Eclipse agora funcionarão como Chrome ou Firefox.

Zook
fonte
3

Resolvido !!

Alterar esquema para o Microsoft Visual Studio

Janela> Preferências> Geral> Chaves

Procurar suspenso Esquemas

Minha versão do eclipse:

Eclipse Java EE IDE para desenvolvedores da Web.

Versão: Juno Service Release 1 ID da compilação: 20120920-0800

sumitarora
fonte
3

Ninguém nunca leu a minha resposta, mas de qualquer maneira ... Se você estiver no Mac OS X, vai adorar gestos multi-toque para navegação no histórico no Eclipse: http://sourceforge.net/apps/mediawiki/eclipsemultitch/

borisdiakur
fonte
1
Eu leio todas as entradas todos os dias ;) E "Eclipse Multi-Touch" parece bom, então +1. Mas parece inativo desde 2010. Ainda funcionaria com o recente Eclipse 4.x como o Juno?
VonC 13/07/2013
2

No Windows, se você tiver um mouse de 5 botões, poderá usar o recurso avançar e voltar no lugar de ALT+Lefte ALT+Right.

ajon
fonte
2

Tecla de atalho para retornar à guia anterior

Alt+ LeftArrowpara voltar.

Sunil Garg
fonte
1

Uma maneira de fazer isso é usar o VI Plugin e, em seguida, basta: n (e: N) para alternar entre arquivos.

Isto é o que eu faço.

CPerkins
fonte
1

Você pode definir as teclas de atalho em Preferências -> Geral -> Teclas (ou apenas digitar "teclas" no campo de filtro na parte superior da caixa de diálogo Preferências.

Depois que a seção Teclas for selecionada, localize a Próxima guia e a Guia anterior e atribua a elas sua própria tecla de atalho, clicando no campo "Encadernação" e digitando as teclas de atalho.

Pressione Aplicar ou OK para finalizar o processo.

grigb
fonte
1

Cito a resposta do VonC, adicionando algo.

  • Ctrl+ PgUp( PgDn) para alternar entre as guias na pilha atual (editores e exibição)
  • Ctrl+ Epara alternar entre as guias na pilha atual, usando uma lista filtrada
  • Ctrl+ F6para alternar entre editores, independentemente da pilha
  • Ctrl+ F7para alternar entre visualizações, independentemente da pilha

Além disso, existe o Bug 206299 aberto para solicitar o uso de Ctrl+ Tabpara alternar guias, em vez de Ctrl+ PgUp( PgDn).

  • Como isso prejudicaria a acessibilidade, o usuário deve definir uma preferência por isso. Talvez deva haver uma pergunta no Questionário de boas-vindas durante as instalações do Oomph.

Se não estiver satisfeito, você pode atribuir a você mesmo a Vinculação de teclas, em Janela> Preferências> Geral> Teclas .

psuzzi
fonte
1

Por alguma razão, minhas configurações do Eclipse foram corrompidas, então tive que editar manualmente o arquivo /.plugins/org.eclipse.e4.workbench/workbench.xmi

Eu devo ter previamente definido Ctrl+ Tabpara alternar entre guias do navegador, e mesmo redefinindo todas as ligações de teclas nas preferências do Eclipse não se livraria dos atalhos (eles também não foram exibidos em nenhum lugar). Abri o arquivo acima mencionado e removi os <bindings>elementos marcados com <tags>type:user</tags>relacionados aos atalhos que não funcionavam.

friederbluemle
fonte
1

Direita para a esquerda: ctrl+ shift+ 9 ou ctrl+ shift+ Page Upou ctrl+Page Up

Da esquerda para a direita: ctrl+ shift+ 3ou ctrl+ shift+ Page Downou ctrl+Page Down

Parth Patel
fonte
0

Se você quiser simplesmente alternar entre as seleções atuais e anteriores da guia, usar CTRL+ F6alternará entre você. Para navegar para uma guia mais atrás no seu histórico, você precisa usar as teclas UP/ DOWNenquanto a janela Editores está aberta. Isso funciona com o Helios (Eclipse 3.6); não tenho certeza se isso é verdade para versões mais antigas do Eclipse.

Mel Llaguno
fonte
0

Mantenha CTRLpressionado F6até chegar ao editor desejado e solte. A interface do usuário não é tão bonita quanto a seleção da janela, mas a funcionalidade é a mesma.

Christopher Oezbek
fonte
0

Em uma máquina SLES12, você pode usar Ctrl+ PageUpe Ctrl+ PageDownpara navegar entre as guias por padrão. Você sempre pode alterar essas chaves na janela Preferências, navegando pela seção "chaves" na categoria "Geral". Esse processo é bem explicado por Victor e VonC acima.

Pavan Kumar
fonte
0

Como alternar entre janelas abertas no Eclipse

CTRL + F7 funciona aqui - Eclipse Photon no Windows.

ChrisJJ
fonte