Eclipse HotKey: как переключаться между вкладками?


673

Как я могу переключаться между открытыми окнами в Eclipse? Есть Ctrl+ F6, но он спрашивает меня, какой я хочу, но я хочу переключать его, как вкладки в браузере или окно в операционной системе ( Cmd/ Win+ Tab) без выбора файла из списка. Как сделать это легко в Eclipse?

Я попытался назначить горячую клавишу для событий:

  • вперед
  • вперед история
  • Следующая страница

но это не работает так, как я хочу.


3
В мой ответ добавлены ярлыки для конкретных ОС, но вы не можете их переопределить.
VonC

Ответы:


903
  • CTRL+ E(для списка редактора)
  • CTRL+ F6(для перехода к следующему редактору через список)
    Вы можете назначить другую комбинацию клавиш клавише «Следующий редактор».

это два официальных ярлыка, но оба они включают отображаемый список.

CTRL+ Page Up/ CTRL+ Page Downможет переключаться между редакторами без отображения списка.

Что интересно в последнем наборе ярлыков:
они не перечислены в сочетаниях клавиш Eclipse Keys для определения.
Они могут быть унаследованы от многостраничного редактора, что делает их ярлыком для конкретной ОС .


Что касается ярлыков в Mac OS (OSX), Мэтт Болл жаловался в сентябре 2011 года на невозможность переназначения CTRL+ Page Up/ CTRL+ Page Down:

Это сводит меня с ума от невозможности пролистывать открытые вкладки, как я могу почти во всех других программах с вкладками в OS X ( - Leftи - Right).

Ну, в марте 2012 года Артур ответил:

Я только что скачал последнюю версию Eclipse (3.7+). Я был в состоянии связать «Предыдущая / Следующая вкладка» с ( - Leftи - Right) в редакторе, что я уверен, что я не мог сделать раньше.
Думаю, они вас слышали.
Это работает так, как вы ожидаете, вкладки идут слева направо и наоборот, а не на исторической основе или какой-то ерунде.

Мэтт Болл подтверждает:

Ух ты, выбор "Редактирование Java-источника" действительно сработал !
Теперь, к сожалению, это означает, что я SOL, если я перехожу к файлу не-Java (JSP, XML, JS и т. Д.).
Исправление для этого состоит в том, чтобы «скопировать команду» для этой пары и выбрать все «когда», которые я хочу .
Пока что, по крайней мере, он прекрасно работает для файлов Java и JSP.
Это основной PITA для настройки, но это разовая вещь.

Его экспортированные настройки доступны здесь для вас, чтобы попробовать.
После импорта вы должны увидеть для всех соответствующих типов документов:

Связки клавиш Mac Os


7
В OSX замените CTRL на CMD для первых двух действий клавиатуры. Но вам все равно нужно будет использовать CTRL с PgUp или PgDown, чтобы переключаться между редакторами. Еще один набор полезных ярлыков КБ, который я только что нашел, опробовав некоторые из предложенных ниже советов: вы можете использовать ALT + Up или ALT + Down для перемещения всей строки кода.
Тайлер

5
Нет шансов, что теперь есть способ переназначить CTRL+Page Up/ CTRL+Page Downв Индиго, не так ли? Это сводит меня с ума от невозможности пролистывать открытые вкладки, как я могу почти во всех других программах с вкладками в OS X ( ⌘-Leftи ⌘-Right).
Мэтт Болл

24
На нерасширенной клавиатуре OSX: по умолчанию fn + ctrl + up_arrow / down_arrow.
Бен Флинн

1
@ MДΓΓБДLL На OS X я только что скачал последнюю версию Eclipse. Я был в состоянии связать «Предыдущая / Следующая вкладка» с (Left-Left и ⌘-Right), когда в редакторе, что я уверен, что я не мог сделать раньше. Думаю, они вас слышали. Это работает так, как вы ожидаете, вкладки идут слева направо и наоборот, а не на исторической основе или какой-то ерунде.
Артур

1
@ MДΓΓБДLL ой ... Думаю, мне следовало сказать, что я был на Eclipse для C / C ++ . Извините, не приходило мне в голову. Разве это не работает с «Редактированием Java Source»? Если это может ослабить вашу боль, когда я на крайнем правом вкладке, Right-Право не приведет меня к крайнему левому ... Кроме того, я получаю действительно раздражающие "ложные ошибки" (ошибки отображаются, но все отлично компилируется) с момента обновления. Надеюсь, ты тоже этого не понимаешь!
Артур

191

Если вы идете в Настройки (например, Окно → Настройки) и смотрите Общие → Клавиши

а затем выполните поиск «Следующая вкладка» и «Предыдущая вкладка», вы можете переназначить их.

Команда Next Tab в настройках Eclipse, перед повторной привязкой


15
Я добавил «Следующая вкладка» -> «Ctrl + Tab» «Предыдущая вкладка» -> «Ctrl + Shift + Tab», как в Firefox
Бруно Биери

19
Это не совсем то, что нужно. Это просто циклически переключает вкладки в том порядке, в котором они отображаются на панели вкладок по сравнению с последним переключенным порядком.
Hafthor

Прекрасно работает, за исключением редактора макетов Android, который, кажется, поглощает / игнорирует эти команды. Это всегда что-то!
Скотт Биггс

25
@Hafthor: я привык к Notepad ++, поэтому я хотел, чтобы Ctrl + Tab переключался между последними активными вкладками / редакторами. Чтобы сделать это, удалите стандартные Ctrl + F6 из «Следующего редактора» и Ctrl + Shift + F6 из команд «Предыдущего редактора» и вместо этого вставьте Ctrl + Tab и Ctrl + Shift + Tab для этих команд. Обратите внимание, что мне пришлось удалить старые команды по какой-то причине (что мне не нужно было делать в других случаях, когда я менял ключи), но рад, что теперь это работает! Кроме того, во время игры Eclipse (Juno) действовал странно, и я не мог переключать вкладки, используя обычные или измененные комбинации клавиш, но перезапуск исправил это.
FriendFX

1
Я добавил «следующая вкладка» -> «Ctrl + Tab» «предыдущая вкладка» -> «Ctrl + Shift + Tab», как в Visual Studio
Memet Olsen

103

Переключаться как Windows в ОС ( перейти к окну, в котором был последний фокус )

CTRL-F6 в Eclipse, например ALT-TAB (в окнах), отображает список доступных вкладок / окон (если вы удерживаете нажатой клавишу CTRL/ ALT) и выделяет ту, к которой вы перейдете, когда отпустите эту клавишу. Вам не нужно выбирать окно. Если вы хотите пересечь несколько вкладок одновременно, CTRLнажмите и TABудерживайте кнопку. Это поведение идентично ALT-TAB в Windows.

В этом смысле, CTRL- SHIFT-F6 в затмении - ALT- SHIFT-TAB аналог. Лично я изменяю эти привязки в Eclipse, чтобы они походили на Visual Studio. Т.е. CTRL-TAB и CTRL- SHIFT-TAB и я делаю это так:

Окно> Настройки> Общие> Ключи

Затем установите «Следующий редактор» = Ctrl+Tab и «Предыдущий редактор» = Ctrl+ Shift+Tab . Не забудьте нажать «Unbind Command» перед установкой новой привязки.

Переключить как браузер ( перейти на вкладку справа от текущей вкладки )

Это CTRL-PageDown идти направо, CTRL-PageUp идти налево. К сожалению, когда вы попадаете в конец списка вкладок (скажем, в крайнюю правую вкладку), а затем снова пытаетесь перейти вправо, Eclipse не переходит на первую вкладку (в крайнем левом углу), как это делает большинство браузеров.


12
Это самый недооцененный ответ в этой теме. Тем более, что Juno изменяет, какие вкладки отображаются как чистый список, а не как недавно использованные редакторы.
Джейсон Аксельсон

Это работает в 90% случаев. Сбой, если курсор мыши находится там, где всплывает список вкладок. Любая неудачная вкладка, которая появляется перед курсором, выбирается.
User1

Eclipse версии 3.6.2 работает 100% времени, где бы ни находилась мышь. В конце концов, это естественное поведение Eclipse, переназначенное на разные ключи! Хотя еще не пробовали древние версии Eclipse ...
Robino

1
Вам не нужно отвязывать команду «Следующий редактор». Просто нажмите «Копировать команду», отредактируйте копию и свяжите ее с CTRL-TAB.
Gillfish

1
Отмена напоминания является ключевым. В eclipse 2019-03 он не работал до тех пор, пока исходная команда не была удалена, и, похоже, больше не поддерживает множественные привязки.
Лиам Стил

55

Вы можете использовать ALT+, Leftчтобы перейти на предыдущую вкладку, или ALT+, Rightчтобы перейти вперед. Этот метод использует переключение вкладок, как и история, поэтому он будет переходить на предыдущую открытую вкладку и переходить вперед, если вы вернулись «назад» один или несколько раз. Немного странно, я знаю, но это работает. Вы всегда можете «сбросить» историю, щелкнув по каждой вкладке один раз.


5
Бесполезно, когда в истории записаны действия, такие как переход к определению метода в том же классе.
SiN

Раньше это было полезно, для
гелий-

2
Мне на самом деле нравится поведение, когда оно относится к таким действиям, как определение метода, это полезный способ переходить назад и вперед при навигации по множеству файлов.
Ибрагим

1
Это прекрасно работает при циклическом переключении между окнами редактирования. Мне нравится разделять мой экран на 2, а другие методы - только циклическое группирование вкладок 1 (кроме ctrl-F6, но я считаю это громоздким).
Jlange


13

CTRL+ F6хорошо использовать. Если вы хотите переключиться на следующую / предыдущую вкладку, вам нужно сделать CTRL+ Page Down/ CTRL+ Page Up.


2
Да, я часто использую это. Однако, когда редактор предлагает несколько представлений (например, когда вы работаете с файлом XMLили propertiesфайлом), он переключается между различными представлениями, и вы больше не можете переключаться между вкладками :(
Romain Linsolas 25.02.10

«CTRL + F6 хорошо использовать». Здесь ничего не происходит, на Eclipse Photon в Windows.
ChrisJJ

10

По умолчанию это Ctrl+ F6. Вы можете изменить его, перейдя в окно настроек . Я обычно изменяю его на Ctrl+ Tab, то же самое мы используем при переключении вкладок в браузере и других вещах.


Я не сторонник, но я подвергаю сомнению вашу способность сопоставлять привязку клавиш вместе с помощью Ctrl + Tab в Windows Vista, используя Eclipse Indigo. Это невозможно! Если бы я нажал Tab, он просто изменил бы фокус на кнопках и выпадающем списке.
tom_mai78101

@ tom_mai78101 К сожалению, я не знаю об этой проблеме с Windows Vista. Вы можете попробовать другое сопоставление по вашему выбору, хотя оно успешно в XP.
просит

6

Пример пользовательской последовательности связывания клавиш: CTRL + TAB для переключения между видимыми модулями или направлением редактора вперед с помощью 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;
    }
}

Пример пользовательской последовательности связывания клавиш: SHIFT + TAB для переключения между видимыми модулями или направлением обратного слова редактора с помощью 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;
    }
}

Последовательность клавиш

М1 означает CTRL

М2 означает 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

Окно> Настройки> Общие> Ключи

Ищите выпадающий список Схемы

Моя версия затмения:

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 года. Будет ли он работать с недавним Eclipse 4.x, таким как Juno?
VonC

2

На окнах, если у вас есть 5-кнопочная мышь, вы можете использовать вперед и назад вместо ALT+Leftи ALT+Right.


2

Сочетание клавиш для возврата на предыдущую вкладку

Alt+ LeftArrowчтобы вернуться.


1

Один из способов сделать это - использовать плагин VI , а затем просто выполнить: n (и: N) для перехода между файлами.

Это то, чем я занимаюсь.


1

Вы можете установить горячие клавиши в «Предпочтения» -> «Основные» -> «Ключи» (или просто ввести «ключи» в поле фильтра в верхней части диалогового окна «Установки»).

После выбора раздела «Ключи» найдите «Следующая вкладка» и «Предыдущая вкладка» и назначьте им собственную горячую клавишу, щелкнув в поле «Привязка», а затем набрав свои горячие клавиши.

Нажмите Apply или OK, чтобы завершить процесс.


1

Я цитирую ответ VonC, добавляя что-то.

  • Ctrl+ PgUp( PgDn) для переключения между вкладками в текущем стеке (редакторы и представление)
  • Ctrl+ Eпереключаться между вкладками в текущем стеке, используя отфильтрованный список
  • Ctrl+ F6переключаться между редакторами, независимо от того, какой стек
  • Ctrl+ F7переключаться между представлениями независимо от того, какой стек

Плюс, есть ошибка 206299, открытая для запроса, использующая Ctrl+ Tabдля переключения вкладок вместо Ctrl+ PgUp( PgDn).

  • Поскольку это нарушит доступность, пользователь должен установить для этого предпочтение. Возможно, в вопроснике приветствия должен быть вопрос во время установки Oomph.

Если вы не удовлетворены, вы можете назначить привязку клавиш в меню «Окно»> «Установки»> «Основные»> «Клавиши» .


1

По некоторым причинам мои настройки Eclipse были повреждены, поэтому мне пришлось вручную редактировать файл /.plugins/org.eclipse.e4.workbench/workbench.xmi

Я должен был предварительно установить Ctrl+ Tabна переключение в виде браузера, и даже сброс всех привязок клавиш в настройках Eclipse не избавит от ярлыков (они также нигде не отображались). Я открыл вышеупомянутый файл и удалил <bindings>элементы, помеченные как <tags>type:user</tags>связанные с неработающими ярлыками.


1

Справа налево: ctrl+ shift+ 9 или ctrl+ shift+ Page Upили ctrl+Page Up

Слева направо: ctrl+ shift+ 3или ctrl+ shift+ Page Downили ctrl+Page Down


0

Если вы хотите просто переключаться между текущей и предыдущей вкладками, использование CTRL+ F6переключит вас назад и вперед. Чтобы перейти на вкладку, находящуюся дальше в вашей истории, вам нужно использовать клавиши UP/, DOWNкогда открыто окно «Редакторы». Это работает с Гелиосом (Eclipse 3.6); не уверен, правда ли это для более старых версий Eclipse.


0

Удерживайте CTRLи нажимайте, F6пока не дойдете до нужного редактора, затем отпустите. Пользовательский интерфейс не так хорош, как выбор окна, но функциональность та же.


0

На машине SLES12 вы можете использовать Ctrl+ PageUpи Ctrl+ PageDownдля навигации по вкладкам по умолчанию. Вы всегда можете изменить эти ключи из окна настроек, просматривая раздел «ключи» в категории «Общие». Виктор и VonC хорошо объяснили этот процесс выше.


0

Как я могу переключаться между открытыми окнами в Eclipse

CTRL + F7 работает здесь - Eclipse Photon на Windows.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.