2012-09-17 7 views
1

내 플러그인을 통해 Eclipse에서 속성 페이지를 추가하고 싶습니다. 이 속성 페이지는 내 본성의 프로젝트에만 사용할 수 있어야합니다. 나는 Eclipse PropertyPage 활성화

<extension 
    point="org.eclipse.ui.propertyPages"> 
<page 
     class="com.test.me.ME" 
     id="com.test.me.ME" 
     name="ME"> 
    <and> 
     <instanceof 
       value="org.eclipse.core.resources.IProject"> 
     </instanceof> 
     <adapt 
       type="org.eclipse.core.resources.IResource"> 
       <test 
        property="org.eclipse.core.resources.projectNature" 
        value="com.test.me.meprojectnature"> 
       </test> 
    </adapt> 
</and> 
</page> 

위의 코드는 프로젝트 탐색기 및 네비게이터보기에서 프로젝트를 위해 잘 작동 plugin.xml에

에 아래의 코드를 작성했습니다. 그러나 패키지 탐색기보기에서는이 기능이 작동하지 않습니다.

그래서 패키지 탐색기보기와 동일한 기능을 어떻게 수행합니까?

답변

0

나는 그것을 시도하지 않은하지만 내 의견은 당신이 당신은 당신의 instanceof를 체크 안에 적응 이동해야

+0

를 내가 말할 방법 내가하고있는 수표는 패키지 탐색기보기입니다. – Ramg

2

(예를 org.eclipse.jdt.core.IJavaProject에 대한)이 어떤 입력 시도해야, 패키지 탐색기에없는 org.eclipse.core.resources.IProject 요소가 있다는 것입니다.

+0

동의어로 작성한 것처럼 노드는 본질적으로 무언가에 적응할 수있을뿐만 아니라 IProject가되어야합니다. – nitind

1

@nitind가 맞습니다. 너무 많은 제약 조건을 지정하고 있습니다. 당신이하고 싶은 말은 "선택 영역이 IProject에 적용 할 때 사용하고 그것의"projectNaure 내 성격을 "속성이 포함됩니다" "

이 그것을 수행해야합니다.

<extension point="org.eclipse.ui.propertyPages"> 
    <page 
     name="My Property Page" 
     class="some.package.MyPropertyPage" 
     id="some.package.MyPropertyPage"> 
    <enabledWhen> 
     <adapt type="org.eclipse.core.resources.IProject"> 
       <test 
       property="org.eclipse.core.resources.projectNature" 
       value="some.package.MyNatureID"/> 
     </adapt>   
    </enabledWhen> 
    </page>