मैं 3.8-e4 हाइब्रिड पर काम कर रहा हूं (यानी हमारे पास लूना निर्भरता है, लेकिन हम नहीं करते हैं Application.e4xmi , अभी तक उपयोग करते हैं )। तो हम मूल रूप से कॉम्पैक्ट परत चला रहे हैं।
कहा जा रहा है कि, संपादक फ़ोल्डर पर इन गंदे विचारों को ढेर करने के लिए एक e4 प्रोग्रामेटिक तरीका खोजना अच्छा होगा।
1.) समस्या
मैं संपादक क्षेत्र में एक सामान्य दृश्य फ़ोल्डर रखना चाहता हूं, ताकि प्रत्येक दृश्य जो रनटाइम पर खोला गया है, वहां खोला जाएगा।
( इस सवाल से चुराई गई तस्वीर )
2.1) संभावित फिक्स नंबर 1: plugin.xml का उपयोग करना
एक संबंध विस्तार बनाएँ, और उस विस्तार के लिए प्रत्येक संभव दृश्य जोड़ें, रिश्तेदार org पर संबंध ढेर के साथ ।eclipse.ui.editorss । यह थोड़ा असुविधाजनक है यदि आपके पास बहुत से विचार हैं जिन्हें खोला जाना है, और यदि परियोजना जल्दी से शुरू होती है। मैंने यह भी देखा कि वाइल्डकार्ड व्यू आईडी यहां काम नहीं करती हैं।
यदि आप अपने आप को परिप्रेक्ष्य विस्तार के लिए प्रत्येक संभव दृश्य जोड़ने का समय पाते हैं, तो यह काम करेगा। हालाँकि, यदि आप एक दृश्य खोलते हैं, जो यहां नहीं जोड़ा गया है (यानी: एक अलग फ़ोल्डर में खुलता है), तो प्रत्येक बाद में खोला गया दृश्य पिछले फ़ोल्डर में खोला जाएगा, और संपादक क्षेत्र में नहीं (यदि आप नहीं करते हैं तो आगे की व्याख्या करें) उसे ले लो)।
२.२) संभावित फिक्स नंबर २: परिप्रेक्ष्य कारखाने में कोड का उपयोग करना
में IPerspectiveFactory
, हमारे पास पहुंच है IPageLayout
, जो org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout
(e4 सामान) होता है।
अब, यह ModeledPageLayout
कार्यान्वयन उचित है, लेकिन यह भी प्रलेखन और अजीब सार्वजनिक एपीआई नहीं है। यह किसी भी अन्य रिश्तेदार पर एक दृश्य ढेर करने की संभावना देता है
modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);
यह 2.1 का प्रोग्राम वर्जन होगा । साथ ही, यहां भी यही समस्या दिखाई देती है। यदि कोई दृश्य कहीं और खोला जाता है, तो ऊपर का कोड बेकार हो जाता है।
काफी दिलचस्प है, stackView
एपीआई वाइल्डकार्ड (जबकि अन्य जैसे addView
करते हैं) का समर्थन नहीं करता है ।
२.३) संभावित फिक्स नंबर ३: वर्कअराउंड्स याय!
मेरे पास बहुत सारे दृष्टिकोण हैं, और हर एक में बहुत सारे अलग-अलग फ़ोल्डर हैं। सब कुछ ठीक-ठाक रखा है।
चूंकि ग्रहण सिस्टम के चारों ओर से सभी व्यू आईडी प्राप्त करने के लिए एपीआई की पेशकश करता है, मैं निम्नलिखित, प्रति दृष्टिकोण से करना चाहता हूं: प्रत्येक दृश्य आईडी जिसे एक विशिष्ट फ़ोल्डर में नहीं जोड़ा गया था, उसे संपादक क्षेत्र (यानी संपादक फ़ोल्डर) में जोड़ा जाएगा। , संपादक ढेर) ।
यह मेरा अंतिम उपाय होगा, जब तक कोई और अधिक सुविधाजनक और समय पर समाधान प्रदान नहीं करता है।
याद रखें, एक e4 प्रोग्रामेटिक विकल्प अधिक लचीला है!
3.) संबंधित प्रश्न
- ग्रहण RCP - संपादक फ़ोल्डर में ओपन व्यू
- ग्रहण आरसीपी - संपादक क्षेत्र के साथ एक दृश्य को रोकना?
- कस्टम एक्लिप्स परिप्रेक्ष्य, शुरू में संपादक क्षेत्र को देखने के लिए अदृश्य दृश्य
- Google प्रश्न, लार्स उत्तर
इन्हें ई 4 रिलीज के लिए पदावनत किया जाएगा।
4.) ग्रहण के बगज़िला पर संबंधित बग:
अपने द्वारा खोले गए इस हालिया बग का छोटे SSCCE के साथ लगाव है। इसे पुन: पेश करने के चरण इस टिप्पणी में वर्णित हैं , इसलिए मैं उन्हें यहां कॉपी-पेस्ट नहीं करने जा रहा हूं।