Mam dwie wtyczki, na przykład com.site.plugin.core i com.site.plugin.ui.
Chciałbym oddzielić część rdzeni od części UI, więc na stronie plugin com.site.plugin.ui utworzyłem stronę Preferencje, w której zdefiniowałem niektóre preferencje, które powinny być używane przez com.site.plugin.core. Sprawdzam artykuł pod numerem Eclipse site, ale jest on dość nieaktualny, a powiązany błąd również nie dostarcza wielu informacji.
Czy można to zrobić za pomocą standardowego mechanizmu Eclipse, czy też potrzebuję bezpośredniego interfejsu API niskiego poziomu za pośrednictwem pakietu org.eclipse.core.runtime.preferences?W jaki sposób wtyczka Zaćmienie może korzystać z tych samych ustawień preferencji?
Odpowiedz
Wierzę, że interfejs użytkownika zależy od Rdzenia, a nie w inny sposób. W tym przypadku można użyć preferencji sklep rdzenia w stronie preferencji UI pluginu, tak:
IPreferenceStore store = CorePluginActivator.getDefault().getPreferenceStore();
setPreferenceStore(store);
W ten sposób strona preferencji będzie przechowywać wartości w wtyczce podstawowej. Wtyczka Core może korzystać z wartości bez zależności od wtyczki UI.
W każdym dodatku znajdują się sklepy z preferencjami. Jest to jeden ze sposobów uzyskania magazynu prefs dla wtyczki, której klasą aktywatora jest ActivatorA.
IPreferenceStore store = ActivatorA.getDefault().getPreferenceStore();
Jeśli chcesz inny plugin do odnoszą się do tego samego sklepu, być może można odsłonić trochę api na ActivatorA na to, aby się tam dostać, na przykład
public IPreferenceStore getSharedPrefs() {
return ActivatorA.getDefault().getPreferenceStore();
}
Drugi plugin będzie znaleźć wspólny sklep wykonując tę
IPreferenceStore sharedPrefs = ActivatorA.getSharedPrefs();
powodzenia.
Można również uzyskać dostęp do preferencji w innych wtyczek w serwisie: biseksualny
String pref = Platform.getPreferencesService().getString(
"org.myplugin.preferences.page", "pref name",
"default value if pref not found", null);
Należy zauważyć, że dla mnie "org.myplugin.preferences.page" nie działa, musiałem użyć "org.myplugin.id". –
Dla mnie był to również identyfikator, dzięki za podpowiedź. W ten sposób jest to idealne rozwiązanie dla mnie :) – Matthias
- 1. Sposób różnicowania czasu w tych samych jednostkach podczas odejmowania POSIXct
- 2. W jaki sposób klasa singleton może korzystać z interfejsu?
- 3. Wiele mirrorów Maven dla tych samych repozytoriów
- 4. Indeks Znalezienie tych samych elementów na liście
- 5. sprintf używając tych samych wartości wiele razy
- 6. Wzorzec dopasowania dwóch rekordów z tych samych dziedzinach
- 7. W jaki sposób wtyczka SBT może być zależna od innej wtyczki
- 8. Sprawdź ciągi znaków dla tych samych znaków w Objective-C
- 9. Uruchamianie dwóch tych samych testów z różnymi argumentami
- 10. Czy istnieje wtyczka Zaćmienie dla RAML?
- 11. Odczytywanie preferencji współdzielonych
- 12. Jak wyrównać duplikaty w tych samych wierszach w Excelu
- 13. Łączenie SQL w wielu kolumnach w tych samych tabelach
- 14. Jaki pożytek z "końców" w tych dniach?
- 15. Jak liczyć grupy tych samych komórek w tablicy 2d?
- 16. W jaki sposób wtyczka Eclipse może uzyskać dostęp do katalogu projektu?
- 17. Błąd łącznika na tych samych nazwanych stałych w różnych zakresach.
- 18. JS obliczyć średnią tych samych elementów w tablicy 2d
- 19. mysql wydajny sprzężeniu 2 tabelach tych samych 2 tabelach
- 20. OpenLayers, i GeoJSON, nie mnożymy znaczników na tych samych współrzędnych
- 21. Odniesienia do tych samych danych i pamięci alokacji
- 22. JS Prototypal Inheritance: childs używają tych samych właściwości rodzica?
- 23. Jak połączyć dwa słowniki o tych samych nazwach klawiszy?
- 24. Uzyskiwanie różnicy między dwoma obiektami o tych samych właściwościach
- 25. ASP.NET MVC osobne widoki mobilne za pomocą tych samych kontrolerów
- 26. W jaki sposób wtyczka JQuery może zostać ponownie załadowana/przerysowana/zaktualizowana w celu odświeżenia jej wartości?
- 27. Routing do działań o tych samych nazwach, ale innych parametrach
- 28. C# Linq, Wyszukiwanie tych samych pozycji na dwóch listach
- 29. Połącz selektory css o tych samych właściwościach, php
- 30. MVC - czy istnieje sposób deklarowania wielu właściwości w modelu o tych samych atrybutach, różne nazwy?
Hmmm ... Ale w tym przypadku mój rdzeń plugin powinien wiedzieć o części UI. To nie jest dobre. –
OK. Ogólnie rzecz ujmując, jaki byłby akceptowalny sposób, aby rdzeniowa wtyczka zlokalizowała udostępnione dane, jeśli nie za pomocą wtyczki, która je tworzy. Co powiesz na: ścieżkę do pliku ?, Ustawienia dialogowe? adres URL? – bwinspur