Pracuję na hybrydzie 3.8-e4 (tzn. Mamy zależności Luna, ale nie używamy jeszcze Application.e4xmi ). Więc w zasadzie używamy warstwy kompaktowej.
Mając to na uwadze, byłoby miło znaleźć programowy sposób e4 na umieszczenie tych paskudnych widoków w folderze edytora.
1.) Problem
Chcę umieścić ogólny folder widoku w obszarze edytora, aby każdy widok, który jest otwierany w czasie wykonywania, był tam otwierany.
(zdjęcie skradzione z tego pytania )
2.1) Możliwa poprawka nr 1: Korzystanie z pliku plugin.xml
Tworzenie rozszerzenia perspektywy, i dodać każdy możliwy widok do tego rozszerzenia, z relacjami z komina nad względnej org.eclipse.ui.editorss . Jest to trochę niewygodne, jeśli masz zbyt wiele widoków oczekujących na otwarcie, a projekt szybko się skaluje. Zauważyłem również, że identyfikatory widoku symboli wieloznacznych nie działają tutaj.
Jeśli znajdziesz czas, aby dodać każdy możliwy widok do rozszerzenia perspektywy, to zadziała. Chociaż, JEŻELI otworzysz widok, który nie jest tutaj dodany (tj .: otwiera się w innym folderze), to każdy kolejny otwarty widok zostanie otwarty w poprzednim folderze, a NIE w obszarze edytora (zapytaj o dalsze wyjaśnienia, jeśli nie zdobyć).
2.2) Możliwa poprawka nr 2: Używanie kodu w fabryce perspektyw
W IPerspectiveFactory
, mamy dostęp do IPageLayout
, co jest org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout
(rzeczy e4).
Ta ModeledPageLayout
implementacja jest rozsądna, ale nie ma też dokumentacji i dziwnych publicznych interfejsów API. Ten daje możliwość nałożenia widoku na dowolnego innego krewnego
modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);
Byłaby to programowa wersja 2.1 . Również tutaj pojawia się ten sam problem. Jeśli widok zostanie otwarty w innym miejscu, powyższy kod stanie się bezużyteczny.
Co ciekawe, stackView
API nie obsługuje symboli wieloznacznych (podczas gdy inne tak jak addView
to robią).
2.3) Możliwa poprawka nr 3: obejścia tak!
Mam wiele perspektyw i wiele różnych folderów w każdym. Wszystko jest precyzyjnie umieszczone.
Ponieważ Eclipse oferuje interfejsy API do pobierania wszystkich identyfikatorów widoków z dowolnego miejsca w systemie, chcę wykonać następujące czynności z perspektywy: każdy identyfikator widoku, który nie został dodany do określonego folderu, zostanie dołączony do obszaru edytora (tj. Folderu edytora , stos edytora) .
To byłaby moja ostatnia deska ratunku, chyba że ktoś zaproponuje wygodniejsze i oszczędzające czas rozwiązanie.
Pamiętaj, alternatywna automatyzacja e4 jest bardziej elastyczna!
3.) Pytania pokrewne
- Eclipse RCP - Otwórz widok w folderze edytora
- Eclipse RCP - Łączenie widoku z obszarem edytora?
- Niestandardowa perspektywa Eclipse z początkowo niewidocznym widokiem nałożonym na obszar edytora
- Pytanie Google, odpowiedź Larsa
Będą one przestarzałe w wydaniu e4.
4.) Powiązany błąd w Bugzilli Eclipse:
Ten ostatnio otwarty błąd ma załącznik z małym SSCCE. Kroki prowadzące do odtworzenia tego są opisane w tym komentarzu , więc nie zamierzam ich tutaj kopiować i wklejać.
Odpowiedzi:
Sugeruję skorzystanie z Możliwej poprawki nr 3, ponieważ myślę, że nie ma szybszej metody, aby to zrobić.
źródło