Eclipse HotKey: як перемикатися між вкладками?


672

Як я можу перемикатися між відкритими вікнами в Eclipse? Є Ctrl+ F6, але він запитує мене, який я хочу, але я хочу переключити його як вкладки в браузері або вікно в операційній системі ( Cmd/ Win+ Tab) без вибору файлів зі списку. Як зробити цю легку річ у Eclipse?

Я намагався призначити гарячу клавішу для подій:

  • вперед
  • вперед історія
  • Наступна сторінка

але це працює не так, як я хочу.


3
У мою відповідь додано специфічні ярлики для ОС, але ви не можете їх переглядати.
VonC

Відповіді:


902
  • CTRL+ E(для списку редактора)
  • CTRL+ F6(для переходу до наступного редактора через список)
    Клавіші "Наступний редактор" можна призначити ще один ярлик.

є двома офіційними ярликами, але вони обидва містять список, який відображається.

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

Що цікаво з останнім набором ярликів:
вони не перелічені в ярликах клавіш Eclipse, які слід визначити.
Вони можуть бути успадковані від редактора багатосторінкових програм, що робить їх специфічним ярликом для ОС .


Щодо ярликів на 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.
Це головний ПДФА, який потрібно створити, але це лише разова річ.

Його експортні налаштування доступні тут, щоб спробувати.
Після імпорту ви повинні побачити всі відповідні типи документів:

Основні прив’язки Mac OS


7
У OSX замініть CTRL на CMD для перших двох дій клавіатури. Але вам все одно доведеться використовувати CTRL з PgUp або PgDown, щоб перейти через редактори. Ще один набір корисних ярликів KB, який я щойно знайшов, випробовуючи деякі пропозиції нижче: ви можете використовувати ALT + Вгору або ALT + Вниз для переміщення цілого рядка коду.
Тайлер

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

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

1
@ MДΓΓБДLL У ОС X я тільки що завантажив останню версію Eclipse. Мені вдалося прив’язати "Попередню / Наступну вкладку" до ("Вліво" і "Вправо") в Редакторі, що я впевнений, що раніше не міг. Тож я здогадуюсь, що вони вас почули. Це працює так, як ви очікували, вкладки йдуть зліва направо і навпаки, а не на основі історії чи подібних дурниць.
Артур

1
@ MДΓΓБДLL ouch ... Я думаю, я мав би сказати, що я був на Eclipse для C / C ++ . Вибачте, не передумав. Це не працює з "Редагуванням джерела Java"? Якщо це може зменшити ваш біль, коли я перебуваю в крайній правій вкладці, ⌘-Правий не відведе мене до крайньої лівої ... Також я отримую дійсно дратує "помилкові помилки" (помилки відображаються, але все складається ідеально) з моменту оновлення. Сподіваюсь, ви теж цього не зрозумієте!
Артур

191

Якщо ви перейдете до Налаштування (наприклад, Вікно → Налаштування) та перегляньте Загальне → Клавіші

а потім шукайте "Наступна вкладка" та "Попередня вкладка", ви можете їх перезавантажити.

Наступна команда Tab в Налаштуваннях Eclipse, перед повторним прив'язкою


15
Я додав "наступна вкладка" -> "Ctrl + Tab" "попередня вкладка" -> "Ctrl + Shift + Tab", як це в Firefox
Bruno Bieri

19
Це не зовсім правильна річ. Це просто переходить по вкладках у тому порядку, який вони відображаються на панелі вкладок, порівняно з останніми переключеними на замовлення.
Хафтор

Чудово працює, за винятком редактора верстки Android, який, здається, поглинає / ігнорує ці команди. Це завжди щось!
Скотт Біггс

25
@Hafthor: Я звик до Notepad ++, тому хотів, щоб вкладка Ctrl + переходила між останніми активними вкладками / редакторами. Для цього видаліть за замовчуванням 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 (на windows), відкриває список доступних вкладок / вікон (якщо ви натискаєте 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 . Не забудьте натиснути "Скасувати команду" перед тим, як встановити нову прив'язку.

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

Це CTRL-PageDown йти направо, CTRL-PageUp йти вліво. Розчаровуючи, коли ви дістаєтеся до кінця списку вкладок (скажімо, крайній правий вкладку), а потім спробуйте піти праворуч ще раз. Затемнення не обертається до першої вкладки (в крайній лівій частині), як це було б у більшості браузерів.


12
Це найнижча відповідь у цій темі. Тим більше, що Juno змінює, вкладки яких є чистим списком, а не останніми редакторами.
Джейсон Аксельсон

Це працює 90% часу. Це не вдається, якщо курсор миші опинився там, де з'являється список вкладок. Що б не пощастило спливати вкладку перед курсором.
Користувач1

Eclipse версія 3.6.2 працює 100% часу, де б миша не знаходилась. Зрештою, природна поведінка Eclipse переосмислена на різні клавіші! Не пробували давніх версій Eclipse ...
Robino

1
Не потрібно від’єднувати команду "Наступний редактор". Просто натисніть «Копіювати команду» та відредагуйте копію та зв’яжіть її CTRL-TAB.
Gillfish

1
Ключове значення відключення нагадування. У затемненні 2019-03 він не працював, поки не було видалено оригінальну команду, схоже, вона більше не підтримує декілька прив’язок.
Ліам Стіл

55

Ви можете використовувати ALT+ Leftдля переходу до попередньої вкладки або ALT+ Rightдля переходу вперед. Цей метод використовує комутацію вкладок як історію, тому він перейде до попередньої відкритої вкладки та вперед, якщо ви повернулися "назад" раз чи більше. Трохи дивно, я знаю, але це працює. Ви завжди можете "скинути" історію, клацнувши по кожній вкладці один раз.


5
Не корисно, якщо в історії записані дії, такі як перехід до визначення методу в одному класі.
SiN

це було корисно, для
геліосів

2
Мені фактично подобається поведінка, коли мова йде про дії, такі як перехід до визначення методу, це корисний спосіб повертатися вперед і назад під час навігації по багатьох файлах.
Ібрагім

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


13

CTRL+ F6корисно використовувати. Якщо ви хочете перейти на наступну / попередню вкладку, вам потрібно зробити CTRL+ Page Down/ CTRL+ Page Up.


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

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

Ключова послідовність

M1 означає 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

Ви можете встановити гарячі клавіші в розділі Налаштування -> Загальні -> Клавіші (або просто введіть "клавіші" в поле фільтра вгорі діалогового вікна "Налаштування".

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

Натисніть Застосувати або ОК, щоб закінчити процес.


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коли вікно редакторів відкрито. Це працює з Helios (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.