2011-08-18 2 views
3

Eclipse 플러그인을 개발 중이며 Eclipse 3.7에서 소스 메뉴 (mainMenubar/Source - 자바 편집기에서 편집 할 때 표시됨)를 확장하려고합니다.Eclipse에서 소스 메뉴를 확장하는 방법은 무엇입니까? (또는 : 위치 란 무엇입니까?)

documentation은 이전 확장 점이 사용되지 않으므로 org.eclipse.ui.menus 확장 점에 의존한다고 말합니다. 신뢰할 수있는 locationURI를 얻을 수있는 곳은 나에게 완벽한 비밀이지만, 마침내 Plugin Spy (조언 : here)를 사용하여 그럴듯한 URI를 찾을 수있었습니다. 내 개발 IDE를위한 플러그인을 실행할 때

<extension 
point="org.eclipse.ui.menus"> 
<menuContribution 
    locationURI="menu:org.eclipse.jdt.ui.source.menu"> 
    <command 
    commandId="some.command.id" 
     label="Some label" 
     style="push"> 
    </command> 
</menuContribution> 
</extension> 

불행하게도, 어떤 명령은 표시되지 않습니다, 또한 오류 메시지 : 그래서 다음 plugin.xml에 대한 확장 조각이어야한다. 아무 일도 일어나지 않습니다. locationURI를 "menu : help"로 설정하면 새 명령이 도움말 메뉴에 표시되므로 문제는 실제로 locationURI 인 것 같습니다.

<!-- main menu --> 
<extension point="org.eclipse.ui.actionSets"> 
    <actionSet label="Java Coding" 
      description="Action set containing coding related Java actions" 
      visible="true" 
      id="org.eclipse.jdt.ui.CodingActionSet2"> 
    <menu label="&amp;Source" 
      path="edit" 
      id="org.eclipse.jdt.ui.source.menu"> 
    </menu> 
    <action class="org.gsoc.eclipse.tostringgenerator.actions.GenerateToStringActionDelegate " 
      id="org.gsoc.eclipse.tostringgenerator.action" 
      label="Generate to&amp;String()..." 
      menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup"> 
    </action> 
    </actionSet> 
</extension> 
+0

난 당신'에있을 때 JDT 아마 활성화의'org.eclipse.jdt.ui.CodingActionSet'의 액션 세트에'Source' 메뉴 항목을 추가하는 생각 : 다음은 작업 예입니다 자바 '관점. 당신 자신의 관점이 있습니까? – sgibly

답변

3

내가 같은 문제로 실행 :

+0

이것은 여전히 ​​사실입니까? – Eyal

3

This thread reports 메인 소스 메뉴에서 항목을 추가하는 데. 마지막으로 (권장) 확장 점 org.eclipse.ui.menus을 사용하여 소스 메뉴를 확장하는 것이 불가능하다는 것을 알았습니다.

org.eclipse.ui.menus- 확장자 처리 후에 이전 스타일 (소스 메뉴와 같은)으로 정의 된 메뉴가 만들어 졌기 때문입니다. 그 확장은 기존의 메뉴에만 기여할 수 있습니다. (VonC에 의해 제안)

그래서

1

당신은 대신 menu: 공간의 popup: 공간을 사용할 수 있습니다 ... 아마도 새로운 접근 방식으로 마이그레이션하는 jdt 플러그인 때까지 최선의 방법입니다 이전 API에 나와.

<extension point="org.eclipse.ui.commands"> 
    <command defaultHandler="com.igenox.plugin.dpbuilder.rcp.handler.CreateBuilderHandler" 
     id="com.igenox.plugin.DPBuilder.CreateBuilderPattern" name="CreateBuilderPattern"> 
    </command> 
</extension> 
<extension point="org.eclipse.ui.menus"> 
    <menuContribution 
     locationURI="popup:org.eclipse.jdt.ui.source.menu?after=DPSeparator"> 
     <command commandId="com.igenox.plugin.DPBuilder.CreateBuilderPattern" 
      id="createBuilder" label="Create Builder Pattern"> 
     </command> 
    </menuContribution> 
    <menuContribution 
     locationURI="popup:org.eclipse.jdt.ui.source.menu?after=additions"> 
     <separator name="DPSeparator" visible="true"> 
     </separator> 
    </menuContribution> 
</extension> 
관련 문제