Tôi thích sử dụng lịch sử điều hướng do Eclipse cung cấp trong Ứng dụng RCP của tôi. Rất tiếc, tính năng này không được tài liệu tốt. Trong thực tế, tôi chỉ tìm thấy mục nhập Wiki này: http://wiki.eclipse.org/FAQ_How_do_I_hook_my_editor_to_the_Back_and_Forward_buttons%3FSử dụng Lịch sử Điều hướng trong Eclipse RCP
Nó đề cập rằng mọi trình chỉnh sửa đều có thể được đánh dấu trong lịch sử điều hướng mà không phải chỉ định vị trí. Đây chính là điều tôi muốn.
Bất kể trình chỉnh sửa cụ thể có bất kỳ hỗ trợ nào cho lịch sử điều hướng hay không, markLocation sẽ hoạt động. Nếu trình chỉnh sửa không triển khai INavigationLocationProvider, mục nhập lịch sử sẽ được thêm vào, cho phép người dùng quay lại trình chỉnh sửa đó nhưng không quay lại bất kỳ vị trí cụ thể nào.
Tôi đã thêm các dòng mã sau đây vào ứng dụng của mình để thêm mục nhập điều hướng mỗi lần mở Trình chỉnh sửa mới.
IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
IEditorPart editor = page.openEditor(input, MyEditor.ID);
page.getNavigationHistory().markLocation(editor);
Vấn đề của tôi là mã không hoạt động. Các biểu tượng trên thanh công cụ cho các lệnh org.eclipse.ui.navigate.backwardHistory
và org.eclipse.ui.navigate.forwardHistory
luôn chuyển sang màu xám.
Tôi biết tôi đang khai thác các bài đăng cũ nhưng bạn đã lưu ngày của tôi :) Điều này cũng phù hợp với RAP! – Jerome