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  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

Java Development Tools (JDT) Eclipse Platform Workbench JFace SWT Plug-in Development Environment (PDE) Workspace

Platform Runtime

Help Team Debug Eclipse Project Another Tool 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 ) 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 ) 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/eclips e-slides.html

Plugin Index: eclipse-plugins.2y.net

Wiki Wiki Web: eclipsewiki.swiki.net