me tomó un tiempo resolver este problema exacto en este momento, así que voy a responder a la pregunta de OP (agregar a Archivo-> Nuevo menú).
Dónde contribuir (common.new.menú)
Gracias a esta publicación, descubrí que desea contribuir a la ventana emergente: common.new.menu? after = new. ¿Porque preguntas? diablos si lo sé; pero funciona.
Resultado
(Cuando C/C++ es perspectiva activo)
(W gallina 'no' C/C++ como perspectiva activo)
Aquí está mi ejemplo plugin:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.commands">
<command
defaultHandler="com.justin.debug.SampleHandler"
id="com.justin.debug.commands.sampleCommand"
name="Sample Command">
</command>
</extension>
<extension
point="org.eclipse.ui.menus">
<menuContribution
locationURI="popup:common.new.menu?after=new">
<command
commandId="com.justin.debug.commands.sampleCommand"
icon="icons/sample.gif"
label="New Root Command From Justin"
style="push">
<visibleWhen
checkEnabled="false">
<with
variable="activeWorkbenchWindow.activePerspective">
<equals
value="org.eclipse.cdt.ui.CPerspective">
</equals>
</with>
</visibleWhen>
</command>
</menuContribution>
<menuContribution
locationURI="popup:common.new.menu?after=new">
<menu
id="org.ecilpse.ui.navigator.ProjectExplorer.helloJustin"
label="Hello Justin">
<command
commandId="com.justin.debug.commands.sampleCommand"
icon="icons/sample.gif"
label="New Submenu Command From Justin"
style="push">
</command>
</menu>
</menuContribution>
</extension>
</plugin>
I añadió una parte importante aquí, el parámetro 'visibleWhen'. Esto solo muestra New Root Command From Justin cuando está en la perspectiva C/C++. Resulta ser difícil de entender, por lo tanto, mi inclusión en el ejemplo. Éstos son recursos útiles Desenterré mientras que la investigación que:
Desenterré el nombre de la C Perspectiva org.eclipse.cdt.ui.CPerspective por dolorosamente explorando el complemento plugin.xml del complemento org.eclipse.cdt.ui.
ahora si alguien pudiera decirme cómo ver fácilmente estas uri/resources/properties en el futuro ... omg.
Creo que org.eclipse.ui.popupMenus está privado ahora vea http://stackoverflow.com/questions/5915550/missing-link-between-objectcontribution-and-command –
@Prashant: muy buen punto. He editado mi respuesta para reflejar su comentario. – VonC
@VonC Los enlaces de eclipse.org en su respuesta ahora están rotos. – reprogrammer