3/23/11

Using Eclipse as Joomla! IDE

http://docs.joomla.org/Setting_up_your_workstation_for_Joomla!_development

Eclipse is a so-called IDE (Integrated Development Environment), a software application that facilitates programmers in the process of software development. Eclipse is used for editing source code while a set of features aid to the process of writing this code: Syntax highlightning, error checking, debugging, version control, code completion, documentation, etcetera. This makes it ideal for developing Joomla! code.

Eclipse is not a visual programming tool, you need to be able to program to make use of the tool. The Eclipse IDE is available in multiple languages, but we recommend using the English version. Eclipse supports many programming languages like C++ and Java, but each language needs its own set of tools (debugger, compiler, documentation). At the moment the standard Eclipse version does not support PHP that well, but there are at least two projects that extend Eclipse with useful PHP-oriented features: PDT and PHPEclipse.

Within the Eclipse project a subproject called PDT (PHP Development Tools) has been setup (with the help of Zend Technologies among others) to aid specifically webprogrammers using the PHP programming language. Besides the PDT project, the PHPEclipse also extends Eclipse but has less official support than the PDT project. There is also an all-in-one distribution for PHPEclipse called EasyEclipse.

Downloading, installing and configuring Eclipse PDT


While a PDT-based program like Zend Studio allows for development of deployed webapplications as well (for instance through the use of FTP or SCP), Eclipse assumes the development is done on a local machine only. Ofcourse it does not make sense to make changes on a production environment, but because of this assumption you will need to be running a webserver on your local machine as well.

On the Joomla! Docs site you will find a complete tutorial on how to configure Eclipse on a Windows-based computer. To setup a Windows-based Apache webserver (plus MySQL and PHP support) XAMPP is used as example, but there are other alternatives like WAMPServer, EasyPHP and JSAS. Make sure the package includes PHP5 and MySQL5.

http://docs.joomla.org/Setting_up_your_workstation_for_Joomla!_development/

When using MacOS or Linux the webserver environment (Apache, MySQL, PHP) can be installed as an integrated part of the OS. With all webserver environment the principle remains the same: You will need a running webserver environment on your local computer. Websites (like Joomla!) running within this environment can then be edited by using the website root-directory as Eclipse workspace directory.

It is recommended to use the PDT All-In-One package as this includes all neccessary dependencies. Also the usage of PDT version 2.0 is recommended.

Extra features in PDT


By navigating within Eclipse to "Help", then "Software Updates" and then "Find and Install" you will be able to install extra features to Eclipse. We recommend the following plugins:

  • Zend Debugger (http://downloads.zend.com/pdt)

  • Subclipse (http://subclipse.tigris.org/update_1.4.x)

  • JSEclipse (http://download.macromedia.com/pub/labs/jseclipse/autoinstall/site.xml)

For each plugin you can click "Add site" to add the URL as another resource for finding extra features.

When instelling Subclipse the "Subclipse" plugin itself and the "Subversion Client Adapter" are required. You will still need a proper Subversion client, but the bare minimum binary (http://subversion.tigris.org/) will do. To make sure your client can be found by Subclipse, you will need the appropriate Java libraries within Eclipse as well. Just check both "JavaHL Adapter" and the "SVNKit Adapter" to make sure this works.

There is also the feature RSE (Remote System Explorer) which allows for the usage of files placed on a remote server. At the moment only FTP is supported as protocol. To install RSE/FTP browse to "Find and Install" and then search the Available Software for the keyword "ftp". Besides FTP there is also a SSH connection available (RSE/FTP).

No comments: