Eclipse HotKey: bagaimana cara beralih antar tab?

672

Bagaimana saya bisa beralih di antara jendela yang terbuka di Eclipse? Ada Ctrl+ F6, tetapi ia menanyakan saya mana yang saya inginkan, tetapi saya ingin mengubahnya seperti tab di browser atau jendela di sistem operasi ( Cmd/ Win+ Tab) tanpa pemilihan file dari daftar. Bagaimana cara melakukan hal yang mudah ini di Eclipse?

Saya sudah mencoba menetapkan hotkey untuk acara:

  • meneruskan
  • sejarah ke depan
  • halaman selanjutnya

tetapi itu tidak bekerja seperti yang saya inginkan.

Skay
sumber
3
Menambahkan pintasan khusus OS dalam jawaban saya, tetapi Anda tidak dapat mendefinisikannya kembali.
VonC

Jawaban:

902
  • CTRL+ E(untuk daftar editor)
  • CTRL+ F6(untuk beralih ke editor berikutnya melalui daftar)
    Anda dapat menetapkan pintasan lain ke tombol 'Editor Selanjutnya'.

adalah dua cara pintas resmi, tetapi keduanya melibatkan daftar yang ditampilkan.

CTRL+ Page Up/ CTRL+ Page Downdapat menelusuri editor tanpa menampilkan daftar.

Yang menarik dengan set pintasan terakhir adalah:
mereka tidak terdaftar dalam pintasan Eclipse Keys untuk didefinisikan.
Mereka mungkin diwarisi dari editor multi-halaman, menjadikannya jalan pintas khusus OS .


Mengenai pintasan di Mac OS (OSX), Matt Ball mengeluh pada September 2011 karena tidak dapat memetakan kembali CTRL+ Page Up/ CTRL+ Page Down:

Ini membuat saya gila untuk tidak dapat membalik tab terbuka seperti yang saya bisa di hampir semua program tab lainnya di OS X ( - Leftdan - Right).

Ya, pada bulan Maret 2012, Arthur menjawab:

, Saya baru saja mengunduh versi terbaru Eclipse (3.7+). Saya dapat mengikat "tab Sebelumnya / Berikutnya" ke ( - Leftdan - Right) ketika di Editor, yang saya yakin tidak bisa saya lakukan sebelumnya.
Jadi saya kira mereka mendengar Anda.
Ini berfungsi seperti yang Anda harapkan, tab dari kiri ke kanan dan sebaliknya, bukan berdasarkan sejarah atau omong kosong seperti itu.

Matt Ball mengkonfirmasi:

oh wow, memilih "Editing Java Source" benar-benar berhasil !
Sekarang, sayangnya ini berarti bahwa saya SOL jika saya nav ke file non-Java (JSP, XML, JS, dll.).
Cara mengatasinya adalah dengan "menyalin perintah" untuk pasangan ini, dan memilih semua "ketika" yang saya inginkan .
Sejauh ini setidaknya berfungsi dengan baik untuk file Java dan JSP.
Ini adalah PITA utama untuk diatur, tetapi ini hanya hal satu kali.

Nya preferensi diekspor tersedia di sini bagi Anda untuk mencoba.
Setelah diimpor, Anda akan melihat, untuk semua jenis dokumen yang relevan:

Ikatan kunci Mac Os

VONC
sumber
7
Pada OSX, ganti CTRL dengan CMD untuk dua aksi keyboard pertama. Tetapi Anda masih perlu menggunakan CTRL dengan PgUp atau PgDown untuk menelusuri editor. Satu set cara pintas KB yang berguna yang baru saja saya temukan ketika mencoba beberapa saran di bawah ini: Anda dapat menggunakan ALT + Atas atau ALT + Bawah untuk memindahkan seluruh baris kode.
Tyler
5
Tidak ada kemungkinan bahwa sekarang ada cara untuk memetakan kembali CTRL+Page Up/ CTRL+Page Downdi Indigo, kan? Ini membuat saya gila untuk tidak dapat membalik tab terbuka seperti yang saya bisa di hampir semua program tab lainnya di OS X ( ⌘-Leftdan ⌘-Right).
Matt Ball
24
Pada keyboard OSX yang tidak diperpanjang: fn + ctrl + up_arrow / down_arrow secara default.
Ben Flynn
1
@ MДΓΓБДLL Pada OS X, saya baru saja mengunduh Eclipse versi terbaru. Saya dapat mengikat "tab Sebelumnya / Berikutnya" ke (⌘-Kiri dan ⌘-Kanan) ketika di Editor, yang saya yakin tidak bisa saya lakukan sebelumnya. Jadi saya kira mereka mendengar Anda. Ini berfungsi seperti yang Anda harapkan, tab dari kiri ke kanan dan sebaliknya, bukan berdasarkan sejarah atau omong kosong seperti itu.
Arthur
1
@ MДΓΓБДLL aduh ... Saya kira saya seharusnya mengatakan bahwa saya menggunakan Eclipse untuk C / C ++ . Maaf, tidak terlintas di benak saya. Tidakkah ini bekerja dengan "Mengedit Sumber Java"? Jika itu dapat mengurangi rasa sakit Anda, ketika saya berada di tab paling kanan, ⌘-Kanan tidak akan membawa saya ke paling kiri ... Juga, saya mendapatkan "kesalahan palsu" yang sangat mengganggu (kesalahan ditampilkan tetapi semuanya mengkompilasi dengan sempurna) sejak pembaruan. Semoga Anda tidak mendapatkannya juga!
Arthur
191

Jika Anda pergi ke Preferensi (mis. Window → Preferences) dan melihat General → Keys

dan kemudian mencari "Tab Berikutnya" dan "Tab Sebelumnya", Anda dapat memetakannya kembali.

Perintah Tab Selanjutnya di Eclipse Preferences, sebelum rebinding

pemenang
sumber
15
Saya telah menambahkan "tab berikutnya" -> "Ctrl + Tab" "tab sebelumnya" -> "Ctrl + Shift + Tab" seperti di Firefox
Bruno Bieri
19
Ini bukan hal yang benar. Ini hanya siklus melalui tab dalam urutan mereka muncul di bilah tab vs paling baru-baru ini beralih ke pesanan.
Hafthor
Berfungsi bagus, kecuali untuk editor tata letak Android, yang tampaknya menyerap / mengabaikan perintah ini. Itu selalu sesuatu!
Scott Biggs
25
@Hafthor: Saya terbiasa dengan Notepad ++, jadi saya ingin Ctrl + Tab untuk beralih di antara tab / editor aktif terakhir . Untuk melakukan ini, hapus Ctrl + F6 default dari "Next Editor" dan Ctrl + Shift + F6 dari perintah "Editor Sebelumnya" dan masukkan Ctrl + Tab dan Ctrl + Shift + Tab untuk perintah tersebut. Perhatikan bahwa saya harus menghapus perintah lama untuk beberapa alasan (yang tidak perlu saya lakukan dalam kasus lain di mana saya mengubah kunci), tetapi senang bahwa itu berfungsi sekarang! Juga, saat bermain-main, Eclipse (Juno) bertingkah aneh dan saya tidak bisa mengganti tab menggunakan salah satu kombinasi tombol yang biasa atau diubah, tetapi restart tetap itu.
FriendFX
1
Saya telah menambahkan "tab berikutnya" -> "Ctrl + Tab" "tab sebelumnya" -> "Ctrl + Shift + Tab" seperti di Visual Studio
Memet Olsen
103

Beralih seperti Windows di OS ( buka jendela yang terakhir fokus )

CTRL-F6 di Eclipse, seperti ALT-TAB (di windows), menampilkan daftar tab / windows yang tersedia (jika Anda membiarkan CTRL/ ALTkunci ditekan) dan menyoroti yang Anda akan lompat ketika Anda melepaskan kunci ini. Anda tidak harus memilih jendela. Jika Anda ingin melintasi beberapa tab sekaligus tahan CTRLtombol dan ketuk TABtombol. Ini adalah perilaku yang identik dengan ALT-TAB pada Windows.

Dalam hal ini, CTRL- SHIFT-F6 dalam gerhana adalah ALT- SHIFT-TAB analog. Secara pribadi, saya mengubah binding ini di Eclipse menjadi seperti Visual Studio. Yaitu CTRL-TAB dan CTRL- SHIFT-TAB dan saya melakukannya seperti ini:

Jendela> Preferensi> Umum> Tombol

Kemudian atur "Editor Selanjutnya" = Ctrl+Tab dan "Editor Sebelumnya" = Ctrl+ Shift+Tab . Jangan lupa klik "Batalkan Perintah" sebelum mengatur ikatan baru.

Beralih seperti browser ( buka tab di sebelah kanan tab saat ini )

Ini CTRL-PageDown ke kanan, CTRL-PageUp ke kiri. Frustasi, ketika Anda sampai di ujung daftar tab (katakan tab tangan kanan) dan kemudian coba ke kanan lagi Eclipse tidak berputar ke tab pertama (paling kiri) seperti kebanyakan browser akan.

Robino
sumber
12
Ini adalah jawaban yang paling rendah peringkatnya di utas ini. Terutama karena Juno mengubah tab mana yang ditampilkan sebagai daftar murni dan bukan editor yang baru saja digunakan.
Jason Axelson
Ini berfungsi 90% dari waktu. Gagal jika kursor mouse Anda berada di tempat daftar tab muncul. Tab sial apa pun yang muncul di depan kursor akan dipilih.
Pengguna1
Eclipse versi 3.6.2 bekerja 100% dari waktu, di mana pun mouse berada. Bagaimanapun, ini adalah perilaku alami Eclipse yang dipetakan ulang ke kunci yang berbeda! Belum mencoba versi Eclipse kuno ...
Robino
1
Anda tidak harus melepaskan ikatan perintah "Editor Selanjutnya". Cukup klik "Salin Perintah" dan edit salinannya dan ikat padanya CTRL-TAB.
Gillfish
1
Pengingat yang tidak mengikat adalah kunci. Dalam gerhana 2019-03, itu tidak berfungsi sampai perintah yang asli dihapus, tampaknya tidak lagi mendukung beberapa binding.
Liam Steele
55

Anda dapat menggunakan ALT+ Leftuntuk membuka tab sebelumnya, atau ALT+ Rightuntuk maju. Metode ini menggunakan tab-switching like history, jadi metode ini akan menuju ke tab sebelumnya yang Anda buka, dan meneruskan jika Anda telah "kembali" sekali atau lebih. Agak aneh, saya tahu, tapi berhasil. Anda selalu dapat "mengatur ulang" riwayat dengan mengklik setiap tab sekali.

peirix
sumber
5
Tidak berguna ketika ada tindakan yang direkam dalam riwayat, seperti pergi ke definisi metode di kelas yang sama.
SiN
ini dulu berguna, untuk eclipse helios ini berfungsi seperti yang disebutkan oleh SiN
Toskan
2
Saya sebenarnya menyukai perilaku di mana ia pergi ke tindakan seperti pergi ke definisi metode, ini adalah cara yang berguna untuk bolak-balik ketika menavigasi banyak file.
Ibrahim
1
Ini bekerja sangat baik ketika bersepeda bolak-balik antara mengedit jendela. Saya suka membagi layar saya menjadi 2 dan metode lainnya hanya mengelompokkan tab 1, (kecuali ctrl-F6, tapi saya merasa tidak praktis).
Jlange
13

CTRL+ F6bagus untuk digunakan. Jika Anda ingin beralih ke tab berikutnya / sebelumnya, Anda perlu melakukan CTRL+ Page Down/ CTRL+ Page Up.

fastcodejava
sumber
2
Ya, saya sering menggunakan yang ini. Namun, ketika editor mengusulkan tampilan multipel (misalnya saat Anda mengerjakan file XMLatau properties), ia beralih di antara tampilan yang berbeda, dan Anda tidak dapat beralih di antara tab lagi :(
Romain Linsolas
"CTRL + F6 baik untuk digunakan." Tidak melakukan apa pun di sini, di Eclipse Photon di Windows.
ChrisJJ
10

Standarnya adalah Ctrl+ F6. Anda dapat mengubahnya dengan masuk ke preferensi Window . Saya biasanya mengubahnya ke Ctrl+ Tab, sama seperti yang kita gunakan dalam berpindah tab di browser dan hal-hal lain.

ASG
sumber
Saya bukan pemilih bawah, tapi saya mempertanyakan kemampuan Anda untuk memetakan pengikatan kunci dengan Ctrl + Tab bersamaan di Windows Vista, menggunakan Eclipse Indigo. Tidak mungkin! Jika saya menekan Tab, itu hanya akan mengubah fokus pada tombol dan daftar drop-down.
tom_mai78101
@ tom_mai78101 Maaf, saya tidak mengetahui masalah ini dengan Windows Vista. Anda dapat mencoba pemetaan yang berbeda dari pilihan Anda, meskipun berhasil di XP.
asgs
6

Contoh urutan Custom KeyBinding: CTRL + TAB untuk beralih di antara Modul yang dapat dilihat atau Editor Arah maju menggunakan Eclipse RCP.

Anda menekan CTRL + TAB kedua kalinya untuk membuka editor lain dan menutup editor sebelumnya menggunakan 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;
    }
}

Contoh urutan KeyBinding Kustom: SHIFT + TAB untuk beralih antara Modul visilble atau Editors Backword arah menggunakan 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;
    }
}

Urutan Kunci

M1 artinya CTRL

M2 artinya 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>
Chetan Bhagat
sumber
5

3 baris skrip Autohotkey (pada Windows, tetap):

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

Masukkan ini ke folder startup Anda (simpan sebagai * .ahk, harus sudah menginstal Autohotkey) dan tab Eclipse sekarang akan berfungsi seperti Chrome atau Firefox.

Zook
sumber
3

Terpecahkan!!

Ubah Skema ke Microsoft Visual Studio

Jendela> Preferensi> Umum> Tombol

Cari dropdown Skema

Versi gerhana saya:

Eclipse Java EE IDE untuk Pengembang Web.

Versi: Juno Service Release 1 Build id: 20120920-0800

sumitarora
sumber
3

Tidak ada yang akan pernah membaca jawaban saya, tetapi bagaimanapun juga ... Jika Anda menggunakan Mac OS X, Anda akan menyukai gerakan multi-sentuh untuk navigasi riwayat di Eclipse: http://sourceforge.net/apps/mediawiki/eclipsemultitch/

borisdiakur
sumber
1
Saya membaca semua entri setiap hari ;) Dan "Eclipse Multi-Touch" terlihat bagus, jadi +1. Tapi sepertinya tidak aktif sejak 2010. Apakah masih bekerja dengan Eclipse 4.x baru-baru ini seperti Juno?
VonC
2

Pada windows jika Anda memiliki mouse 5 tombol, Anda dapat menggunakan maju dan mundur sebagai pengganti ALT+Leftdan ALT+Right.

sedikit
sumber
2

Tombol pintas untuk kembali ke tab sebelumnya

Alt+ LeftArrowuntuk kembali.

Sunil Garg
sumber
1

Salah satu cara untuk melakukannya adalah menggunakan Plugin VI , dan kemudian Anda cukup melakukan: n (dan: N) untuk berpindah antar file.

Itu yang saya lakukan.

CPerkins
sumber
1

Anda dapat mengatur tombol pintas di Preferensi -> Umum -> Kunci (atau cukup ketik "kunci" ke dalam bidang filter di bagian atas dialog Preferensi.

Setelah bagian Tombol dipilih, cari Tab Berikutnya dan Tab Sebelumnya dan tetapkan mereka hotkey Anda sendiri dengan mengklik di bidang "Binding" dan kemudian mengetik hotkey Anda.

Tekan Apply atau OK untuk menyelesaikan proses.

grigb
sumber
1

Saya mengutip respons VonC, menambahkan sesuatu.

  • Ctrl+ PgUp( PgDn) untuk beralih antar tab di tumpukan saat ini (baik editor maupun tampilan)
  • Ctrl+ Euntuk beralih di antara tab di tumpukan saat ini, menggunakan daftar yang difilter
  • Ctrl+ F6untuk beralih di antara editor, tidak peduli tumpukan mana
  • Ctrl+ F7untuk beralih di antara tampilan, tidak peduli tumpukan mana

Plus, ada Bug 206299 terbuka untuk meminta menggunakan Ctrl+ Tabuntuk berpindah tab bukan Ctrl+ PgUp( PgDn).

  • Karena ini akan memutus aksesibilitas, pengguna harus menetapkan preferensi untuk ini. Mungkin harus ada pertanyaan dalam Welcome Questionnaire selama pemasangan Oomph.

Jika tidak puas, Anda dapat menetapkan sendiri Pengikat Kunci, dari Window> Preferences> General> Keys .

psuzzi
sumber
1

Untuk beberapa alasan pengaturan Eclipse saya rusak jadi saya harus mengedit file /.plugins/org.eclipse.e4.workbench/workbench.xmi secara manual

Saya sebelumnya harus menyetel Ctrl+ Tabke tab seperti Peramban, dan bahkan mengatur ulang semua ikatan kunci dalam preferensi Eclipse tidak akan menghilangkan pintasan (mereka juga tidak ditampilkan di mana pun). Saya membuka file yang disebutkan di atas dan menghapus <bindings>elemen yang ditandai <tags>type:user</tags>terkait dengan pintasan yang tidak berfungsi.

friederbluemle
sumber
1

Kanan ke kiri: ctrl+ shift+ 9 atau ctrl+ shift+ Page Upatau ctrl+Page Up

Kiri ke kanan: ctrl+ shift+ 3atau ctrl+ shift+ Page Downatau ctrl+Page Down

Parth Patel
sumber
0

Jika Anda ingin beralih antara pilihan tab Anda saat ini dan sebelumnya, menggunakan CTRL+ F6akan mengalihkan Anda maju dan mundur. Untuk menavigasi ke tab lebih jauh ke belakang dalam riwayat Anda, Anda perlu menggunakan tombol UP/ DOWNsaat jendela Editor terbuka. Ini bekerja dengan Helios (Eclipse 3.6); tidak yakin apakah ini benar untuk versi Eclipse yang lebih lama.

Mel Llaguno
sumber
0

Tahan CTRLdan tekan F6sampai Anda mencapai editor yang Anda inginkan, lalu lepaskan. UI tidak secantik pemilihan jendela, tetapi fungsinya sama.

Christopher Oezbek
sumber
0

Pada mesin SLES12 Anda dapat menggunakan Ctrl+ PageUpdan Ctrl+ PageDownuntuk bernavigasi di antara tab secara default. Anda selalu dapat mengubah kunci-kunci ini dari jendela Preferensi dengan menjelajahi bagian "kunci" di bawah kategori "Umum". Proses ini dijelaskan dengan baik oleh Victor dan VonC di atas.

pavan kumar
sumber
0

Bagaimana saya bisa beralih di antara jendela yang dibuka di Eclipse

CTRL + F7 bekerja di sini - Eclipse Photon di Windows.

ChrisJJ
sumber