<?xml version="1.0" encoding="UTF-8" ?>
<welcomePage title="Eclipse Platform">

	<intro>This page will help familiarize you with the Eclipse Workbench.
		To get started, read the sections below and click on the related
		links.
	</intro>

	<item>
		<b>Installed Features </b>
		To find out more about the features installed in your workbench,
		choose
		<action pluginId="org.eclipse.ui" class="org.eclipse.ui.internal.QuickStartAction">Help > Welcome...
		</action>
		and select the feature you are interested in.
	</item>

	<item>
		<b>Perspectives, views and editors </b>
		A window contains one or more perspectives. A perspective consists of
		views (e.g. Navigator)
		and editors for working with your resources.
		The
		shortcut bar at the far left of the window allows you to open new
		perspectives and move
		between perspectives that are already open. The
		perspective you are currently
		working with
		is shown in the title of the
		window and in the shortcut bar as a
		pushed-in icon.
	</item>

	<item>
		<b>Configuring your perspectives</b>
		You can move views and editors around the workbench by dragging their
		titlebars. You can
		also add more views to your current perspective by
		using Window > Show
		View.
		To reset the perspective to its original
		state, choose
		<action pluginId="org.eclipse.ui"
			class="org.eclipse.ui.internal.ResetPerspectiveAction">Window > Reset Perspective</action>
		.
		Once you have arranged your perspective, you can save it using Window
		>
		Save Perspective As....
		You can customize the views, perspectives and
		New menu operations that
		show up for
		your perspective. To do this choose
		<action pluginId="org.eclipse.ui" class="org.eclipse.ui.internal.EditActionSetsAction">Window > Customize
			Perspective...
		</action>
		.
		A view can additionally be converted into a Fast View by dragging it
		to
		the shortcut bar (at the
		far left of the window).
	</item>

	<item>
		<b>Learn more </b>
		To learn more you can browse the
		<topic id="/org.eclipse.platform.doc.user/toc.xml">Workbench User Guide</topic>
		.
	</item>

</welcomePage>