### Launch configuration dialog

Launch configurations can most easily be visualized by looking at their corresponding UI. Users interact with a launch configuration dialog to create instances of the different types of launch configurations that have been contributed by plug-ins. Each type of launch configuration defines a group of tabs that collect and display information about the configuration. The tab group for local Java applications is shown below.

The tabs are contributed using the org.eclipse.debug.ui.launchConfigurationTabGroups extension point. The markup for this extension is straightforward. You associate the id of a configuration type (contributed using org.eclipse.debug.core.launchConfigurationTypes) with a class that implements ILaunchConfigurationTabGroup. The Java application tab group is contributed like this:

    <extension point = "org.eclipse.debug.ui.launchConfigurationTabGroups">
    	<launchConfigurationTabGroup
    		id="org.eclipse.jdt.debug.ui.launchConfigurationTabGroup.localJavaApplication"
    		type ="org.eclipse.jdt.launching.localJavaApplication"
    		class="org.eclipse.jdt.internal.debug.ui.launcher.LocalJavaApplicationTabGroup">
    	</launchConfigurationTabGroup>
    </extension>

Your tab group class is responsible for creating the necessary tabs and displaying and saving the relevant data from the launch configuration attributes. A tab that is common to all configurations, CommonTab, is already implemented and can be created by any configuration. This tab manages the saving of the launch configuration as well as collecting common preferences.