Eclipse (software)

Eclipse ( eclipse of english, eclipse ',' darkness ', ' Blackout ') is an open source programming tools for developing software of various kinds was originally Eclipse as an integrated development environment ( IDE ) for the Java programming language used, but now it is because of its extensibility also used for many other development tasks. For Eclipse, there are a variety of both open source and commercial extensions.

Eclipse itself is based on Java technology, since version 3.0 on a so-called OSGi framework called Equinox.

  • 2.1 Rich Client Platform
  • 2.2 Eclipse Runtime project
  • 3.1 Views ( Views)
  • 3.2 editors
  • 3.3 perspectives
  • 6.1 Books
  • 6.2 Magazines

History

Eclipse is the successor of IBM Visual Age for Java 4.0. The source code for Eclipse was released by IBM on 7 November 2001. About half of the current at the base Eclipse Framework-based developers will continue to be paid by IBM. On 2 February 2004, conducted by IBM Eclipse consortium decided the establishment of legally independent Eclipse Foundation, which is responsible for the development of Eclipse since then.

Eclipse supports Java version 5 since version 3.1 and Java 6 since version 3.2. From 2006, the publication dates of new versions of the major Eclipse components were harmonized in order to avoid version conflicts and to facilitate the use of Eclipse users.

Project name

The project name had been on the moons of Jupiter ( Callisto, Ganymede and Europa ), the space probes Helios and Galileo, named after the version 3.7 of the typical color for Eclipse Indigo. The initials of the project names are assigned in alphabetical order since version 3.5. The version 3.8 was released simultaneously with the version 4.2.

Versions

The individual versions are published as the basic version or as a compilation of various software packages. Individual packages but you can also go back and add later. The user interface of Eclipse comes standard English. However, there are for each version Babel language packs that can be installed in the appropriate languages ​​as a plugin.

Architecture

Up to and including version 2.1 for Eclipse was designed as an extensible IDE. Since version 3.0, Eclipse itself is only the kernel, which loads the individual plug- ins, which then provide the actual functionality. This functionality is based on Equinox. Both Eclipse and the plug-ins are implemented entirely in Java. To create the SWT graphical interface was used. To display the GUI components based SWT AWT similar to the native GUI components of the operating system. Eclipse is provided for 14 different systems and architectures and is thus regarded as a platform- independent. The plug-ins can be installed directly from an update server or by unpacking an installation file.

The freely available Eclipse SDK includes the Eclipse Platform, Java development tools (Java Development Tools JDT ) and the environment for the development of Eclipse plug -ins ( plug- in Development Environment PDE).

Rich Client Platform

Eclipse provides the Rich Client Platform, which enables application developers, based on the Eclipse framework, to write from the Eclipse IDE independent applications. An overview is given on the Eclipse website. For example, IBM Workplace Client based on Eclipse RCP.

The following components ( plug- ins) are needed at least for an Eclipse Rich Client Platform application:

More Eclipse components, such as the help system or the automatic update system can also be used. Usually, the Eclipse Equinox OSGi framework for combining ( " bundling " ) of the components used.

Eclipse Runtime project

The Eclipse runtime project is located as a "top level " project and is intended to bring together the different runtime components. Based on the Equinox OSGi implementation, created here a steadily growing "stack" of software components, which serves as the basis for client-server based systems.

Surface

The surface of Eclipse offers several concepts to simplify the work with sources or other resources.

Views ( Views)

Views ( Views) are at Eclipse small windows, which show tasks under different perspectives. These windows can be arranged in any order by dragging and dropping, in the form of tabs, which are activated by clicking on the tab, in the form of permanently visible windows or in the form of nearly views, which are arranged as icons in a largely free positionable bar and that appear only when you click on the icon.

Examples of views are

  • (also from most other editors known ) Navigator View that displays the documents in the project directory.
  • Class Explorer, the structured tree-like displays or symbols for the classes, functions, variables, imports of an open source code
  • The search window, which lists the results of a search.

Editors

Editors are the windows, which show mostly the source code with syntax highlighting, which is available for many programming languages, a separate editor ( for example, Java, C, PHP, Python, HTML, but also a simple text editor ). Similarly, there are also visual editors ( for example UML editors or drag-and -drop editor for creating graphical user interfaces ), or those that show the tree structures ( for example, the XML editor ). Editors usually take most area of the program window to complete. Several open source texts open as tabs that can be placed on tabs at the top in the foreground. In addition Tabs can be pinned to the corresponding source code is not accidentally closed. Even editors can largely be freely arranged by drag and drop, and a file can be opened simultaneously in several editors.

Often following interactive functions when the editors for programming languages ​​are available:

  • In the Java editor can jump to a function call directly to the declaration of the corresponding function with Ctrl left-click. If you move the mouse over an element exists for the source code documentation, it is displayed in a pop -up window.
  • If the cursor is set to a variable, so this and all subsequent occurrences are highlighted in color in the same document, in a bar on the right side of the editor, they appear as small colored bars that act as links to the corresponding locations in the source code.
  • Often, code folding is supported.
  • Support for source code completion with Ctrl Space.
  • Freely configurable code templates with support for variables and context mapping.
  • Differences of the open source code will be stored on the hard disk version, and line numbers are highlighted in color in a bar on the left.
  • Configurable automatic code formatting, the Java editor is the most developed.

However, Eclipse has by default does not have a functionality for automatic wrapping of long lines of code. However, there is a nachinstallierbares plug-in called wordwrap, which completes this task.

Perspectives

Perspectives are complete arrays of menus and toolbars, views and editors. They are highly configurable, and custom configurations can be saved and loaded. Most often provide plug- ins that you installed later, preconfigured perspectives available, which can then be adapted to your own wishes.

Extensions

Already numerous extensions have been written for the Eclipse IDE, some proprietary, some freely usable. Primary Eclipse is used as a Java IDE, here are primarily the results summarized in the Java Development Tools plug-ins used. However, there are a number of plug-ins for other languages ​​or to the development of OSGi bundles. This includes especially the CDT project that supports C and C and include the GNU Compiler Collection and the LLVM covers ( - Clang and GCC). In addition, there are also plug-ins for Perl, PHP, ColdFusion, Ruby, Python, C #, Fortran, Ada2005, Scala, etc. These can be integrated via a menu in Eclipse. In addition to plug-ins for specific programming languages ​​there are also those that support the general development processes, such as Mylyn for " task-oriented development" or Saros for distributed pair programming. Often these additions - unlike the core program - only available in English.

In addition to the Java development tools there are many more projects that are coordinated on the Eclipse website. One such project is the Eclipse Tools Project, which developed several tools that can be extended by developers. Other projects include the Eclipse Modeling Framework (EMF ), the Graphical Editing Framework (GEF ) and the Eclipse Riena Platform ( Riena ). With EMF can create a data model, which can be based for example on UML. GEF is a project that allows developers to quickly create a graphical editor by means of an existing data model. Riena supports developers with the equipment of an application with a user-friendly interaction concept and pleasing interface elements.

Based on these extensions and the modular design of Eclipse itself, specific projects for Eclipse bundles can be created. These contain all the necessary parts for a specific project and extensions of Eclipse without consuming unnecessary parts of main memory and speed.

Available systems and architectures

  • AIX ( PPC / Motif)
  • HP- UX (HP 9000/Motif )
  • Linux ( x86/GTK 2)
  • Linux ( AMD64/GTK 2)
  • Linux ( PPC / GTK 2)
  • Linux ( IA64/GTK 2)
  • Linux ( x86/Motif )
  • Mac OS X ( Mac / Carbon)
  • FreeBSD ( x86/GTK 2)
  • FreeBSD ( AMD64/GTK 2)
  • QNX ( x86/Photon )
  • Solaris 8 ( Sun SPARC / GTK 2)
  • Solaris 8 ( Sun SPARC / Motif)
  • Windows (Win32)
  • Windows ( Win64 )
254090
de