java ग्रहण आरसीपी-संपादक क्षेत्र में एक दृश्य खोलें(3.8/ई 4 हाइब्रिड)



eclipse-plugin eclipse-rcp (1)

मेरा सुझाव है कि आप संभावित फिक्स नंबर 3 के साथ जाएं, क्योंकि मुझे लगता है कि ऐसा करने के लिए कोई तेज विधि नहीं है।

मैं 3.8-ई 4 हाइब्रिड पर काम कर रहा हूं (यानी हमारे पास लुना निर्भरता है, लेकिन हम अभी भी application.e4xmi का उपयोग नहीं करते हैं)। तो हम मूल रूप से कॉम्पैक्ट परत चला रहे हैं।

ऐसा कहा जा रहा है कि, संपादक फ़ोल्डर पर इन गंदा विचारों को ढेर करने के लिए एक ई 4 प्रोग्रामेटिक तरीका खोजना अच्छा लगेगा।

1.) समस्या

मैं संपादक क्षेत्र में एक सामान्य दृश्य फ़ोल्डर रखना चाहता हूं, ताकि रनटाइम पर खोला गया प्रत्येक दृश्य वहां खोला जाएगा।

( इस सवाल से चोरी चोरी)

2.1) संभावित फिक्स नंबर 1: plugin.xml का उपयोग करना

एक परिप्रेक्ष्य एक्सटेंशन बनाएं, और रिश्तेदार org.eclipse.ui.editorss पर रिश्ते के ढेर के साथ, उस एक्सटेंशन में प्रत्येक संभावित दृश्य जोड़ें। यदि आपके पास खोले जाने के लिए बहुत सारे विचार हैं, तो यह थोड़ा असुविधाजनक है, और यदि परियोजना जल्दी से स्केल करती है। मैंने यह भी देखा कि वाइल्डकार्ड दृश्य आईडी यहां काम नहीं करती हैं।

यदि आप खुद को परिप्रेक्ष्य विस्तार में प्रत्येक संभावित दृश्य जोड़ने का समय पाते हैं, तो यह काम करेगा। हालांकि, यदि आप एक दृश्य खोलते हैं जो यहां नहीं जोड़ा गया है (यानी: एक अलग फ़ोल्डर में खुलता है), तो प्रत्येक बाद वाला खुला दृश्य पिछले फ़ोल्डर में खोला जाएगा, और संपादक क्षेत्र में नहीं (यदि आप नहीं करते हैं तो आगे स्पष्टीकरण पूछें उसे ले लो)।

2.2) संभावित फिक्स नंबर 2: परिप्रेक्ष्य फैक्ट्री में कोड का उपयोग करना

IPerspectiveFactory , हमारे पास IPerspectiveFactory तक पहुंच है, जो org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout (e4 stuff) होता है।

अब, यह ModeledPageLayout कार्यान्वयन उचित है, लेकिन कोई दस्तावेज और अजीब सार्वजनिक एपीआई भी नहीं है। यह किसी अन्य रिश्तेदार पर नजर डालने की संभावना देता है

modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);

यह 2.1 का प्रोग्रामेटिक संस्करण होगा। साथ ही, वही समस्या यहां दिखाई देती है। यदि कोई दृश्य कहीं और खोला गया है, तो ऊपर दिया गया कोड बेकार हो जाता है।

दिलचस्प दिलचस्प है, stackView एपीआई वाइल्डकार्ड का समर्थन नहीं करता है (जबकि addView जैसे अन्य लोग)।

2.3) संभावित फिक्स नंबर 3: कामकाज याय!

मेरे पास बहुत सारे दृष्टिकोण हैं, और प्रत्येक में कई अलग-अलग फ़ोल्डर्स हैं। सब कुछ ठीक से रखा गया है।

चूंकि ग्रहण सिस्टम के आसपास हर जगह से सभी दृश्य आईडी प्राप्त करने के लिए एपीआई प्रदान करता है, इसलिए मैं निम्नलिखित परिप्रेक्ष्य में निम्नलिखित करना चाहता हूं: प्रत्येक व्यू आईडी जो किसी विशिष्ट फ़ोल्डर में नहीं जोड़ा गया था उसे संपादक क्षेत्र (यानी संपादक फ़ोल्डर) में जोड़ा जाएगा , संपादक ढेर)

यह मेरा आखिरी उपाय होगा, जब तक कि कोई अधिक सुविधाजनक और समय-समय पर समाधान प्रदान न करे।

याद रखें, एक ई 4 प्रोग्रामेटिक विकल्प अधिक लचीला है!

3.) संबंधित प्रश्न

इन्हें ई 4 रिलीज के लिए बहिष्कृत किया जाएगा।

4.) ग्रहण की बगजिला पर संबंधित बग:

मेरे द्वारा खोला गया हालिया बग एक छोटा सा एसएससीसीई के साथ लगाव है। इसे पुन: पेश करने के लिए कदम इस टिप्पणी में वर्णित हैं, इसलिए मैं उन्हें यहां कॉपी-पेस्ट नहीं कर रहा हूं।