How to add new command this? - eclipse

<menuContribution
allPopups="false"
locationURI="popup:common.new.menu?after=additions">
<command
commandId="newproproject"
label="My PRO Application Debug"
style="push">
</command>
</menuContribution>
I want to add new command at red-box.
But i don't know there locationURI.
I was try to do "ALT+Shift+F2".
But i can't know it.
What is there locationUri?

This doesn't work this way.
This is another extension point. I also struggeled with this.
It has to look like this:
<plugin>
<extension point="org.eclipse.debug.core.launchConfigurationTypes">
<launchConfigurationType
delegate="com.example..launch.ExampleLaunchConfigurationDelegate"
id="com.example.launch"
modes="run, debug"
name="MyLauncher">
</launchConfigurationType>
</extension>
</plugin>
You have to Implement ILaunchConfigurationDelegate in the Delegateclass.

Related

Add menu entry to Configure menu in Eclipse

I develop an Eclipse plug-in and I need to add an entry to the Configure menu. I don't find any way to do this.
My plug-in extension look like this:
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="true"
locationURI="menu:org.eclipse.ui.projectConfigure?after=org.eclipse.m2e.enableNatureAction">
<command
commandId="org.tatami.commands.commandConfigure"
label="Convert to Tatami Project"
style="push">
</command> tooltip="Convert to Tatami Project">
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
defaultHandler="tatami.commands.ConfigureHandler"
description="Ajouter le framework de test Tatami au Projet"
id="org.tatami.commands.commandConfigure"
name="Convert to Tatami Project">
</command>
</extension>
Do you find any error in my code?
did you find any error when starting ?
You could try :
locationURI="popup:org.eclipse.ui.projectConfigure?after=additions">

How can I reference an icon from a plugin?

I have an Eclipse RCP application with some plugins and some commands. For one of the commands I want to use an icon from one of the included plugins.
The plugin is called com.example.plugin.workspace and the path to the icon is icons/workspace.png.
I would like to reference it in my application's plugin.xml, where I want to add the command to a toolbar:
<menuContribution
allPopups="false"
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
<toolbar
id="com.example.application.displays.toolbar">
<command
commandId="com.example.application.system.command.OpenWorkspace"
icon="PATH TO ICON IN PLUGIN"
label="Open Workspace"
style="push">
</command>
</toolbar>
</menuContribution>
Can I reference the icon of the plugin there, and if yes, how?
An icon from an included plugin can be referenced in the XML with the prefix:
platform:/plugin/Bundle-SymbolicName/path/filename.extension
See http://www.vogella.com/tutorials/EclipseRCP/article.html#runtime_uri
So, in the example of the question, that would be:
platform:/plugin/com.example.plugin.workspace/icons/workspace.png
For the toolbar contribution:
<menuContribution
allPopups="false"
locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
<toolbar
id="com.example.application.displays.toolbar">
<command
commandId="com.example.application.system.command.OpenWorkspace"
icon="platform:/plugin/com.example.plugin.workspace/icons/workspace.png"
label="Open Workspace"
style="push">
</command>
</toolbar>
</menuContribution>

Standard Menu does not appear on eclipse plugin

I am writing an Eclipse plugin for which I want to re-use the File > New... menu leading to the wizard to include my start menu's. For this, I have the following simple code:
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="menu:file">
<menu label="New">
<command
commandId="org.eclipse.ui.file.newQuickMenu">
</command>
</menu>
</menuContribution>
</extension>
My expectation is that I should see File > New... But no such menu appears. What am I missing?

Eclipse plugin: Disable context menu contributon if no xml is selected

We're developing an eclipse-plugin and have some contributions for the context-menu in the package-explorer. Using the old org.eclipse.ui.popupMenus, we could specify a name-filter in the contribution, so the menu-entry is only shown if the selected file has a specific name:
<extension
point="org.eclipse.ui.popupMenus">
<objectContribution
adaptable="false"
id="..."
nameFilter="file.xml"
objectClass="org.eclipse.core.resources.IFile">
...
</objectContribution>
</extension>
Now, we want to use the new way to create that context-menu and can also disable the entry, if it's no file:
<extension
point="org.eclipse.ui.menus">
<menuContribution
allPopups="false"
locationURI="popup:org.eclipse.jdt.ui.PackageExplorer">
<command
commandId="..."
label="..."
style="push">
</command>
</menuContribution>
</extension>
<extension
point="org.eclipse.ui.commands">
<command
id="..."
name="...">
</command>
</extension>
<extension
point="org.eclipse.ui.handlers">
<handler
class="..."
commandId="...">
<activeWhen>
<with
variable="selection">
<iterate
ifEmpty="false"
operator="and">
<adapt
type="org.eclipse.core.resources.IFile">
</adapt>
</iterate>
</with>
</activeWhen>
</handler>
</extension>
(Also compare: Enable/disable menu item in Eclipse plugin)
However, we not only want to disable the entry, when there's no file selected, but also, when the file isn't an xml-file. We tried to hack something in the <activeWhen>-tag, but we couldn't find a solution to let it watch the filename, too.
Is there a possibility to do this? And if: How?
There is an Eclipse wiki page about Menu Contributions/IFile objectContribution which might help. I haven't tested it myself, but it seems the nameFilter attribute of the action-based extension can be replaced with a call to a predefined property tester with id org.eclipse.core.resources.name when using the command framework.

How to extend the source menu in Eclipse? (or: What is its locationURI?)

I am developing an eclipse plugin and trying to extend the source menu (mainMenubar/Source - visible when editing in the java-editor) in Eclipse 3.7.
The documentation says to rely on the org.eclipse.ui.menus-extension point since the older extension points are deprecated. It is a complete secret to me where to obtain reliable locationURIs, but I finally managed to find some plausible URI with the Plugin Spy (following an advice here).
So the following should be the extension snippet for the plugin.xml:
<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>
Unfortunately, when running the plugin for my development IDE no command appears, and also no error message. Just nothing happens. When I set the locationURI to "menu:help", the new command appears in the help menu, so the problem seems to be really the locationURI.
This thread reports having added an entry in the main Source menu:
<!-- 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="&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&String()..."
menubarPath="org.eclipse.jdt.ui.source.menu/generateGroup">
</action>
</actionSet>
</extension>
I ran into the same problem. I finally figured out that extending the Source menu using the (recommended) extension point org.eclipse.ui.menus is not possible.
The reason is that a menu defined in an old style actionSet (like the Source menu) is created after the processing of org.eclipse.ui.menus-extensions. The way it is, these extensions can only contribute to already existing menus.
So sticking to the old API (as suggested by VonC) is probably the best option until the jdt plugin is migrated to the new approach...
You can use the popup: space instead of the menu: space. Here is a working example:
<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>