Tengo dos complementos, por ejemplo, com.site.plugin.core y com.site.plugin.ui.
Me gustaría separar la parte del núcleo de la parte UI, por lo que en el complemento com.site.plugin.ui creé la página de Preferencias donde definí algunas preferencias, que deberían ser utilizadas por com.site.plugin.core. Reviso el artículo en Eclipse site, pero está bastante desactualizado, y el error vinculado tampoco proporciona mucha información.
Entonces, ¿es posible hacer esto usando el mecanismo estándar de Eclipse, o necesito usar API directa de bajo nivel a través del paquete org.eclipse.core.runtime.preferences?¿Cómo puede el complemento de dos eclipses usar el mismo almacén de preferencias?
Respuesta
Creo que la interfaz de usuario depende de Core y no de otra manera. En este caso, se puede utilizar tienda de preferencia del núcleo en la página de preferencias del plugin de interfaz de usuario, así:
IPreferenceStore store = CorePluginActivator.getDefault().getPreferenceStore();
setPreferenceStore(store);
De esta manera, la página de preferencias almacenará los valores en el complemento del núcleo. El complemento Core puede usar los valores sin depender del complemento UI.
Las tiendas de Prefs se encuentran por complemento. Esta es una forma de obtener un almacén de preferencias para , el complemento cuya clase de activador es ActivadorA.
IPreferenceStore store = ActivatorA.getDefault().getPreferenceStore();
Si desea otro plugin para referirse a la misma tienda, tal vez usted podría exponer algunas API en ActivatorA para que pueda llegar, por ejemplo,
public IPreferenceStore getSharedPrefs() {
return ActivatorA.getDefault().getPreferenceStore();
}
El segundo complemento sería encontrar la tienda compartida al hacer esto
IPreferenceStore sharedPrefs = ActivatorA.getSharedPrefs();
Buena suerte.
También se puede acceder a las preferencias de otros plug-ins utilizando el servicio de preferencia:
String pref = Platform.getPreferencesService().getString(
"org.myplugin.preferences.page", "pref name",
"default value if pref not found", null);
Tenga en cuenta que para mí el 'org.myplugin.preferences.page' no funcionó, tuve que usar 'org.myplugin.id'. –
Para mí también fue la identificación, gracias por la pista. Así, esta es la solución perfecta para mí :) – Matthias
- 1. ¿Puedo usar el mismo archivo de almacén de claves para firmar dos aplicaciones diferentes?
- 2. Cómo copiar complementos entre dos eclipses
- 3. ¿Es posible usar dos clases de Java con el mismo nombre y el mismo paquete?
- 4. Cómo usar las Preferencias Compartidas
- 5. Android - Cómo usar el complemento PhoneGap Share
- 6. Usar PreferenceActivity para configurar el widget, ¿cómo recuperar las preferencias?
- 7. ¿La notación de complemento a dos de un número positivo es el mismo número?
- 8. Will dlopen ceder el mismo identificador para dos llamadas con el mismo archivo?
- 9. ¿Complemento de dos listas?
- 10. Ejecutando el mismo complemento varias veces en Maven
- 11. Cómo administrar el diseño de preferencias personalizadas
- 12. No se puede encontrar el certificado de firma de manifiesto en el almacén de certificados
- 13. ¿Cómo puede el JPA reconocer dos clases con el mismo nombre pero en paquetes diferentes?
- 14. ¿Cómo invocar el mismo objetivo de msbuild dos veces?
- 15. Importación de dos clases con el mismo nombre. ¿Cómo manejar?
- 16. ¿Cómo obtener el mismo valor de dos matrices en PHP?
- 17. ¿Puede OpenSSL en Windows usar el almacén de certificados del sistema?
- 18. firmó aritmética de complemento dos
- 19. Configurar el complemento SublimeLinter para usar PHP
- 20. refrescantes vistas de Preferencias al usar PreferenceActivity
- 21. Conexión del almacén de eventos de JOliver con el complemento RavenDB Persistence
- 22. dos DLL diferentes con el mismo espacio de nombres
- 23. Cómo saber si dos NSDate están en el mismo día
- 24. Dos elementos XML con el mismo ID
- 25. Conversión de complemento a dos
- 26. Tener dos versiones de ODP.NET (ODAC) en el mismo servidor
- 27. Dos métodos genéricos con el mismo nombre
- 28. ¿Dos aplicaciones de Android en el mismo proyecto de Eclipse?
- 29. cómo administrar el complemento vim
- 30. ¿Puedo usar dos versiones incompatibles de la misma DLL en el mismo proceso?
Hmmm ... Pero en este caso mi núcleo extensión debería saber sobre la parte de interfaz de usuario. No es bueno. –
OK. En términos generales, ¿cuál sería una forma aceptable para que el complemento central ubique los datos compartidos, sino a través del complemento que lo crea? ¿Qué tal: una ruta de archivo ?, ¿Configuración de diálogo? una URL? – bwinspur