Saya sedang mengerjakan hibrid 3.8-e4 (yaitu kami memiliki dependensi Luna, tetapi kami belum menggunakan Application.e4xmi ). Jadi pada dasarnya kami menjalankan lapisan kompak.
Dengan itu, alangkah baiknya menemukan cara terprogram e4 untuk menumpuk tampilan buruk ini ke folder editor.
1.) Masalah
Saya ingin menempatkan folder tampilan umum di area editor, sehingga setiap tampilan yang dibuka saat runtime akan dibuka di sana.
(foto dicuri dari pertanyaan ini )
2.1) Kemungkinan perbaikan no.1: Menggunakan plugin.xml
Buat ekstensi perspektif, dan tambahkan setiap tampilan yang memungkinkan ke ekstensi itu, dengan tumpukan hubungan di atas org.eclipse.ui.editorss relatif . Ini agak merepotkan jika Anda memiliki terlalu banyak tampilan yang tidak bisa dibuka, dan jika proyek berskala cepat. Saya juga memperhatikan bahwa ID tampilan karakter pengganti tidak berfungsi di sini.
Jika Anda menemukan diri Anda memiliki waktu untuk menambahkan setiap tampilan yang memungkinkan ke perluasan perspektif, itu akan berhasil. Meskipun, JIKA Anda membuka tampilan yang tidak ditambahkan di sini (yaitu: terbuka di folder berbeda), maka setiap tampilan berikutnya yang dibuka akan dibuka di folder sebelumnya, dan BUKAN di area editor (tanyakan penjelasan lebih lanjut jika Anda tidak mengerti).
2.2) Kemungkinan perbaikan no.2: Menggunakan kode di pabrik perspektif
Di IPerspectiveFactory
, kami memiliki akses ke IPageLayout
, yang kebetulanorg.eclipse.ui.internal.e4.compatibility.ModeledPageLayout
(e4 stuff).
Sekarang, ModeledPageLayout
implementasi ini masuk akal, tetapi juga tidak ada dokumentasi dan API publik yang aneh. Yang ini memberikan kemungkinan untuk menumpuk pandangan terhadap kerabat lainnya
modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);
Ini akan menjadi versi programatik dari 2.1 . Selain itu, masalah yang sama muncul di sini. Jika tampilan dibuka di tempat lain, kode di atas menjadi tidak berguna.
Cukup menarik, stackView
API tidak mendukung karakter pengganti (sementara yang lain seperti addView
lakukan).
2.3) Kemungkinan perbaikan no.3: Penyelesaian yaaay!
Saya memiliki banyak perspektif, dan banyak folder berbeda di masing-masing. Semuanya ditempatkan dengan tepat.
Karena Eclipse menawarkan API untuk mendapatkan semua ID tampilan dari mana saja di seluruh sistem, saya ingin melakukan hal berikut, per perspektif: setiap ID tampilan yang tidak ditambahkan ke folder tertentu akan ditambahkan ke area editor (yaitu folder editor , tumpukan editor) .
Ini akan menjadi pilihan terakhir saya, kecuali seseorang menawarkan solusi yang lebih nyaman dan hemat waktu.
Ingat, alternatif programatik e4 lebih fleksibel!
3.) Pertanyaan terkait
- Eclipse RCP - Buka Tampilan di folder Editor
- Eclipse RCP - Menumpuk tampilan dengan area editor?
- Perspektif Custom Eclipse, dengan tampilan yang awalnya tidak terlihat ditumpuk ke area editor
- Pertanyaan Google, jawaban Lars
Ini akan dianggap tidak berlaku lagi untuk rilis e4.
4.) Bug Terkait di Bugzilla Eclipse:
Bug baru-baru ini yang saya buka sendiri memiliki lampiran dengan SSCCE kecil. Langkah-langkah untuk mereproduksi ini dijelaskan dalam komentar ini , jadi saya tidak akan menyalin dan menempelkannya di sini.