Tôi có hai plugin, ví dụ: com.site.plugin.core và com.site.plugin.ui.
Tôi muốn tách phần cốt lõi khỏi phần giao diện người dùng, do đó, tại plugin com.site.plugin.ui Tôi đã tạo trang Tùy chọn nơi tôi đã xác định một số tùy chọn, nên được com.site.plugin.core sử dụng. Tôi kiểm tra bài viết tại Eclipse site, nhưng nó là khá lỗi thời, và lỗi liên kết cũng không cung cấp nhiều thông tin.
Vì vậy, có thể thực hiện điều này bằng cách sử dụng cơ chế Eclipse chuẩn, hoặc tôi cần sử dụng API cấp thấp trực tiếp thông qua gói org.eclipse.core.runtime.preferences?Làm cách nào để hai plugin eclipse sử dụng cùng một cửa hàng tùy chọn?
Trả lời
Tôi tin rằng giao diện người dùng phụ thuộc vào Core chứ không phải khác. Trong trường hợp này, bạn có thể sử dụng cửa hàng tùy chọn của Core trong trang tùy chọn của plugin UI, như sau:
IPreferenceStore store = CorePluginActivator.getDefault().getPreferenceStore();
setPreferenceStore(store);
Bằng cách này, trang ưu tiên sẽ lưu trữ các giá trị trong plugin cốt lõi. Plugin Core có thể sử dụng các giá trị mà không phụ thuộc vào plugin UI.
Tìm thấy các cửa hàng prefs cho mỗi plugin. Đây là một cách để có được một cửa hàng prefs cho plugin có lớp trình kích hoạt là ActivatorA.
IPreferenceStore store = ActivatorA.getDefault().getPreferenceStore();
Nếu bạn muốn plugin khác để tham khảo các cửa hàng tương tự, có lẽ bạn có thể phơi bày một số api trên ActivatorA cho nó để đạt được điều đó, ví dụ
public IPreferenceStore getSharedPrefs() {
return ActivatorA.getDefault().getPreferenceStore();
}
Plugin thứ hai sẽ tìm thấy các cửa hàng chia sẻ bằng cách làm này
IPreferenceStore sharedPrefs = ActivatorA.getSharedPrefs();
Chúc may mắn.
Bạn cũng có thể truy cập vào các ưu đãi về các plug-in khác sử dụng dịch vụ ưu tiên:
String pref = Platform.getPreferencesService().getString(
"org.myplugin.preferences.page", "pref name",
"default value if pref not found", null);
Lưu ý rằng đối với tôi, 'org.myplugin.preferences.page' không hoạt động, tôi phải sử dụng 'org.myplugin.id'. –
Đối với tôi đó cũng là ID, nhờ gợi ý. Như thế này, đây là giải pháp hoàn hảo cho tôi :) – Matthias
- 1. Làm cách nào để quản lý plugin, tùy chọn và cấu hình eclipse cho một nhóm?
- 2. Bạn sử dụng các plugin nào cùng với CDT Eclipse?
- 3. Làm thế nào để sử dụng cùng một cửa hàng với URL khác nhau trong extjs
- 4. Làm cách nào để có tùy chọn được chọn cuối cùng từ nhiều lựa chọn?
- 5. Làm cách nào để sử dụng JUnit RunListener trong Eclipse?
- 6. Làm cách nào để bạn xử lý các tùy chọn không thể sử dụng cùng nhau (sử dụng OptionParser)?
- 7. Làm cách nào để chọn một số hàng có giới hạn với cùng một thuộc tính?
- 8. Sử dụng jQuery chọn một tùy chọn?
- 9. Làm thế nào để sử dụng Eclipse Mercurial Plugin để tạo bản vá?
- 10. Hai ứng dụng Android trong cùng một dự án Eclipse?
- 11. Làm cách nào để Chrome tải "ứng dụng cửa hàng"?
- 12. cửa hàng nhiều lựa chọn tùy chọn thành một mảng PHP
- 13. Sử dụng memcache làm cửa hàng phiên?
- 14. Làm cách nào để định vị một DataGridView cho một hàng cụ thể (để hàng đã chọn ở trên cùng)
- 15. Làm cách nào để định vị một DataGridView cho một hàng cụ thể (để hàng được chọn ở dưới cùng)?
- 16. Làm cách nào để tùy chỉnh trang cửa hàng ứng dụng mac của bạn
- 17. Làm cách nào để bật/tắt tùy chọn trong Hộp Chọn bằng cách sử dụng jquery
- 18. Sử dụng maven-release-plugin trong Eclipse
- 19. Làm cách nào để chọn hàng con cuối cùng của mối quan hệ cha/con bằng cách sử dụng SQL
- 20. Làm cách nào để chọn hai cột là một?
- 21. Sử dụng jQuery làm cách nào để chọn một dải các hàng?
- 22. Làm cách nào để tìm menu "Tùy chọn" trong Eclipse trong OS X?
- 23. Làm thế nào để sử dụng hai biểu mẫu Django khác nhau ở cùng một mẫu?
- 24. T-SQL Làm cách nào để chỉ chọn hàng Thứ hai từ một bảng?
- 25. noClassDefFoundError sử dụng Plugin Scala cho Eclipse
- 26. Làm thế nào để chạy VisualVM Eclipse Plugin
- 27. Làm cách nào để sử dụng tùy chọn lệnh quản lý tùy chỉnh Django?
- 28. Phát triển Plugin Eclipse: Cách thêm tùy chọn vào Menu Nhấp chuột phải
- 29. Cách chọn cùng một lúc từ hai Listbox?
- 30. Plugin Will_paginate trên hai đối tượng trên cùng một trang
Hmmm ... Nhưng trong trường hợp này Plugin lõi của tôi nên biết về phần giao diện người dùng. Nó không tốt. –
OK. Nói chung, điều gì sẽ là một cách chấp nhận được cho trình cắm thêm lõi để định vị dữ liệu được chia sẻ, nếu không thông qua plugin tạo ra nó. Làm thế nào về: một filepath ?, Dialog-cài đặt? một URL? – bwinspur