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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

    Подключения клавиш Mac Os

    Если вы перейдете в «Настройки» (например, «Окно» → «Настройки») и просмотрите «Основные» → «Ключи»

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

    Следующая вкладка в настройках Eclipse, прежде чем перевязать

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

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

    В этом смысле CTRLSHIFTF6 в eclipse является аналогом ALTSHIFTTAB . Лично я изменяю эти привязки в Eclipse как Visual Studio. Т.е. CTRLTAB и CTRLSHIFTTAB, и я делаю это вот так:

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

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

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

    Это CTRLPageDown, чтобы идти вправо, CTRLPageUp, чтобы идти влево. Разочаровательно, когда вы дойдете до конца списка вкладок (скажем, за правой правой вкладкой), а затем попробуйте снова вернуться. Eclipse не циклично перемещается на первую вкладку (в крайнем левом), как это делали большинство браузеров.

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

    • Right боковой ход: Ctrl + страница Вниз
    • Перемещение Left стороны: CTRL + страница вверх

    дополнительный

    • получить список открытых вкладок: Ctrl + F6

    Eclipse другие короткие сокращения

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

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

    Пользовательский пример последовательности клавиш : 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 :  SHIFT + TAB  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 для переключения между visilble Modules или Editors Backword с использованием 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

    M2 означает SHIFT

    plugin.xml


                 

    3-строчный скрипт AutoHotKey (в Windows все равно):

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

    Поместите это в свою папку автозагрузки (сохраните его как * .ahk, должен быть установлен AutoHotKey), а вкладки Eclipse теперь будут работать как Chrome или Firefox.

    Решено !!

    Изменить схему на Microsoft Visual Studio

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

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

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

    Eclipse Java EE IDE для веб-разработчиков.

    Версия: Juno Service Release 1 Код сборки: 20120920-0800

    Никто никогда не будет читать мой ответ, но в любом случае … Если вы находитесь в Mac OS X, вам понравятся жесты с несколькими касаниями для навигации по истории в Eclipse: http://sourceforge.net/apps/mediawiki/eclipsemultitch/

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

    Клавиша быстрого доступа к предыдущей вкладке

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

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

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

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

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

    Нажмите «Применить» или «ОК», чтобы завершить процесс.

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

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

    Кроме того, есть возможность открыть Bug 206299 с помощью Ctrl + Tab для переключения вкладок вместо Ctrl + PgUp ( PgDn ).

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

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

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

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

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

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

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

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

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

    Давайте будем гением компьютера.