View
214
Download
0
Category
Preview:
Citation preview
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
What it is, who did it and when Features
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
Platform Runtime
Workspace
Help
Team
Workbench
JFace
SWT
Eclipse Project
JavaDevelopment
Tools(JDT)
Their Tool
Your Tool
AnotherTool
Plug-inDevelopmen
tEnvironment
(PDE)
Eclipse Platform
Debug
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: Directory on file system Specific Zip file
Files can also be selectively exported to various targets: 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/eclipse-slides.html
Plugin Index: eclipse-plugins.2y.net Wiki Wiki Web: eclipsewiki.swiki.net
Recommended