644

Làm thế nào tôi có thể chuyển đổi giữa các cửa sổ đã mở trong Eclipse? Ctrl+ F6, nhưng nó hỏi tôi muốn cái nào, nhưng tôi muốn chuyển nó như các tab trong trình duyệt hoặc cửa sổ trong hệ điều hành ( Cmd/ Win+ Tab) mà không cần chọn tệp từ danh sách. Làm thế nào để làm điều này dễ dàng trong Eclipse?

Tôi đã cố gắng gán hotkey cho các sự kiện:

  • phía trước
  • lịch sử chuyển tiếp
  • Trang tiếp theo

nhưng nó không hoạt động theo cách tôi muốn.

|
  • 3

    Đã thêm các phím tắt dành riêng cho hệ điều hành trong câu trả lời của tôi, nhưng bạn không thể xác định lại chúng.

    – Lê Ý Nhi 08:07:42 25/02/2010
871
  • CTRL+ E(cho danh sách biên tập viên)
  • CTRL+ F6(để chuyển sang trình chỉnh sửa tiếp theo thông qua danh sách)
    Bạn có thể gán một phím tắt khác cho phím 'Trình chỉnh sửa tiếp theo'.

là hai phím tắt chính thức, nhưng cả hai đều liên quan đến một danh sách đang được hiển thị.

CTRL+ Page Up/ CTRL+ Page Downcó thể quay vòng qua các trình soạn thảo mà không hiển thị danh sách.

Điều thú vị với bộ phím tắt cuối cùng đó là:
chúng không được liệt kê trong các phím tắt Eclipse được xác định.
Chúng có thể được kế thừa từ trình soạn thảo nhiều trang, biến chúng thành một lối tắt cụ thể cho hệ điều hành .


Về các phím tắt trên Mac OS (OSX), Matt Ball đã phàn nàn vào tháng 9 năm 2011 về việc không thể ánh xạ lại CTRL+ Page Up/ CTRL+ Page Down:

Nó khiến tôi không thể lướt qua các tab đang mở vì tôi có thể trong hầu hết các chương trình được gắn thẻ khác trong OS X ( - Left- Right).

Chà, vào tháng 3 năm 2012, Arthur đã trả lời:

, Tôi vừa tải xuống phiên bản mới nhất của Eclipse (3.7+). Tôi đã có thể liên kết "tab Trước / Tiếp theo" với ( - Left- Right) khi ở Trình chỉnh sửa, điều mà tôi khá chắc chắn là tôi không thể làm trước đây.
Vì vậy, tôi đoán họ đã nghe thấy bạn.
Nó hoạt động đúng như bạn mong đợi, các tab đi từ trái sang phải và ngược lại, không phải trên cơ sở lịch sử hoặc một số điều vô nghĩa như thế.

Matt Ball xác nhận:

oh wow, chọn "Chỉnh sửa nguồn Java" thực sự hiệu quả !
Bây giờ, thật không may, điều này có nghĩa là tôi là SOL nếu tôi điều hướng vào một tệp không phải là Java (JSP, XML, JS, v.v.).
Cách khắc phục cho vấn đề này là "sao chép lệnh" cho cặp này và chọn tất cả các "whens" mà tôi muốn .
Cho đến nay, nó ít nhất hoạt động tốt cho các tệp Java và JSP.
Đây là một Pita chính để thiết lập, nhưng nó chỉ là một lần.

Sở thích xuất khẩu của anh ấy có sẵn ở đây để bạn thử.
Sau khi nhập, bạn sẽ thấy, đối với tất cả các loại tài liệu có liên quan:

|
  • 1

    Trên OSX, thay thế CTRL bằng CMD cho hai hành động bàn phím đầu tiên. Nhưng bạn vẫn sẽ cần sử dụng CTRL với PGUp hoặc PGDown để chuyển qua các trình soạn thảo. Một bộ phím tắt KB hữu ích khác mà tôi vừa tìm thấy khi thử một số gợi ý bên dưới: bạn có thể sử dụng ALT + Lên hoặc ALT + Xuống để di chuyển toàn bộ dòng mã.

    – Dương Bích Hằng 02:30:14 24/08/2011
  • 1

    Không có cơ hội mà bây giờ có một cách để ánh xạ lại CTRL+Page Up/ CTRL+Page Downở Indigo, phải không? Nó khiến tôi không thể lướt qua các tab đang mở vì tôi có thể trong hầu hết các chương trình được gắn thẻ khác trong OS X ( ⌘-Left⌘-Right).

    – Hồ Thanh Việt 15:08:17 26/09/2011
  • 1

    Trên bàn phím OSX không mở rộng: fn + ctrl + up_arrow / down_arrow theo mặc định.

    – Đặng Phương Phi 20:56:13 17/12/2011
  • 1

    @ MITTΓΓerlITTLL Trên OS X, tôi vừa tải xuống phiên bản mới nhất của Eclipse. Tôi đã có thể liên kết "tab Trước / Tiếp theo" với (Left-Trái và Right-Phải) khi ở Trình chỉnh sửa, điều mà tôi khá chắc chắn là tôi không thể làm trước đây. Vì vậy, tôi đoán họ đã nghe thấy bạn. Nó hoạt động đúng như bạn mong đợi, các tab đi từ trái sang phải và ngược lại, không phải trên cơ sở lịch sử hoặc một số điều vô nghĩa như thế.

    – Dương Thanh Toản 11:18:38 11/03/2012
  • 1

    @ MITTΓΓerlITTLL ouch ... Tôi đoán tôi nên nói rằng tôi đã ở trên Eclipse cho C / C ++ . Xin lỗi, tôi đã không nghĩ đến. Nó không hoạt động với "Chỉnh sửa nguồn Java"? Nếu điều đó có thể làm giảm nỗi đau của bạn, khi tôi ở tab ngoài cùng bên phải, Right-Right sẽ không đưa tôi đến bên trái ... Ngoài ra, tôi đang nhận được "lỗi sai" thực sự khó chịu mọi thứ biên dịch hoàn hảo) kể từ khi cập nhật. Hy vọng bạn không nhận được điều đó quá!

    – Bùi Tấn Phát 20:51:28 11/03/2012
186

Nếu bạn đi đến Tùy chọn (ví dụ: Cửa sổ → Tùy chọn) và xem Chung → Phím

và sau đó tìm kiếm cho Tab kế tiếp Tab và trước

|
  • 1

    Tôi đã thêm "tab tiếp theo" -> "Ctrl + Tab" "tab trước" -> "Ctrl + Shift + Tab" giống như trong Firefox

    – Hồ Hoài Phong 05:29:28 18/08/2012
  • 1

    Đây không phải là điều chính xác. Điều này chỉ xoay vòng qua các tab theo thứ tự chúng xuất hiện trên thanh tab so với gần đây nhất được chuyển sang thứ tự.

    – Vũ Lệ Nga 18:13:55 14/09/2012
  • 1

    Hoạt động tuyệt vời, ngoại trừ trình soạn thảo bố cục Android, dường như hấp thụ / bỏ qua các lệnh này. Luôn luôn là một cái gì đó!

    – Hoàng Tùng Quang 19:50:17 27/10/2012
  • 1

    @Hafthor: Tôi đã quen với Notepad ++, vì vậy tôi muốn Ctrl + Tab chuyển đổi giữa các tab / trình chỉnh sửa hoạt động cuối cùng . Để thực hiện việc này, hãy xóa Ctrl + F6 mặc định khỏi "Trình chỉnh sửa tiếp theo" và Ctrl + Shift + F6 khỏi các lệnh "Trình chỉnh sửa trước" và chèn Ctrl + Tab và Ctrl + Shift + Tab cho các lệnh đó. Lưu ý rằng tôi đã phải xóa các lệnh cũ vì một số lý do (điều mà tôi không cần phải làm trong các trường hợp khác khi tôi thay đổi khóa), nhưng rất vui vì nó hoạt động ngay bây giờ! Ngoài ra, trong khi chơi xung quanh, Eclipse (Juno) đã hành động kỳ lạ và tôi không thể chuyển đổi các tab bằng cách sử dụng bất kỳ tổ hợp phím thông thường hoặc thay đổi nào, nhưng khởi động lại đã khắc phục điều đó.

    – Hoàng Mạnh Đạt 01:08:33 08/03/2013
  • 1

    Tôi đã thêm "tab tiếp theo" -> "Ctrl + Tab" "tab trước" -> "Ctrl + Shift + Tab" giống như trong Visual Studio

    – Trịnh Nhật Thịnh 18:45:48 16/12/2013
98

Chuyển đổi như Windows trong HĐH ( đi đến cửa sổ có tiêu điểm cuối cùng )

CTRL-F6 trong Eclipse, như ALT-TAB (trên các cửa sổ), hiển thị danh sách các tab / cửa sổ khả dụng (nếu bạn giữ phím CTRL/ ALTphím bị chán nản) và làm nổi bật cái bạn sẽ nhảy đến khi bạn buông phím này. Bạn không phải chọn cửa sổ. Nếu bạn muốn duyệt qua nhiều tab cùng một lúc, CTRLnhấn và giữ TABnút này. Đây là hành vi giống hệt với ALT-TAB trên Windows.

Theo nghĩa này, CTRL- SHIFT-F6 trong nhật thực là ALT- SHIFT-TAB tương tự. Cá nhân, tôi thay đổi các ràng buộc này trong Eclipse giống như Visual Studio. Tức là CTRL-TABCTRL- SHIFT-TAB và tôi làm như thế này:

Cửa sổ> Tùy chọn> Chung> Phím

Sau đó đặt "Trình chỉnh sửa tiếp theo" = Ctrl+Tab và "Trình chỉnh sửa trước" = Ctrl+ Shift+Tab . Đừng quên nhấp vào "Hủy liên kết lệnh" trước khi đặt ràng buộc mới.

Chuyển đổi như trình duyệt ( đi đến tab bên phải của tab hiện tại )

Đây là CTRL-PageDown đi bên phải, CTRL-PageUp đi bên trái. Thật khó chịu, khi bạn đi đến cuối danh sách các tab (nói là tab bên tay phải) và sau đó cố gắng đi lại một lần nữa, Eclipse không quay vòng sang tab đầu tiên (ngoài cùng bên trái) như hầu hết các trình duyệt.

|
  • 1

    Đây là câu trả lời được đánh giá thấp nhất trong chủ đề này. Đặc biệt là khi Juno thay đổi các tab được hiển thị là một danh sách thuần túy và không phải là các trình soạn thảo được sử dụng gần đây.

    – Lý Hiền Mai 19:19:13 08/11/2012
  • 1

    Điều này hoạt động 90% thời gian. Sẽ không thành công nếu con trỏ chuột của bạn xuất hiện ở nơi danh sách các tab bật lên. Bất cứ thứ gì xui xẻo xuất hiện trước con trỏ đều được chọn.

    – Nguyễn Thu Hiền 21:54:52 03/01/2013
  • 1

    Phiên bản Eclipse 3.6.2 hoạt động 100% mọi lúc, mọi lúc mọi nơi. Rốt cuộc, hành vi tự nhiên của Eclipse được ánh xạ lại thành các khóa khác nhau! Chưa từng thử các phiên bản Eclipse cổ xưa ...

    – Hoàng Thanh Thủy 11:36:33 16/01/2013
  • 1

    Bạn không phải hủy liên kết lệnh "Trình chỉnh sửa tiếp theo". Chỉ cần nhấp vào "Sao chép lệnh" và chỉnh sửa bản sao và liên kết nó với CTRL-TAB.

    – Đỗ Hạo Thiên 18:35:21 22/12/2014
  • 1

    Nó hoạt động sau khi nhật thực khởi động lại cho tôi. Phát hành Oxygen.3a (4.7.3a) Tôi nghĩ câu trả lời này phải được chấp nhận.

    – Trịnh Hảo Nhi 08:04:36 17/05/2018
55

Bạn có thể sử dụng ALT+ Leftđể chuyển đến tab trước đó hoặc ALT+ Rightđể chuyển tiếp. Tuy nhiên, phương pháp này đang sử dụng chuyển đổi tab như lịch sử, vì vậy nó sẽ chuyển đến tab trước đó bạn đã mở và chuyển tiếp nếu bạn đã "quay lại" một lần hoặc nhiều hơn. Một chút kỳ lạ, tôi biết, nhưng nó hoạt động. Bạn luôn có thể "đặt lại" lịch sử bằng cách nhấp qua mỗi tab một lần.

|
  • 1

    Không hữu ích khi có các hành động được ghi lại trong lịch sử, chẳng hạn như đi đến định nghĩa phương thức trong cùng một lớp.

    – Lý Hiền Mai 13:16:47 14/07/2011
  • 1

    điều này từng rất hữu ích, đối với nhật thực nhật thực, điều này hoạt động như SiN đã đề cập

    – Nguyễn Thu Hiền 12:13:43 20/09/2011
  • 1

    Tôi thực sự thích hành vi mà nó đi đến các hành động như đi đến định nghĩa phương thức, đó là một cách hữu ích để quay trở lại khi điều hướng xung quanh rất nhiều tệp.

    – Hoàng Thanh Thủy 01:44:09 03/10/2012
  • 1

    Điều này hoạt động tuyệt vời khi đạp xe qua lại giữa các cửa sổ chỉnh sửa. Tôi muốn chia màn hình của mình thành 2 và các phương pháp khác chỉ phân nhóm 1 tab, (ngoại trừ ctrl-F6, nhưng tôi thấy điều đó cồng kềnh).

    – Đỗ Hạo Thiên 20:14:59 05/11/2013
15
  • Rightdi chuyển bên: Ctrl+page Down
  • Leftdi chuyển bên: CTRL+page Up

Bổ sung

  • nhận danh sách các tab đang mở: Ctrl+F6

Eclipse khác Cắt ngắn

|
13

CTRL+ F6là tốt để sử dụng. Nếu bạn muốn chuyển sang tab tiếp theo / trước đó, bạn cần thực hiện CTRL+ Page Down/ CTRL+ Page Up.

|
  • 1

    Có, tôi thường sử dụng cái này. Tuy nhiên, khi trình chỉnh sửa đề xuất nhiều chế độ xem (ví dụ: khi bạn làm việc trên một tệp XMLhoặc propertiestệp), nó sẽ chuyển giữa các chế độ xem khác nhau và bạn không thể chuyển đổi giữa các tab nữa :(

    – Tạ Thế Tùng 08:12:58 25/02/2010
  • 1

    "CTRL + F6 là tốt để sử dụng." Không có gì ở đây, trên Eclipse Photon trong Windows.

    – Huỳnh Quỳnh Lâm 13:40:25 04/11/2018
9

Mặc định là Ctrl+ F6. Bạn có thể thay đổi nó bằng cách vào tùy chọn Window . Tôi thường thay đổi nó thành Ctrl+ Tab, giống như chúng ta sử dụng trong việc chuyển đổi các tab trong trình duyệt và các thứ khác.

|
  • 1

    Tôi không phải là người bỏ phiếu, nhưng tôi nghi ngờ khả năng của bạn trong việc ánh xạ một ràng buộc chính với Ctrl + Tab với nhau trên Windows Vista, sử dụng Eclipse Indigo. Thật không thể tin được! Nếu tôi nhấn Tab, nó chỉ đơn giản là thay đổi tiêu điểm trên các nút và danh sách thả xuống.

    – Tạ Thế Tùng 14:16:54 07/09/2012
  • 1

    @ tom_mai78101 Xin lỗi, tôi không biết vấn đề này với Windows Vista. Bạn có thể thử một ánh xạ khác cho lựa chọn của mình, mặc dù nó thành công trong XP.

    – Huỳnh Quỳnh Lâm 15:55:28 07/09/2012
6

Ví dụ trình tự KeyBinding tùy chỉnh: CTRL + TAB để chuyển đổi giữa các Mô-đun hoặc Trình chỉnh sửa hướng chuyển tiếp bằng cách sử dụng RCP của Eclipse.

bạn nhấn CTRL + TAB lần thứ hai để mở trình soạn thảo khác và đóng trình soạn thảo trước đó bằng 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;
    }
}

Ví dụ trình tự KeyBinding tùy chỉnh: SHIFT + TAB để chuyển đổi giữa các Mô-đun có thể nhìn thấy được hoặc Trình chỉnh sửa hướng Backword bằng cách sử dụng RCP của 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 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;
    }
}

Trình tự chính

Nghĩa là CTRL

Nghĩa là 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

Tập lệnh AutoHotKey 3 dòng (trên Windows, dù sao):

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

Đặt cái này vào thư mục khởi động của bạn (lưu nó dưới dạng * .ahk, phải cài đặt AutoHotKey) và các tab Eclipse sẽ hoạt động như Chrome hoặc Firefox.

|
3

Không ai sẽ đọc câu trả lời của tôi, nhưng dù sao ... Nếu bạn ở trên Mac OS X, bạn sẽ thích các cử chỉ đa chạm để điều hướng lịch sử trong Eclipse: http://sourceforge.net/apps/mediawiki/eclipsemultitch/

|
  • 1

    Tôi đọc tất cả các mục mỗi ngày ;) Và "Multi-Touch Eclipse" trông rất tuyệt, nên +1. Nhưng có vẻ như không hoạt động kể từ năm 2010. Nó có còn hoạt động với Eclipse 4.x gần đây như Juno không?

    – Tạ Thế Tùng 06:31:58 13/07/2013
3

Đã giải quyết !!

Thay đổi lược đồ thành Microsoft Visual Studio

Cửa sổ> Tùy chọn> Chung> Phím

Tìm kiếm thả xuống Scheme

Phiên bản nhật thực của tôi:

IDE Java EE của Eclipse dành cho các nhà phát triển web.

Phiên bản: Juno Dịch vụ phát hành 1 Bản dựng id: 20120920-0800

|
2

Phím tắt để quay lại tab trước

Alt+ LeftArrowđể quay lại.

|
2

Trên cửa sổ nếu bạn có chuột 5 nút, bạn có thể sử dụng tiến và lùi thay cho ALT+LeftALT+Right.

|
1

Phải sang trái: ctrl+ shift+ 9 hoặc ctrl+ shift+ Page Uphoặc ctrl+Page Up

Trái sang phải: ctrl+ shift+ 3hoặc ctrl+ shift+ Page Downhoặc ctrl+Page Down

|
1

Vì một số lý do, các cài đặt Eclipse của tôi bị hỏng nên tôi phải chỉnh sửa thủ công tệp /.plugins/org.eclipse.e4.workbench/workbench.xmi

Trước đây tôi phải đặt Ctrl+ Tabthành chuyển đổi tab giống như Trình duyệt và thậm chí đặt lại tất cả các ràng buộc chính trong các tùy chọn Eclipse sẽ không thoát khỏi các phím tắt (chúng cũng không được hiển thị ở bất kỳ đâu). Tôi đã mở tệp được đề cập ở trên và loại bỏ các <bindings>yếu tố được đánh dấu có <tags>type:user</tags>liên quan đến các phím tắt không hoạt động.

|

Câu trả lời của bạn (> 20 ký tự)

Bằng cách click "Đăng trả lời", bạn đồng ý với Điều khoản dịch vụ, Chính sách bảo mật and Chính sách cookie của chúng tôi.

Không tìm thấy câu trả lời bạn tìm kiếm? Duyệt qua các câu hỏi được gắn thẻ hoặc hỏi câu hỏi của bạn.