Eclipse HotKey : 탭 간을 전환하는 방법?


672

Eclipse에서 열린 창 사이를 전환하는 방법은 무엇입니까? 이 Ctrl+는 F6하지만, 내가 원하는 어느 쪽이 나 한테 물어,하지만 내가 원하는 운영 체제 (의 브라우저 또는 창에서 탭처럼 스위치 Cmd/ Win+ Tab목록에서 파일을 선택하지 않고). 이클립스 에서이 쉬운 일을하는 방법?

이벤트에 핫키를 할당하려고했습니다.

  • 앞으로
  • 미래 역사
  • 다음 페이지

그러나 그것은 내가 원하는 방식으로 작동하지 않습니다.


3
내 답변에 OS 관련 단축키가 추가되었지만 재정의 할 수는 없습니다.
VonC

답변:


902
  • CTRL+ E(편집기 목록 용)
  • CTRL+ F6(목록을 통해 다음 편집기로 전환)
    '다음 편집기'키에 다른 바로 가기를 지정할 수 있습니다.

두 개의 공식 단축키이지만 둘 다 목록이 표시됩니다.

CTRL+ Page Up/ CTRL+ Page Down는 목록을 표시하지 않고 편집기를 순환 할 수 있습니다.

마지막 단축키 세트에서 흥미로운 점은
정의 할 Eclipse 키 단축키에 나열되지 않은 것입니다.
멀티 페이지 편집기에서 상속되어 OS 별 바로 가기 가 될 수 있습니다 .


Mac OS (OSX)의 바로 가기와 관련하여 Matt Ball 은 2011 년 9 월에 CTRL+ Page Up/ CTRL+ 를 다시 매핑 할 수 없다고 불평했습니다 Page Down.

OS X ( - Left- Right)의 다른 모든 탭 프로그램에서 할 수있는 것처럼 열린 탭을 넘길 수 없도록 견과류를 운전합니다 .

글쎄, 2012 년 3 월 Arthur 는 다음과 같이 대답했습니다.

방금 최신 버전의 Eclipse (3.7+)를 다운로드했습니다. 나는에 "이전 / 다음 탭을"결합 할 수있었습니다 ( - Left- Right때 나는 확신 내가 전에 할 수 없었던거야 편집기에서).
그들이 당신을들은 것 같아
그것은 역사 기반이나 그런 말이 아닌 탭에서 왼쪽에서 오른쪽으로 또는 그 반대로 탭이 예상대로 작동합니다.

매트 볼 은 다음을 확인합니다.

와우, "Java 소스 편집"을 선택하면 실제로 작동했습니다 !
불행히도 이것은 Java 이외의 파일 (JSP, XML, JS 등)로 탐색하면 SOL입니다.
이 문제에 대한 해결책은이 쌍의 "명령 복사"를 수행하고 원하는 "whens"를 모두 선택하는 것 입니다.
지금까지는 적어도 Java 및 JSP 파일에서 아름답게 작동합니다.
이것은 설정해야 할 주요 PITA이지만 한 번만 수행하면됩니다.

그의 수출 환경 설정은 여기 에서 사용할 수 있습니다 .
일단 가져 오면 모든 관련 문서 유형에 대해 다음을 볼 수 있습니다.

Mac OS 키 바인딩


7
OSX에서 처음 두 키보드 조치에 대해 CTRL을 CMD로 바꾸십시오. 그러나 편집기를 순환하려면 PgUp 또는 PgDown과 함께 CTRL을 사용해야합니다. 아래 제안 사항을 시도하는 동안 방금 찾은 유용한 KB 바로 가기 모음이 있습니다. ALT + Up 또는 ALT + Down을 사용하여 전체 코드 줄을 이동할 수 있습니다.
Tyler

5
인디고에서 다시 매핑 CTRL+Page Up/ 할 수있는 방법 CTRL+Page Down이 없을 가능성이 있습니까? OS X ( ⌘-Left⌘-Right)의 다른 모든 탭 프로그램에서 할 수있는 것처럼 열린 탭을 넘기지 못하게합니다 .
Matt Ball

24
확장되지 않은 OSX 키보드 : 기본적으로 fn + ctrl + up_arrow / down_arrow
Ben Flynn

1
@ MДΓΓБДLL OS X에서 방금 최신 버전의 Eclipse를 다운로드했습니다. 에디터에서 "이전 / 다음 탭"을 (⌘- 왼쪽 및 ⌘- 오른쪽)에 바인딩 할 수있었습니다. 이전에는 할 수 없었습니다. 그들이 당신을들은 것 같아 그것은 역사 기반이나 그런 말이 아닌 탭에서 왼쪽에서 오른쪽으로 또는 그 반대로 탭이 예상대로 작동합니다.
Arthur

1
@ MДΓΓБДLL ouch ... C / C ++ 용 Eclipse에 있다고 말했을 것 같습니다 . 미안, 내 마음을 넘지 않았다 "Java 소스 편집"에서 작동하지 않습니까? 그것이 당신의 고통을 약화시킬 수 있다면, 맨 오른쪽 탭에있을 때 ⌘-Right는 맨 왼쪽으로 나를 데려 가지 않을 것입니다 ... 또한, 정말 성가신 "거짓 오류"가 발생합니다 (오류가 표시되지만 업데이트 이후 모든 것이 완벽하게 컴파일됩니다. 당신도 그렇게하지 않기를 바랍니다!
Arthur

191

환경 설정 (예 : 창 → 환경 설정)으로 이동하여 일반 → 키를 보는 경우

"Next Tab"과 "Previous Tab"을 검색하면 다시 매핑 할 수 있습니다.

리 바인드하기 전에 Eclipse 환경 설정의 다음 탭 명령


15
Firefox에있는 것처럼 "다음 탭"-> "Ctrl + Tab" "이전 탭"-> "Ctrl + Shift + Tab"을 추가했습니다.
Bruno Bieri

19
이것은 정확히 옳은 것이 아닙니다. 이것은 탭 바에 나타난 순서대로 탭을 순환하며 가장 최근에 주문으로 전환됩니다.
Hafthor

이러한 명령을 흡수 / 무시하는 Android 레이아웃 편집기를 제외하고는 훌륭하게 작동합니다. 항상 무언가입니다!
Scott Biggs

25
@Hafthor : 메모장 ++에 익숙해 져 있으므로 Ctrl + Tab을 사용하여 마지막 활성 탭 / 편집기 사이를 전환하고 싶었습니다 . 이렇게하려면 "다음 편집기"에서 기본 Ctrl + F6을 제거하고 "이전 편집기"명령에서 Ctrl + Shift + F6을 제거하고 대신 해당 명령에 대해 Ctrl + Tab 및 Ctrl + Shift + Tab을 삽입하십시오. 어떤 이유로 든 이전 명령 을 제거 해야했습니다 (키를 변경 한 다른 경우에는 필요하지 않음).하지만 지금 작동한다는 것이 기쁩니다! 또한 놀면서 Eclipse (Juno)는 이상하게 행동했으며 일반적인 또는 변경된 키 조합을 사용하여 탭을 전환 할 수 없었지만 다시 시작하면 문제가 해결되었습니다.
FriendFX

1
> "Ctrl + Tab" "이전 탭"- -> "가 Visual Studio에서처럼 + 탭 Ctrl 키 + 시프트"나는 "다음 탭"추가 한
Memet 올슨

103

OS에서 Windows처럼 전환 ( 마지막으로 초점을 맞춘 창으로 이동 )

CTRL-F6 같은 이클립스, ALT-TAB (Windows의 경우), 탭의 목록이 표시 / 사용 가능 창 (당신은 유지하는 경우 CTRL/의 ALT하이라이트 당신이 키의 가자 때 이동합니다 하나의 우울 키). 창을 선택할 필요는 없습니다. 한 번에 여러 탭을 탐색하려면 CTRL버튼을 누른 상태에서 TAB버튼을 누릅니다. 이것은 동일한 동작입니다 ALT-TAB Windows에서합니다.

이런 의미에서 CTRL- SHIFT-F6 일식에서입니다 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는 최근에 사용한 편집기가 아닌 순수한 탭으로 표시되는 탭을 변경하기 때문에.
Jason Axelson

이것은 90 %의 시간 동안 작동합니다. 마우스 커서가 탭 목록이 나타나는 위치에 있으면 실패합니다. 커서 앞에 불운 탭이 표시되면 선택됩니다.
사용자

Eclipse 버전 3.6.2는 마우스가 어디에 있든 100 % 작동합니다. 결국 이클립스의 자연스러운 행동이 다른 키로 다시 매핑되었습니다! 고대 이클립스 버전을 시도하지는 않았지만 ...
Robino

1
"Next Editor"명령을 바인딩 해제 할 필요는 없습니다. "복사 명령"을 클릭하고 사본을 편집하여에 바인딩하십시오 CTRL-TAB.
Gillfish

1
바인드 해제 알림이 핵심입니다. 이클립스 2019-03에서는 원래 명령이 제거 될 때까지 작동하지 않아 더 이상 여러 바인딩을 지원하지 않는 것 같습니다.
Liam Steele

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

"CTRL + F6을 사용하는 것이 좋습니다." Windows의 Eclipse Photon에서는 아무 것도 수행하지 않습니다.
ChrisJJ

10

기본값은 Ctrl+ F6입니다. 창 환경 설정 으로 이동하여 변경할 수 있습니다 . 나는 보통 브라우저와 다른 것들에서 탭을 전환 할 때 사용하는 것과 같은 Ctrl+로 변경합니다 Tab.


나는 투표권이 아니지만 Eclipse Indigo를 사용하여 Windows Vista에서 Ctrl + Tab을 사용하여 키 바인딩을 매핑하는 기능에 의문을 제기합니다. 불가능 해! Tab 키를 누르면 버튼과 드롭 다운 목록의 포커스가 변경됩니다.
tom_mai78101

@ tom_mai78101 죄송합니다. Windows Vista에서이 문제를 인식하지 못합니다. XP에서는 성공적이지만 선택한 다른 매핑을 시도 할 수 있습니다.
asz

6

사용자 키 바인딩 시퀀스 예 : CTRL + TAB visilble 모듈 또는 편집자 전환 할 앞으로 이클립스 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 visilble 모듈 또는 편집자 전환 할 되돌아 가기를 이클립스 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


<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 서비스 릴리스 1 빌드 ID : 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

당신이 5 버튼 마우스가있는 경우 창에, 당신은 대신에 앞으로 다시 사용할 수 있습니다 ALT+LeftALT+Right.



1

이를 수행하는 한 가지 방법은 VI 플러그인 을 사용하는 것입니다. 그런 다음 : n (및 : N)을 사용하여 파일 사이를 이동합니다.

그게 내가하는 일입니다.


1

환경 설정-> 일반-> 키에서 단축키를 설정하거나 환경 설정 대화 상자의 상단에있는 필터 필드에 "키"를 입력하면됩니다.

키 섹션이 선택되면 다음 탭 및 이전 탭을 찾아 "바인딩"필드를 클릭 한 다음 핫키를 입력하여 고유 한 핫키를 할당하십시오.

적용 또는 확인을 눌러 프로세스를 완료하십시오.


1

VonC 응답을 인용하여 무언가를 추가합니다.

  • Ctrl+ PgUp( PgDn) 현재 스택에서 탭 간 전환 (편집기 및보기 모두)
  • Ctrl+ E필터링 된 목록을 사용하여 현재 스택의 탭 간 전환
  • Ctrl+ F6어떤 스택에 상관없이 편집기 간 전환
  • Ctrl+ F7어떤 스택에 상관없이보기 간 전환

또한 + ( ) 대신 탭 전환을 위해 + 를 사용하도록 요청하기 위해 버그 206299가 열려 있습니다.CtrlTabCtrlPgUpPgDn

  • 접근성이 깨질 수 있으므로 사용자는 이에 대한 기본 설정을 지정해야합니다. 아마도 Oomph 설치 중에 Welcome Questionnaire에 질문이있을 것입니다.

만족스럽지 않은 경우 창> 환경 설정> 일반> 키 에서 키 바인딩을 직접 지정할 수 있습니다 .


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다음 손을 release니다. UI는 창 선택만큼 아름답지는 않지만 기능은 동일합니다.


0

SLES12 시스템에서는 Ctrl+ PageUpCtrl+ PageDown를 사용하여 기본적으로 탭 사이를 탐색 할 수 있습니다 . "일반"범주 아래의 "키"섹션을 탐색하여 언제든지 기본 설정 창에서 이러한 키를 변경할 수 있습니다. 이 과정은 위의 Victor와 VonC에 의해 잘 설명되어 있습니다.


0

Eclipse에서 열린 창 사이를 전환하는 방법

CTRL + F7은 여기서 작동합니다-Windows의 Eclipse Photon.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.