2013-03-26 5 views
2

이것은 일종의 초보자 질문입니다. 모든 자습서에서는 iFile 객체 클래스에 명령을 추가하는 방법을 보여줍니다. 함수 또는 클래스에 대한 명령을 등록하는 plugin.xml 파일의 예를 보여줄 수 있습니까?Eclipse에서 함수 또는 클래스의 오른쪽 클릭 메뉴에 명령을 추가하는 방법은 무엇입니까?

내가 달성하고 싶은 것은 아웃 라인보기 나 코드 자체에서 클래스 나 함수 이름을 마우스 오른쪽 버튼으로 클릭하고 컨텍스트 메뉴에서 새로운 명령을 사용하는 것입니다.

답변

2

열쇠는 을 표시 할 때 부분이 올바르게 사용됩니다. 이것은 자바 메소드 나 클래스를 선택한 경우에만 볼 수있는 프로젝트 탐색기의 명령 보여주는 예입니다

<menuContribution 
     locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu"> 
    <command 
      commandId="__your.command.id__" 
      id="your.contribution.id" 
      label="Some Label" 
      style="push"> 
     <visibleWhen 
       checkEnabled="false"> 
      <iterate 
       ifEmpty="false" 
       operator="and"> 
       <or> 
       <instanceof 
         value="org.eclipse.jdt.core.IType"> 
       </instanceof> 
       <instanceof 
         value="org.eclipse.jdt.core.IMethod"> 
       </instanceof> 
       </or> 
      </iterate> 
     </visibleWhen> 
    </command> 
    </menuContribution> 

진짜 뭔가 commandId을 설정하는 것을 잊지 마십시오.

속성 및 선택 테스트에 대한 자세한 내용은 here을 참조하십시오.

+0

이것은 ProjectExplorer에서만 레이블을 보여줍니다. 어떤 상황에서도 (예 : 소스 편집기에서) 표시하려면 어떻게해야하나요? – Patryk

+0

locationURI에 ** popup : org.eclipse.ui.popup.any **를 사용하십시오. 이것은 Project Explorer, Package Explorer, Outline View, Type Hierarchy, Members 등의 메뉴 기여도를 지원하는 각 부분에서 볼 수 있습니다. 편집기의 경우 AFAIK (context menu action)를 제공하는 다른 메커니즘을 사용합니다. – dreo

0

예제를 기반으로 hereobjectClass은 메서드 또는 클래스의 IType을 IMethod로 변경해야합니다.

P.S : 객체의 종류는 플러그인 SelectionSpy 메뉴를 사용할 수있는 표현을 확인하기 위해

. 개체를 선택하고 CtrlShift + 을 클릭하십시오.