Launch Delegates
Identifier:
org.eclipse.debug.core.launchDelegates
Since:
3.0
Description:
This extension point provides a mechanism for contributing a launch delegate to an existing launch configuration type for one or more launch modes. Since launch modes are extensible, it may be neccessary to contribute additional launch delegates to an existing launch configuration type. Each launch delegate is contributed for a specific launch configuration type. A launch delegate supports one or more launch modes, and specifies a delegate responsible for the implementation of launching.
Configuration Markup:
<!ELEMENT extension (
launchDelegate+)>
<!ATTLIST extension
point CDATA #REQUIRED
id CDATA #IMPLIED
name CDATA #IMPLIED
>
-
point - a fully qualified identifier of the target extension point
-
id - an optional identifier of the extension instance
-
name - an optional name of the extension instance
<!ELEMENT launchDelegate (
modeCombination+)?>
<!ATTLIST launchDelegate
id CDATA #REQUIRED
name CDATA #IMPLIED
delegate CDATA #REQUIRED
modes CDATA #IMPLIED
type IDREF #IMPLIED
sourcePathComputerId IDREF #IMPLIED
sourceLocatorId IDREF #IMPLIED
delegateDescription CDATA #IMPLIED
>
-
id - specifies a unique identifier for this launch delegate.
-
name - A human readable name for this delegate - for example, "Eclipse JDT Launcher". This name is presented to the user when more than one launcher is available for a launch configuration and the user must choose a preferred launcher. This attribute was added in the 3.3. release.
-
delegate - specifies the fully qualified name of the Java class that implements
ILaunchConfigurationDelegate
.
Launch configuration instances of this delegate's type will delegate to instances of this class to perform launching in the modes this launch delegate supports - see the modes
attribute and the modeCombination
element.
-
modes - A comma-separated list of the individual launch modes this delegate supports.
This attribute should be used when a launch delegate supports single launch modes - for example launching in run mode or debug mode. When a launch delegate supports launching in mixed mode (for example, debug and profile), the modeCombination
element should be used to specify supported launch mode combinations.
This attribute can be used in conjunction with modeCombination
elements. It is suggested practice to provide one or the other (either a comma seperated listing in the modes
attribute, or modeCombinations
). Specifying 'run,debug' in the modes attribute is analogous to specifying two modeCombination
contributions, one for 'run' and another for 'debug'.
-
type - identifier of an existing launch configuration type that this launch delegate is capable of launching.
-
sourcePathComputerId - The unique identifier of a sourcePathComputer extension that is used to compute a default source lookup path for launch configurations of this type. Since 3.1, this attribute cab be specified in a launchDelegate extension when unspecified in the assocaited launchConfigurationType extension. Only one source path computer can be specified per launch configuration type.
-
sourceLocatorId - The unique identifier of a sourceLocator extension that is used to create the source locator for sessions launched using launch configurations of this type. Since 3.1, this attribute can be specified in a launchDelegate extension when unspecified in the assocaited launchConfigurationType extension. Only one source locater can be specified per launch configuration type.
-
delegateDescription - A description of this launch delegate - for example "The Eclipse JDT Java Application Launcher supports running and debugging local Java applications". This description is presented to the user when more than one launcher is available for a launch configuration and the user must choose a preferred launcher. This attribute was added in the 3.3 release.
<!ELEMENT modeCombination EMPTY>
<!ATTLIST modeCombination
modes CDATA #REQUIRED
perspective CDATA #IMPLIED
>
This element specifies a launch mode combination this delegate supports. Each modeCombination
element specifies a comma seperated list of modes specifying a supported mixed launch mode. For example, a delegate that supports debugging, profiling and code coverage at the same time would specify a modes
element of consisting of 'debug, profile, coverage'. This element can also be used to specify single launch modes that are supported - for example a modes
attribute of 'debug'. This element was added in the 3.3 release.
-
modes - a comma seperated list specifying a combination of modes the associated delegate supportes.
Unlike the modes attribute of the launchDeleaget
element definition, this comma seperated list represents a mixed launch mode rather than the single supported launch modes. For example: a modeCombination
element specifying modes
of 'profile,debug' indicates the delegate can debug and profile at the same time. In contrast, if 'profile,debug' was specified by the modes
attribute of the launchDelegate
element, it would indicate the delegate could debug or profile, but not at the same time.
-
perspective - a string representing the id of a persepctive to switch to when launching.
Examples:
The following is an example of a launch delegate extension point:
<extension point=
"org.eclipse.debug.core.launchDelegates"
>
<launchDelegate
id=
"com.example.ExampleProfileDelegate"
delegate=
"com.example.ExampleProfileDelegate"
type=
"org.eclipse.jdt.launching.localJavaApplication"
name=
"Eclipse JDT Java Profile Tooling"
>
<modeCombination
modes=
"run, profile"
>
perspective="com.example.Perspective">
</modeCombination>
<modeCombination modes=
"debug, profile, coverage"
></modeCombination>
</launchDelegate>
</extension>
In the example above, the specified launch delegate is contributed to launch Java applications in profile mode. The delegate supports mixed mode launching. The delegate supports profiling when launching in run or debug mode, with code coverage in debug mode only. When the mode combination or run and profile is used, in this example, the perspective com.example.Perspective can also be opened.
Copyright (c) 2000, 2005 IBM Corporation and others.
All rights reserved. This program and the accompanying materials are made
available under the terms of the Eclipse Public License v1.0 which
accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-v10.html