Package org.eclipse.debug.ui

## Interface ILaunchShortcut2

All Superinterfaces:
  `ILaunchShortcut`

    public interface ILaunchShortcut2
    extends ILaunchShortcut

An extension to a standard launch shortcut (`ILaunchShortcut`) allowing launch shortcuts to specify how selections and editors should be launched.

To launch a selection (or active editor), the debug platform derives a resource associated with the selection (or active editor), and then resolves the most recently launched configuration associated with that resource. This interface allows a launch shortcut to override the framework's resource and launch configuration resolution for selections (and active editors).

NOTE: the methods in this interface can be called in a non-UI thread.

Clients contributing a launch shortcut are intended to implement this interface.

Since:
  3.4
See Also:
  `ContextRunner`, `LaunchingResourceManager`

### Method Summary

All Methods Instance Methods Abstract Methods
`IResource` `getLaunchableResource​(ISelection selection)` Returns an `IResource` that maps to the given selection for launch purposes, or `null` if none.
`IResource` `getLaunchableResource​(IEditorPart editorpart)` Returns an `IResource` that maps to given editor part for launch purposes, or `null` if none.
`ILaunchConfiguration[]` `getLaunchConfigurations​(ISelection selection)` Returns an array of `ILaunchConfiguration`s that apply to the specified selection, an empty collection if one could be created but does not exist, or `null` if default resource mappings should be used to derive associated configurations.
`ILaunchConfiguration[]` `getLaunchConfigurations​(IEditorPart editorpart)` Returns an array of existing `ILaunchConfiguration`s that could be used to launch the given editor part, an empty array if one could be created but does not exist, or `null` if default resource mappings should be used to derive associated configurations

### Methods inherited from interface org.eclipse.debug.ui.ILaunchShortcut

`launch, launch`

### Method Detail

#### getLaunchConfigurations

    ILaunchConfiguration[] getLaunchConfigurations​(ISelection selection)

Returns an array of `ILaunchConfiguration`s that apply to the specified selection, an empty collection if one could be created but does not exist, or `null` if default resource mappings should be used to derive associated configurations.

Parameters:
  `selection` - the current selection
Returns:
  an array of existing `ILaunchConfiguration`s that could be used to launch the given selection, an empty array if one could be created but does not exist, or `null` if default resource mappings should be used to derive associated configurations

#### getLaunchConfigurations

    ILaunchConfiguration[] getLaunchConfigurations​(IEditorPart editorpart)

Returns an array of existing `ILaunchConfiguration`s that could be used to launch the given editor part, an empty array if one could be created but does not exist, or `null` if default resource mappings should be used to derive associated configurations

Parameters:
  `editorpart` - the current selection
Returns:
  an array of existing `ILaunchConfiguration`s that could be used to launch the given editor part/editor input, an empty array if one could be created but does not exist, or `null` if default resource mappings should be used to derive associated configurations

#### getLaunchableResource

    IResource getLaunchableResource​(ISelection selection)

Returns an `IResource` that maps to the given selection for launch purposes, or `null` if none. The resource is used to resolve a configuration to launch if this shortcut does not provide specific launch configurations to launch for the selection (via `getLaunchConfigurations(ISelection)`.

Parameters:
  `selection` - the current selection
Returns:
  an `IResource` that maps to the given selection for launch purposes or `null` if none

#### getLaunchableResource

    IResource getLaunchableResource​(IEditorPart editorpart)

Returns an `IResource` that maps to given editor part for launch purposes, or `null` if none. The resource is used to resolve a configuration to launch if this shortcut does not provide specific launch configurations to launch for the editor (via `getLaunchConfigurations(IEditorPart)`.

Parameters:
  `editorpart` - the current editor part
Returns:
  an `IResource` that maps to given editor part for launch purposes, or `null` if none