<?xml version="1.0" encoding="UTF-8" ?> 
<welcomePage 
	title="Welcome to the Workbench">
	<intro>This page will help familiarize you with the Workbench.
To get started, read the sections below and click on the related links. </intro>

	<item><b>Create Java components </b>
To begin Java development, create a <action pluginId="org.eclipse.jdt.ui"  class="org.eclipse.jdt.internal.ui.wizards.OpenProjectWizardAction">Java project</action>.  Select the newly created project
and choose File > New > Other... .  In the left column of the wizard, select Java and double
click on Java Package in the right column. Fill in the name of your package and click Finish. 

To create a Java class, select the package in the navigator view and click on the 
"Open the New Wizard" toolbar button (on the far left of the toolbar). This toolbar button
provides us with a quick alternative to File > New > Other... .  Choose Java Class in the right 
column of the category Java, and click Next. In the class wizard fill in the name of your class 
and click Finish to create the class and start editing it.</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.

To open the Java perspective choose Window > Open Perspective > Java. </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>Join a CVS team</b>
To join a CVS development team, open the <action pluginId="org.eclipse.team.cvs.ui" class="org.eclipse.team.internal.ccvs.ui.actions.ShowCVSPerspectiveAction">CVS Perspective</action>. Next, specify the location of
your CVS repository. To do this choose <action pluginId="org.eclipse.team.cvs.ui" class="org.eclipse.team.internal.ccvs.ui.actions.NewCVSRepositoryAction">New > CVS Repository Location...</action> from the Repositories
view popup menu. When the location wizard opens, fill in the details of your CVS repository
and click Finish. </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> or the <topic id="/org.eclipse.jdt.doc.user/toc.xml">Java Development User Guide</topic>.</item>


</welcomePage>