Eclipse RCP - เปิดมุมมองในพื้นที่ตัวแก้ไข (ไฮบริด 3.8 / e4)


106

ฉันกำลังทำงานกับไฮบริด 3.8-e4 (เช่นเรามีการพึ่งพา Luna แต่เรายังไม่ได้ใช้Application.e4xmi ) ดังนั้นเราจึงเรียกใช้เลเยอร์ขนาดกะทัดรัด

ด้วยเหตุนี้จึงเป็นการดีที่จะหาวิธีทางโปรแกรม e4 เพื่อซ้อนมุมมองที่น่ารังเกียจเหล่านี้ลงในโฟลเดอร์ตัวแก้ไข


1. ) ปัญหา

ฉันต้องการวางโฟลเดอร์มุมมองทั่วไปในพื้นที่ตัวแก้ไขเพื่อให้แต่ละมุมมองที่เปิดในรันไทม์เปิดขึ้นที่นั่น

ดูในโฟลเดอร์ตัวแก้ไข

(รูปที่ขโมยมาจากคำถามนี้ )


2.1) การแก้ไขที่เป็นไปได้หมายเลข 1: การใช้ plugin.xml

สร้างส่วนขยายมุมมองและเพิ่มแต่ละมุมมองไปได้ที่จะขยายที่มีสแต็ความสัมพันธ์มากกว่าญาติ org.eclipse.ui.editorss สิ่งนี้ไม่สะดวกเล็กน้อยหากคุณมีมุมมองที่เปิดกว้างเกินไปและหากโครงการขยายอย่างรวดเร็ว ฉันยังสังเกตเห็นว่ารหัสการดูสัญลักษณ์แทนใช้ไม่ได้ที่นี่

SS ของ plugin.xml พร้อมส่วนขยายเปอร์สเปคทีฟ

หากคุณพบว่าตัวเองมีเวลาเพิ่มมุมมองที่เป็นไปได้แต่ละมุมมองลงในส่วนขยายเปอร์สเปคทีฟนั่นก็ใช้ได้ แม้ว่าหากคุณเปิดมุมมองที่ไม่ได้เพิ่มไว้ที่นี่ (เช่น: เปิดในโฟลเดอร์อื่น) จากนั้นแต่ละมุมมองที่เปิดตามมาจะถูกเปิดในโฟลเดอร์ก่อนหน้าและไม่อยู่ในพื้นที่ตัวแก้ไข (สอบถามคำอธิบายเพิ่มเติมหากคุณไม่ รับมัน)


2.2) การแก้ไขที่เป็นไปได้หมายเลข 2: การใช้รหัสในโรงงานเปอร์สเปคทีฟ

ในการIPerspectiveFactoryที่เราจะมีการเข้าถึงIPageLayoutที่เกิดขึ้นจะเป็นorg.eclipse.ui.internal.e4.compatibility.ModeledPageLayout(สิ่ง e4)

ตอนนี้ModeledPageLayoutการใช้งานนี้มีความสมเหตุสมผล แต่ยังไม่มีเอกสารประกอบและ API สาธารณะแปลก ๆ สิ่งนี้ให้ความเป็นไปได้ในการซ้อนมุมมองมากกว่าญาติอื่น ๆ

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

นี้จะเป็นรุ่นที่ใช้โปรแกรม2.1 นอกจากนี้ปัญหาเดียวกันนี้ยังปรากฏที่นี่ หากมุมมองถูกเปิดไว้ที่อื่นโค้ดด้านบนจะไร้ประโยชน์

น่าสนใจพอstackViewAPI ไม่รองรับสัญลักษณ์แทน (ในขณะที่คนอื่น ๆ เช่นaddViewdo)


2.3) การแก้ไขที่เป็นไปได้หมายเลข 3: วิธีแก้ปัญหา yaaay!

ฉันมีมุมมองมากมายและมีโฟลเดอร์ต่างๆมากมายในแต่ละโฟลเดอร์ ทุกอย่างถูกจัดวางอย่างแม่นยำ

เนื่องจาก Eclipse เสนอ API เพื่อรับ ID มุมมองทั้งหมดจากทุกที่รอบ ๆ ระบบฉันต้องการทำสิ่งต่อไปนี้ต่อมุมมอง: ID มุมมองแต่ละรายการที่ไม่ได้เพิ่มลงในโฟลเดอร์เฉพาะจะต่อท้ายพื้นที่ตัวแก้ไข (เช่นโฟลเดอร์ตัวแก้ไข , กองบรรณาธิการ)

นี่จะเป็นทางเลือกสุดท้ายของฉันเว้นแต่จะมีใครเสนอวิธีแก้ปัญหาที่สะดวกและประหยัดเวลากว่า

อย่าลืมว่าทางเลือกแบบเป็นโปรแกรม e4 มีความยืดหยุ่นมากกว่า!


3. ) คำถามที่เกี่ยวข้อง

สิ่งเหล่านี้จะถูกเลิกใช้งานสำหรับรุ่น e4


4. ) Bug ที่เกี่ยวข้องกับ Bugzilla ของ Eclipse:

ข้อผิดพลาดล่าสุดที่เปิดโดยตัวฉันเองมีไฟล์แนบที่มี SSCCE ขนาดเล็ก ขั้นตอนในการสร้างซ้ำมีอธิบายไว้ในความคิดเห็นนี้ดังนั้นฉันจะไม่คัดลอกวางที่นี่


ฉันคิดว่ามันไม่น่าเป็นไปได้มากที่จะสามารถทำได้เมื่อรวมรหัสความเข้ากันได้ 3.x คุณอาจวางมุมมองในพื้นที่ตัวแก้ไขโดยใช้ e4 API ได้ แต่ฉันคาดว่าจะทำให้รหัสความเข้ากันได้สับสน
greg-449

1
หากคุณไม่ได้ใช้เครื่องมือแก้ไขใด ๆ ให้ย่อขนาดพื้นที่ที่ใช้ร่วมกันและออกแบบเค้าโครงตามที่คุณต้องการ
bebbo

ก้าวไปสู่เวอร์ชันใหม่ล่าสุดที่ใช้งานได้ทันที
bebbo

@bebbo ฉันใช้บรรณาธิการและฉันไม่สามารถย้ายสิ่งทั้งหมดไปที่ e4 ได้ในคราวเดียว ซอฟต์แวร์สำหรับองค์กร :-)
GGrec

คำตอบ:


1

ฉันขอแนะนำให้คุณใช้ Possible fix no.3 เนื่องจากฉันคิดว่าไม่มีวิธีที่เร็วกว่าในการทำเช่นนี้


ข้อเสนอแนะใด ๆ ที่มีคำตอบที่ไม่เหมาะสมอาจทำให้เกิดความคิดเห็นแทนคำตอบใหม่
Mahalakshmi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.