<?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. You can also use Alt+Up and Alt+Down to
move between the open perspectives. 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.

When opening perspectives you can hold down Ctrl (on Linux use Alt+Shift) or Shift to
optionally open each perspective in its own window, or to replace the current perspective 
with a new perspective. The behavior of Ctrl and Shift is configurable from <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.OpenPreferencesAction">Workbench > Preferences</action>.

To open the Java perspective choose Perspective > Open > 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 Perspective > Show View. 
To reset the perspective to its original state, choose <action pluginId="org.eclipse.ui"  class="org.eclipse.ui.internal.ResetPerspectiveAction">Perspective > Reset</action>. 

Once you have arranged your perspective, you can save it using Perspective > Save 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">Perspective > Customize...</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.vcm.ui"  class="org.eclipse.vcm.internal.ui.actions.OpenRepositoriesViewAction">Repositories view</action>. Next, specify the location
of your CVS repository. To do this choose <action pluginId="org.eclipse.vcm.ui.cvs"  class="org.eclipse.vcm.internal.ui.ccvs.NewRepositoryConnectionAction">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. 

In the Repositories view expand the location entry and expand Streams. Choose the HEAD
stream and expand it to view any ongoing work. Select the projects you want to work with
and choose "Add to Workspace" from the project's popup menu.</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>