ฉันกำลังทำงานกับไฮบริด 3.8-e4 (เช่นเรามีการพึ่งพา Luna แต่เรายังไม่ได้ใช้Application.e4xmi ) ดังนั้นเราจึงเรียกใช้เลเยอร์ขนาดกะทัดรัด
ด้วยเหตุนี้จึงเป็นการดีที่จะหาวิธีทางโปรแกรม e4 เพื่อซ้อนมุมมองที่น่ารังเกียจเหล่านี้ลงในโฟลเดอร์ตัวแก้ไข
1. ) ปัญหา
ฉันต้องการวางโฟลเดอร์มุมมองทั่วไปในพื้นที่ตัวแก้ไขเพื่อให้แต่ละมุมมองที่เปิดในรันไทม์เปิดขึ้นที่นั่น
(รูปที่ขโมยมาจากคำถามนี้ )
2.1) การแก้ไขที่เป็นไปได้หมายเลข 1: การใช้ plugin.xml
สร้างส่วนขยายมุมมองและเพิ่มแต่ละมุมมองไปได้ที่จะขยายที่มีสแต็ความสัมพันธ์มากกว่าญาติ org.eclipse.ui.editorss สิ่งนี้ไม่สะดวกเล็กน้อยหากคุณมีมุมมองที่เปิดกว้างเกินไปและหากโครงการขยายอย่างรวดเร็ว ฉันยังสังเกตเห็นว่ารหัสการดูสัญลักษณ์แทนใช้ไม่ได้ที่นี่
หากคุณพบว่าตัวเองมีเวลาเพิ่มมุมมองที่เป็นไปได้แต่ละมุมมองลงในส่วนขยายเปอร์สเปคทีฟนั่นก็ใช้ได้ แม้ว่าหากคุณเปิดมุมมองที่ไม่ได้เพิ่มไว้ที่นี่ (เช่น: เปิดในโฟลเดอร์อื่น) จากนั้นแต่ละมุมมองที่เปิดตามมาจะถูกเปิดในโฟลเดอร์ก่อนหน้าและไม่อยู่ในพื้นที่ตัวแก้ไข (สอบถามคำอธิบายเพิ่มเติมหากคุณไม่ รับมัน)
2.2) การแก้ไขที่เป็นไปได้หมายเลข 2: การใช้รหัสในโรงงานเปอร์สเปคทีฟ
ในการIPerspectiveFactory
ที่เราจะมีการเข้าถึงIPageLayout
ที่เกิดขึ้นจะเป็นorg.eclipse.ui.internal.e4.compatibility.ModeledPageLayout
(สิ่ง e4)
ตอนนี้ModeledPageLayout
การใช้งานนี้มีความสมเหตุสมผล แต่ยังไม่มีเอกสารประกอบและ API สาธารณะแปลก ๆ สิ่งนี้ให้ความเป็นไปได้ในการซ้อนมุมมองมากกว่าญาติอื่น ๆ
modeledPageLayout.stackView("newView0", IPageLayout.ID_EDITOR_AREA);
นี้จะเป็นรุ่นที่ใช้โปรแกรม2.1 นอกจากนี้ปัญหาเดียวกันนี้ยังปรากฏที่นี่ หากมุมมองถูกเปิดไว้ที่อื่นโค้ดด้านบนจะไร้ประโยชน์
น่าสนใจพอstackView
API ไม่รองรับสัญลักษณ์แทน (ในขณะที่คนอื่น ๆ เช่นaddView
do)
2.3) การแก้ไขที่เป็นไปได้หมายเลข 3: วิธีแก้ปัญหา yaaay!
ฉันมีมุมมองมากมายและมีโฟลเดอร์ต่างๆมากมายในแต่ละโฟลเดอร์ ทุกอย่างถูกจัดวางอย่างแม่นยำ
เนื่องจาก Eclipse เสนอ API เพื่อรับ ID มุมมองทั้งหมดจากทุกที่รอบ ๆ ระบบฉันต้องการทำสิ่งต่อไปนี้ต่อมุมมอง: ID มุมมองแต่ละรายการที่ไม่ได้เพิ่มลงในโฟลเดอร์เฉพาะจะต่อท้ายพื้นที่ตัวแก้ไข (เช่นโฟลเดอร์ตัวแก้ไข , กองบรรณาธิการ)
นี่จะเป็นทางเลือกสุดท้ายของฉันเว้นแต่จะมีใครเสนอวิธีแก้ปัญหาที่สะดวกและประหยัดเวลากว่า
อย่าลืมว่าทางเลือกแบบเป็นโปรแกรม e4 มีความยืดหยุ่นมากกว่า!
3. ) คำถามที่เกี่ยวข้อง
- Eclipse RCP - เปิดมุมมองในโฟลเดอร์ Editor
- Eclipse RCP - การซ้อนมุมมองด้วยพื้นที่เอดิเตอร์?
- มุมมอง Eclipse แบบกำหนดเองโดยมีมุมมองที่มองไม่เห็นในตอนแรกซ้อนกันไปยังพื้นที่ตัวแก้ไข
- คำถาม Google Lars ตอบ
สิ่งเหล่านี้จะถูกเลิกใช้งานสำหรับรุ่น e4
4. ) Bug ที่เกี่ยวข้องกับ Bugzilla ของ Eclipse:
ข้อผิดพลาดล่าสุดที่เปิดโดยตัวฉันเองมีไฟล์แนบที่มี SSCCE ขนาดเล็ก ขั้นตอนในการสร้างซ้ำมีอธิบายไว้ในความคิดเห็นนี้ดังนั้นฉันจะไม่คัดลอกวางที่นี่