Eclipse RCP-편집기 영역에서보기 열기 (3.8 / e4 하이브리드)


106

저는 3.8-e4 하이브리드를 작업 중입니다 (즉, Luna 종속성이 있지만 아직 Application.e4xmi를 사용 하지 않습니다 ). 그래서 우리는 기본적으로 컴팩트 레이어를 실행하고 있습니다.

그렇게 말하면 이러한 불쾌한 뷰를 편집기 폴더에 쌓는 e4 프로그래밍 방식을 찾는 것이 좋을 것입니다.


1.) 문제

에디터 영역에 일반 뷰 폴더를 배치하여 런타임에 열리는 각 뷰가 그곳에서 열리도록하고 싶습니다.

편집기 폴더에서보기

( 이 질문 에서 도난당한 사진 )


2.1) 가능한 수정 1 번 : plugin.xml 사용

Perspective 확장을 작성하고 상대 org.eclipse.ui.editorss에 대한 관계 스택 을 사용하여 해당 확장에 가능한 각보기를 추가하십시오 . 열릴 수있는 뷰가 너무 많고 프로젝트가 빠르게 확장되는 경우 이는 약간 불편합니다. 또한 와일드 카드보기 ID가 여기서 작동하지 않는다는 것을 알았습니다.

Perspective 확장이있는 plugin.xml의 SS

Perspective 확장에 가능한 각보기를 추가 할 시간을 찾으면 작동합니다. 그러나 여기에 추가되지 않은보기 (예 : 다른 폴더에서 열기)를 열면 이후에 열린 각보기는 편집기 영역이 아닌 이전 폴더에서 열립니다 (그렇지 않은 경우 추가 설명을 요청하십시오). 그것을 얻으십시오).


2.2) 가능한 수정 2 번 : Perspective 팩토리에서 코드 사용

에서 IPerspectiveFactory, 우리는에 액세스 할 수 있습니까 IPageLayout될 일이,org.eclipse.ui.internal.e4.compatibility.ModeledPageLayout (E4 물건을).

이제이 ModeledPageLayout구현은 합리적이지만 문서 및 이상한 공용 API도 없습니다. 이것은 다른 친척 위에 뷰를 쌓을 수있는 가능성을 제공합니다.

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

이것은 2.1 의 프로그래밍 방식 버전입니다 . 또한 동일한 문제가 여기에 나타납니다. 뷰가 다른 곳에서 열리면 위의 코드는 쓸모 없게됩니다.

흥미롭게도 stackViewAPI는 와일드 카드를 지원하지 않습니다 addView.


2.3) 가능한 수정 번호 3 : 해결 방법 yaaay!

나는 많은 관점을 가지고 있고 각각의 많은 다른 폴더를 가지고 있습니다. 모든 것이 정확하게 배치됩니다.

Eclipse는 시스템의 모든 곳에서 모든 뷰 ID를 가져 오는 API를 제공하기 때문에 관점별로 다음을 수행하고 싶습니다 . 특정 폴더에 추가되지 않은 각 뷰 ID가 편집기 영역 (예 : 편집기 폴더)에 추가됩니다. , 편집기 스택) .

누군가가 더 편리하고 시간을 절약하는 솔루션을 제공하지 않는 한 이것이 나의 마지막 수단이 될 것입니다.

e4 프로그래밍 방식의 대안이 더 유연하다는 것을 기억하십시오!


3.) 관련 질문

e4 릴리스에서는 더 이상 사용되지 않습니다.


4.) Eclipse의 Bugzilla 관련 버그 :

내가 최근에 열어 본이 버그 에는 작은 SSCCE가 첨부되어 있습니다. 이를 재현하는 단계는 이 주석에 설명되어 있으므로 여기에 복사하여 붙여 넣지 않겠습니다.


3.x 호환성 코드가 포함되어있을 때 이것이 가능할 것 같지는 않습니다. e4 API를 사용하여 편집기 영역에 뷰를 배치 할 수 있지만 호환성 코드를 혼동 할 수 있습니다.
greg-449 2014

1
편집기를 사용하지 않는 경우 공유 영역을 최소화하고 원하는대로 레이아웃을 디자인하면됩니다.
bebbo

이것이 바로 작동하는 최신 버전으로 이동하십시오.
bebbo 2015

@bebbo 저는 편집기를 사용하고 있으며 모든 것을 한 번에 e4로 옮길 수 없습니다. 엔터프라이즈 소프트웨어. :-)
GGrec 2015

답변:


1

이 작업을 수행하는 더 빠른 방법이 없다고 생각하므로 가능한 수정 번호 3을 사용하는 것이 좋습니다.


pripr 답변이있는 제안은 새로운 답변 대신 주석으로 작성 될 수 있습니다.
Mahalakshmi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.