The Eclipse IDE

Download Report

Transcript The Eclipse IDE

The Eclipse IDE
Gareth Davies
Relevant Bio




Professional Developer since 1994
Mostly Microsoft platform, using
successive versions of Visual Studio
Serious (on-the-job) Java development
since 4Q2001
No commercial Java IDE experience
Agenda

Overview


Features


What it is, who did it and when
How it helps us build Java systems
Resources

Where to go for more information
So, what is Eclipse?




A “universal platform for integrating
development tools” with an “open, extensible
architecture based on plug-ins”
A Plug-in implements functionality for one or
more “extension points” defined by the platform
or another plug-in
Platform runtime discovers installed plug-ins on
startup (using manifests), builds and caches a
global plug-in registry
Plug-ins are grouped and installed as “features”
The Big Picture
Another
Tool
Eclipse Platform
Java
Development
Tools
(JDT)
Plug-in
Development
Environment
(PDE)
Workbench
Help
JFace
SWT
Workspace
Team
Debug
Platform Runtime
Eclipse Project
Your
Tool
Their
Tool
A Brief History




Developed by IDE Groups at IBM and OTI
(i.e. those responsible for Visual Age)
Eclipse 1.0 released – October 2001
Effort transitioned into an open source
project and source base donated –
November 2001
Eclipse 2.0 released – June 2002
The Eclipse Board
* September 2002
Features (1)








Wizards
Incremental Project Builder
Tasks and Quick Fix
Ant Integration
JUnit Integration
Version and Configuration Management
Integration
Refactoring
Code Templates
Features (2)









Code Assist and Tooltips
Debug Perspective
Source Menu Options
Local History
Import/Export (including JAR Creation)
Search and Replace
Install/Update
Type Hierarchy
Perspective Customization
Wizards







New Projects
New Resources (Classes, Interfaces etc.)
Import and Export
Override Methods
Generate Getter and Setter
Externalize Strings
Refactoring
Incremental Project Builder



JDT Java builder is passed resource delta – all
changes since previous build – and then rebuilds
the entire project based on this delta
Customizable through Workbench preferences
(including JRE selection, level of detail for error
messages etc.)
Only applies to Workbench-controlled resources
– must refresh any externally-edited resources
and explicitly rebuild the project
Tasks and Quick Fix



Task view includes compiler messages and
user-defined tasks
May be filtered and sorted
Quick Fix feature is available from both
Task list and margin of Java editor

Provides choices to resolve problems
Ant Integration




Run as an “External Tool” inside or outside
workspace
UI allows you to select order of targets and
specify command-line arguments
Clunky editor for build.properties file
Some problems with recognizing modern
compiler when running inside workspace –
recommend specifying compiler (e.g. Jikes) in
build.properties file
JUnit Integration



Integrated with the Java perspective as a
plug-in
Wizards available for TestCase and
TestSuite classes
Run or Debug JUnit tests and see results in
a JUnit view
Version and Configuration
Management (VCM) Integration

Default VCM provider is CVS


Others are available via plug-ins (e.g.
ClearCase, PVCS, SourceSafe etc.)
Providers provide repository-specific
actions via the Team menu, specialized
views and resource decorators
Refactoring

Eight refactorings currently supported:









Rename (field, method, class, package)
Move (field, method, class)
Pull Up
Modify Parameters
Extract Method
Extract Local Variable
Inline Local Variable
Self Encapsulate Field
Can preview (and exclude) each resulting change
Code Templates



Context-sensitive code snippets for
common tasks (activated with <Ctrl><Spacebar>)
Can customize existing templates and
define new ones (including overloading
templates – e.g. for)
Import and Export templates to enhance
team productivity
Code Assist and Tooltips



Code-completion (activated with <Ctrl><Spacebar>) with variable name
suggestion, argument hints
Works with Java code and Javadoc
comments
Hovering over identifier shows Javadoc
Debug Perspective







Launch Configurations allow you to specify JRE,
runtime arguments (class and JVM)
Breakpoints/watches: supported and configurable
Variables view shows object values in current
stack frame
Code inspection (Expressions, Display)
Library source step through available (with
source attachment)
Console provides stdout, stdin and stderr
Hot swap available (if supported by target JVM)
Source Menu Options







Add/Remove Comments
Organize/Add Import
Override Methods
Generate Getter and Setter
Add Javadoc comment
Add try/catch block
Externalize Strings
Import/Export (including JAR
Creation)

Files can be selectively imported from various
sources:



Files can also be selectively exported to various
targets:




Directory on file system
Specific Zip file
Directory on file system
Jar file
Zip file
Javadocs may be created via File>Export
Local History



Eclipse retains a history of deltas to each
Workbench-managed resource (duration
and volume are configurable)
Current resource may be compared to (and
optionally replaced by) any version in the
Local History
May be judiciously used in conjunction
with VCM
Search and Replace




Can search entire workspace or definable subsets
(“working sets”)
File search is a text-based search and applies to
files of any type (and is necessary for global
search and replace operations)
Java search applies to .java files only but allows
more control (e.g. can search for specific Java
elements by declaration or reference)
Results can be filtered, sorted and selectively
deleted
Install/Update



Search Internet (and possibly your
computer) for updates to Eclipse and any
installed plug-ins
Selectively apply updates
Configuration history is maintained

May restore previous configuration
Type Hierarchy


Alternative view to the Package Explorer
Useful to visualize the inheritance
hierarchy
Perspective Customization


Perspectives are customizable
arrangements of views and editors
Can save multiple configurations of the
Java perspective, each suited to different
projects (e.g. web application using Struts
and Tomcat may require several plug-ins
not needed by simple applications)
SWT/JFace




SWT = Standard Widget Toolkit
OS-independent GUI toolkit that uses
native widgets where available and
emulates otherwise – native look and feel
SWT vs Swing debate rages
JFace = “set of UI frameworks for common
UI tasks” in conjunction with SWT – also
“window-system independent”
Some Products based on Eclipse

IBM WebSphere® Studio Family





Application Developer v4.0.3, v5.0
Application Developer Integration Edition for
Windows v4.1
Site Developer Advanced for Windows v4.0.3
Device Developer v4.0
Rational® XDE™ Professional v2002: Java™
Platform Edition
Some Eclipse Subprojects







AspectJ Development Tools (AJDT)
C/C++ Development Tools (CDT)
Cobol IDE
Eclipse Modeling Framework (EMF)
Graphical Editor Framework (GEF)
Stellation
XSD Infoset Model
Some Useful Plug-ins







Easy Struts – wizards for Struts development
Lomboz –wizards for J2EE development
Omondo – UML class diagram with round-trip
engineering
Quantum DB – explore and query databases
Solar Eclipse – HTML/JSP/XML editing
Sysdeo Tomcat Launcher – project wizard and
runs Tomcat
X-Men – XML editing
Resources





Help: Workbench User Guide, JDT User
Guide
Homepage: www.eclipse.org
Slide Presentation:
www.eclipse.org/eclipse/presentation/eclips
e-slides.html
Plugin Index: eclipse-plugins.2y.net
Wiki Wiki Web: eclipsewiki.swiki.net