Eclipse HotKey:如何在选项卡之间切换?


672

如何在Eclipse中打开的窗口之间切换?有Ctrl+ F6,但询问我要哪个,但我想像浏览器中的选项卡或操作系统(Cmd/ Win+ Tab)中的窗口一样切换它,而无需从列表中选择文件。如何在Eclipse中做到这一点?

我尝试为事件分配热键:

  • 向前
  • 向前的历史
  • 下一页

但这并不符合我的要求。


3
在我的答案中添加了特定于操作系统的快捷方式,但是您无法重新定义它们。
VonC

Answers:


902
  • CTRL+ E(用于编辑列表)
  • CTRL+ F6(用于通过列表切换到下一个编辑器)
    您可以将另一个快捷方式分配给“下一个编辑器”键。

是两个官方快捷方式,但它们都涉及要显示的列表。

CTRL++ Page Up/ CTRL+ Page Down可以在编辑器中循环显示而不显示列表。

最后一组快捷方式的有趣之处在于:
它们没有在要定义的Eclipse Keys快捷方式中列出。
它们可以从多页编辑器继承,从而使其成为特定OS的快捷方式


关于Mac OS(OSX)上的快捷方式,Matt Ball在2011年9月抱怨无法重新映射CTRL+ Page Up/ CTRL+ Page Down

就像我在OS X中几乎所有其他选项卡式程序(- Left- Right)中一样,它使我发疯,无法翻开打开的选项卡。

好吧,在2012年3月,亚瑟回答:

,我刚刚下载了最新版本的Eclipse(3.7+)。在编辑器中时,我已经能够将“上一个/下一个选项卡”绑定到(- Left- Right),我敢肯定我以前做不到。
所以我想他们听到了你的声音。
它按您的期望工作,选项卡从左到右,反之亦然,而不是基于历史记录或类似的废话。

马特·鲍尔(Matt Ball)确认:

噢,选择“编辑Java源代码”确实有效
现在,不幸的是,这意味着如果我浏览一个非Java文件(JSP,XML,JS等),我就是SOL。
对此的解决方法是为此对“复制命令”,然后选择所需的所有“时间”
到目前为止,它对于Java和JSP文件至少可以很好地工作。
这是要设置的主要PITA,但这只是一次性的事情。

他的导出的首选项可在此处尝试。
导入后,对于所有相关类型的文档,您应该会看到:

Mac Os键绑定


7
在OSX上,前两个键盘操作将CTRL替换为CMD。但是您仍然需要将CTRL与PgUp或PgDown一起使用来循环编辑器。我在尝试以下一些建议时发现了另一套有用的KB快捷方式:您可以使用ALT + Up或ALT + Down来移动整行代码。
泰勒

5
现在没有机会在Indigo中重新映射CTRL+Page Up/ CTRL+Page Down是否存在?就像我在OS X(⌘-Left⌘-Right)中几乎所有其他选项卡式程序中一样,它使我无法进行打开的选项卡。
Matt Ball

24
在非扩展的OSX键盘上:默认情况下为fn + ctrl + up_arrow / down_arrow。
本·弗林

1
@MДΓΓБДLL在OS X上,我刚刚下载了最新版本的Eclipse。在编辑器中时,我已经能够将“上一个/下一个选项卡”绑定到(⌘-左和⌘-右),我敢肯定我以前做不到。所以我想他们听到了你的声音。它按您的期望工作,选项卡从左到右,反之亦然,而不是基于历史记录或类似的废话。
亚瑟

1
@MДΓΓБДLL哎...我想我应该说我在Eclipse上使用C / C ++。对不起,我没想到。它不适用于“编辑Java源代码”吗?如果这样可以减轻您的痛苦,当我在最右边的选项卡上时,⌘-右不会把我带到最左边的那个...另外,我真的很讨厌“错误错误”(显示错误但自更新以来,所有内容都能完美编译)。希望你也不要那样!
亚瑟

191

如果转到首选项(例如,窗口→首选项)并查看常规→键

然后搜索“下一个标签”和“上一个标签”,您可以重新映射它们。

重新绑定之前,Eclipse Preferences中的Next Tab命令


15
我已经在Firefox中添加了“下一个标签”->“ Ctrl + Tab”“上一个标签”->“ Ctrl + Shift + Tab”
Bruno Bieri 2012年

19
这不是完全正确的事情。这只是按照标签在标签栏上显示的顺序(最新切换为顺序)在标签之间循环。
Hafthor 2012年

除了Android布局编辑器(似乎可以吸收/忽略这些命令)外,它的工作原理非常好。总是东西!
Scott Biggs 2012年

25
@Hafthor:我习惯了Notepad ++,所以我想Ctrl + Tab在最后一个活动的选项卡/编辑器之间切换。为此,请从“下一个编辑器”中删除默认的Ctrl + F6,并从“上一个编辑器”命令中删除Ctrl + Shift + F6,然后为这些命令插入Ctrl + Tab和Ctrl + Shift + Tab。请注意,由于某种原因我不得不删除旧命令(在其他情况下,我不需要更改键,而不必这样做),但是很高兴它现在可以工作了!另外,在玩耍时,Eclipse(Juno)表现得很奇怪,我无法使用任何常用的或更改的组合键来切换选项卡,但是重新启动解决了该问题。
FriendFX

1
我已经在Visual Studio中添加了“下一个选项卡”->“ Ctrl +选项卡”“上一个选项卡”->“ Ctrl + Shift +选项卡”
Memet Olsen 2013年

103

在操作系统中像Windows一样切换(转到上一个具有焦点的窗口

CTRL-F6在Eclipse中,例如ALT-TAB(在Windows上),将显示可用选项卡/窗口的列表(如果按住CTRL/ ALT键,并突出显示当您松开该键时将跳转到的选项卡/窗口)。您不必选择窗口。如果要一次遍历几个选项卡,请按住CTRL按钮并点击TAB按钮。这与Windows 上的ALT-TAB行为相同。

在这个意义上,CTRL- SHIFT-F6在Eclipse是ALT- SHIFT-TAB模拟。我个人将Eclipse中的这些绑定更改为类似于Visual Studio。即CTRL-TABCTRL- SHIFT-TAB我不喜欢这样写道:

窗口>首选项>常规>键

然后设置“ Next Editor” = Ctrl+Tab和“ Previous Editor” = Ctrl++ Shift+Tab。设置新的绑定之前,请不要忘记单击“解除绑​​定命令”。

像浏览器一样切换(转到当前标签右侧的标签

这是CTRL-PageDown走对,CTRL-PageUp向左走。令人沮丧的是,当您到达选项卡列表的末尾(例如最右边的选项卡),然后尝试再次向右移动时,Eclipse不会像大多数浏览器一样循环到第一个选项卡(最左侧)。


12
这是该线程中被低估的答案。特别是由于Juno更改了哪些选项卡显示为纯列表,而不是最近使用的编辑器。
杰森·阿克森

这有90%的时间有效。如果您的鼠标光标恰好出现在选项卡列表的弹出位置,它将失败。光标前面弹出的任何不幸选项卡都会被选中。
User1 2013

不论鼠标在哪里,Eclipse 3.6.2版都可以100%地工作。毕竟,这是Eclipse的自然行为重新映射到了不同的键!虽然还没有尝试过古老的Eclipse版本...
Robino

1
您不必取消绑定“下一个编辑器”命令。只需单击“复制命令”并编辑副本并将其绑定到CTRL-TAB
Gillfish

1
解除绑定的提醒是关键。在eclipse 2019-03中,直到删除原始命令后它才起作用,它似乎不再支持多个绑定。
利亚姆·斯蒂尔

55

您可以使用ALT+ Left转到上一个选项卡,或使用ALT+ Right前进。不过,此方法使用的标签切换方式类似于历史记录,因此它将转到您打开的上一个标签,如果您“返回”一次或多次,则将其转发。我知道有点奇怪,但是可以。您始终可以通过单击每个选项卡一次来“重置”历史记录。


5
在历史记录中记录有动作时(例如,转到同一类中的方法定义),该功能无用。
SiN

正如SiN所提到的,这曾经很有用,对于日食日晕来说,它的工作原理
Toskan

2
我实际上很喜欢执行诸如方法定义之类的操作的行为,这是在浏览大量文件时来回移动的一种有用方法。
易卜拉欣

1
在编辑窗口之间来回循环时,这非常有用。我喜欢将屏幕分成2个,其他方法仅循环1个标签分组(ctrl-F6除外,但我觉得很麻烦)。
Jlange


13

CTRL+ F6很好用。如果要切换到下一个/上一个选项卡,则需要执行CTRL+ Page Down/ CTRL+ Page Up


2
是的,我经常用这个。但是,当编辑器提议多个视图时(例如,当您使用XMLproperties文件时),它将在不同视图之间切换,并且您将无法再在选项卡之间切换:(
Romain Linsolas 2010年

“ CTRL + F6很好用。” 在Windows中的Eclipse Photon上,此处不执行任何操作。
ChrisJJ

10

默认值为Ctrl+ F6。您可以通过转到窗口首选项来更改它。我通常将其更改为Ctrl+ Tab,就像我们在浏览器和其他内容中切换标签所使用的一样。


我不是一个拒绝投票的人,但是我怀疑您能否使用Eclipse Indigo在Windows Vista上使用Ctrl + Tab一起映射键绑定。不可能!如果我要按Tab键,则只需更改按钮和下拉列表上的焦点即可。
tom_mai78101 2012年

@ tom_mai78101抱歉,我不知道Windows Vista的此问题。您可以尝试选择其他映射,尽管它在XP中很成功。
ass 2012年

6

自定义键绑定序列例如: CTRL + TAB 到visilble模块或编辑之间切换正向使用Eclipse RCP方向。

CTRL + TAB 第二次按下以使用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;
    }
}

定制KeyBinding序列示例:使用Eclipse RCP SHIFT + TAB 在可见的模块或编辑器Backword方向之间切换。

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;
    }
}

按键顺序

M1表示 CTRL

M2表示 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>

5

3行AutoHotKey脚本(无论如何在Windows上):

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

将其放在启动文件夹中(另存为* .ahk,必须安装AutoHotKey),并且Eclipse选项卡现在可以像Chrome或Firefox一样工作。


3

解决了!!

将方案更改为Microsoft Visual Studio

窗口>首选项>常规>键

查找方案下拉菜单

我的日食版本:

用于Web开发人员的Eclipse Java EE IDE。

版本:Juno Service Release 1内部版本:20120920-0800


3

没人会读过我的答案,但是无论如何...如果您使用的是Mac OS X,您会喜欢在Eclipse中进行历史导航的多点触摸手势:http : //sourceforge.net/apps/mediawiki/eclipsemultitch/


1
每天都阅读所有条目;)“ Eclipse Multi-Touch”看起来不错,所以+1。但是自2010年以来它似乎处于非活动状态。它仍然可以像Juno一样在最新的Eclipse 4.x中使用吗?
VonC

2

在Windows上,如果您有5键鼠标,则可以使用前进和后退代替ALT+LeftALT+Right



1

一种方法是使用VI Plugin,然后只需执行:n(和:N)即可在文件之间移动。

我就是做这个的。


1

您可以在“首选项”->“常规”->“键”中设置热键(或在“首选项”对话框顶部的过滤器字段中键入“键”。

选择“密钥”部分后,找到“下一个选项卡”和“上一个选项卡”,并通过单击“绑定”字段,然后键入您的热键为它们分配自己的热键。

点击“应用”或“确定”完成该过程。


1

我引用了VonC响应,并添加了一些内容。

  • Ctrl+ PgUpPgDn)在当前堆栈中的选项卡之间切换(编辑器和视图)
  • Ctrl+ E使用过滤列表在当前堆栈中的选项卡之间切换
  • Ctrl+ F6切换编辑器,无论使用哪个堆栈
  • Ctrl+ F7在视图之间切换,无论使用哪个堆栈

另外,还有一个错误206299已打开,可以使用Ctrl+ Tab而不是Ctrl+ PgUpPgDn)来切换选项卡。

  • 由于这将破坏可访问性,因此用户应为此设置首选项。在安装Oomph的过程中,“欢迎调查表”中可能应该有一个问题。

如果不满意,可以从窗口>首选项>常规>键中为自己分配键绑定。


1

由于某种原因,我的Eclipse设置已损坏,因此我不得不手动编辑文件/.plugins/org.eclipse.e4.workbench/workbench.xmi

我必须事先将Ctrl+ 设置Tab为类似浏览器的选项卡切换,甚至重置Eclipse首选项中的所有键绑定都不会摆脱快捷方式(它们也未显示在任何地方)。我打开了上述文件,并删除了与无效快捷方式相关的<bindings>带有标记的元素<tags>type:user</tags>



0

如果您只想在当前选项卡和先前选项卡之间切换,使用CTRL+ F6可以来回切换。要导航到历史记录中更远的选项卡,需要在“编辑器”窗口打开时使用UP/ DOWN键。这适用于Helios(Eclipse 3.6);不知道对于旧版本的Eclipse是否适用。


0

按住CTRL并按住F6直到找到所需的编辑器,然后松开。用户界面不如窗口选择那么漂亮,但是功能是相同的。


0

在SLES12计算机上,默认情况下可以使用Ctrl+ PageUpCtrl+ PageDown在选项卡之间导航。您始终可以通过在“常规”类别下的“键”部分中浏览,从“首选项”窗口中更改这些键。上面的Victor和VonC很好地解释了此过程。


0

如何在Eclipse中打开的窗口之间切换

CTRL + F7在这里工作-Windows上的Eclipse Photon。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.