Configuring Eclipse
Introduction
Eclipse is an open-source integrated development environment (IDE) that is used to develop systems in many languages and on many platforms. Many use it to develop Drupal systems. Eclipse has many add-ons and extensions called "plug-ins" or "packages." There are also separate IDEs that have been created that are based on Eclipse.
In general, you need to make sure that your Eclipse environment will:
- adhere to Drupal coding standards,
- use syntax highlighting (very, very helpful in any coding language!)
- recognize Drupal files as PHP code,
- make sure that spaces are used instead of tabs, and
- make sure that the files have the right encoding (Unix) so they can be committed to the Drupal repositories.
There are different settings for different packages, plug-ins, and Eclipse-based IDEs. Look below to find the plug-in(s), package(s) and/or IDE you have and the changes you'll need to make. Note that you need to make changes for each of the packages and plug-ins. (If you are not sure about what packages or plug-ins you have in your Eclipse IDE, use the Eclipse help system to find out how to list everything you have installed.)
If there is an Eclipse package, plug-in, or environment that isn't covered here and you have configuration info, please edit this page and add your information. Please do include the version number for the package, plug-in, or environment since settings may differ from version to version. Please do not include images because doing so will lock this page.
If you have a question about an Eclipse package, plug-in, or environment and cannot find answers here or in the links provided below, please search the forums and groups. If you don't find an answer, add your question to the comments below so others can investigate and help. If you do find an answer, please edit this page and add the info.
Hook Templates
A collection of very handy Drupal hook templates is available for Eclipse. These are great for quickly inserting many common Drupal hook functions for both Drupal 6 and 7.
- Download the templates from the Eclipse Hook Templates project page.
- In Eclipse, go to Preferences > PHP > Editor > Templates and 'Import' the downloaded XML file. Apply your changes.
- Use the templates by typing the name of the hook (eg. 'hook_form') and pressing ctrl-space to pop up the auto-complete window.
PHP Development Tools (PDT) (package)
This is the official Eclipse project developed by Zend at http://www.eclipse.org/pdt/.
- Make sure Drupal file types are recognized as PHP files:
For PDT version 2.1.1: Under Window -> Preferences (Eclipse
-> Preferences on Mac) menu:- Expand the left-hand menu to General -> Content Types. Under Content types on the right, click Text -> PHP Content Type. Add the
*.engine, *.theme, *.install, *.inc, *.make (for Drush make files), *.module, *.profile
and*.test
file types so that these files will be recognized as PHP. The free plug-in to Eclipse for Drupal developers does this for you and is easy to install.
For PDT version 3.1.1: Under Window -> Preferences (Eclipse
-> Preferences on Mac) menu:- Expand the left-hand menu to General -> Editors -> File Associations. Under File Associations on the right, click Add on the top right of the dialog window. Add the
*.engine, *.theme, *.install, *.inc, *.make (for Drush make files), *.module, *.profile
and*.test
file types and for each click on the middle right Add and select the PHP Editor so that these files will be recognized as PHP. Note: for*.inc
internal PHP Editor is already associated.
- Expand the left-hand menu to General -> Content Types. Under Content types on the right, click Text -> PHP Content Type. Add the
- Make sure the file encoding and characters are Unix friendly so that any code can be committed back in to the Drupal repositories (if you are so inclined):
For PDT version 2.1.1 and 3.1.1: Under Window -> Preferences (Eclipse
-> Preferences on Mac) menu:- In the left-hand menu click on General -> Workspace: Check Text file encoding and select
Other : UTF-8
Check New text file line delimiter and select
Other: Unix
- Under Window -> Preferences (Eclipse -> Preferences on Mac) menu:
go to PHP -> Editor -> Typing and uncheck 'When pasting' - 'Adjust indentation'. Otherwise Eclipse will convert Unix newline characters to Windows when pasting into an empty line. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=351771#c13
- In the left-hand menu click on General -> Workspace: Check Text file encoding and select
- Ensure that spaces are used instead of tabs:
For PDT version 2.1.1 and 3.1.1: Under Window -> Preferences (Eclipse
-> Preferences on Mac) menu: - Removing trailing whitespaces
Go to Window->Preferences->PHP->Editor->Save Actions and check 'Remove trailing whitespace' and select 'All lines'.
For those using Smarty as a template engine, here's info on Smarty Highlighting in PDT.
Here are some Eclipse PDT templates.
PHPeclipse (package)
The community developer project is at http://www.phpeclipse.com/.
- Make sure Drupal file types are recognized as PHP files:
For version ?: Under Window -> Preferences (Eclipse
-> Preferences on Mac) menu:- Expand the left-hand menu to General -> Content Types. Under Content types on the right, click Text -> PHP Content
Type. Add the*.engine, *.theme, *.install, *.inc, *.module, *.profile
and*.test
file
types.
- Expand the left-hand menu to General -> Content Types. Under Content types on the right, click Text -> PHP Content
- Ensure that spaces are used instead of tabs:
For version ?: Under Window -> Preferences (Eclipse
-> Preferences on Mac) menu:- In the left-hand menu click on General -> Editors -> Text
Editors: CheckInsert spaces for tabs
.
- In the left-hand menu click on PHPeclipse -> PHP:
- In the Typing tab, make sure the
Insert Spaces for Tab
setting is
checked. - In the Appearance tab,
leave the Displayed tab width at4
, so it is easier to spot if any
actual tabs have snuck in.
- In the Typing tab, make sure the
- In the left-hand menu click on PHPeclipse -> PHP ->
Formatter:- In the Style tab, enter
2
for Number of
spaces representing a tab. Compact Assignment
andIndentation is represented by a tab
should both be
unchecked.
- In the Style tab, enter
- In the left-hand menu click on General -> Editors -> Text
- Make sure the file encoding and characters are Unix friendly so that any code and be committed back in to the Drupal repositories:
For version ?: Under Window -> Preferences (Eclipse
-> Preferences on Mac) menu:- In the left-hand menu click on General -> Workspace:
- Check Text file encoding and select
Other : UTF-8
- Check New text file line delimiter and select
Other: Unix.
- Check Text file encoding and select
- Under Window -> Preferences (Eclipse -> Preferences on Mac) menu:
go to PHP -> Editor -> Typing and uncheck 'When pasting' - 'Adjust indentation'. Otherwise Eclipse will convert Unix newline characters to Windows when pasting into an empty line. See https://bugs.eclipse.org/bugs/show_bug.cgi?id=351771#c13
- In the left-hand menu click on General -> Workspace:
- Removing trailing whitespaces
Go to Window->Preferences->PHP->Editor->Save Actions and check 'Remove trailing whitespace' and select 'All lines'.
Eclipse Web Tools Platform (WTP) project
The WTP project extends Eclipse to is package with editors, profilers, tools to for developing applications for the web and Java EE.
- Ensure that spaces are used instead of tabs:
For version ?: Under Window -> Preferences (Eclipse -> Preferences on Mac) menu:
- Expand the left-hand menu to Web -> CSS Files -> Editor: Select
Indent using spaces
. Set Indentation size to2
. - Expand the left-hand menu to General-> Editors -> Text
Editors: SelectDisplayed tab width
. Set Indentation size to2
. - Expand the left-hand menu to Web -> HTML Files -> Editor: Select
Indent using spaces
. Set Indentation size to2
. - Expand the left-hand menu to XML -> XML Files -> Editor: Select
Indent using spaces
. Set Indentation size to2
.
- Expand the left-hand menu to Web -> CSS Files -> Editor: Select
- If you use XTemplate: expand the left-hand menu to General -> Content Types -> Text -> HTML:
- Add the *.xtmpl file type.
Aptana (Eclipse-based IDE)
This is an Eclipse based IDE (or Eclipse extension) for editing PHP, CSS, xHTML,
JavaScript and the like.
- Ensure that spaces are used instead of tabs:
For version ?: Under Window -> Preferences (Eclipse -> Preferences on Mac) menu:
- Expand the left-hand menu to General -> Editors -> Text Editor: Enter
2
for Displayed tab width. - Expand the left-hand menu to Aptana -> Editors: Under Tab Insertion on the right, click
Use Spaces.
If current width is not set to2
, click the edit link. - In more recent versions of Aptana Studio 3 on OS X, this is found under General -> Editors -> Text Editors -> Insert spaces for tabs
- Expand the left-hand menu to General -> Editors -> Text Editor: Enter
Using Aptana on OS X: shunting wrote how he installed Aptana, and his experience using it for remote debugging.
jQuery (package)
Be sure that you have an unpacked version of jQuery installed in your Eclipse IDE. According to dman: If you want to be debugging jquery, you need to be using the unpacked version (available at the jquery site)
Yes, Eclipse fails to load the compressed version (it freezes for 3 minutes or more) due to it all being one long line. It wouldn't be much help for reading anyway, as the packed version is almost unreadable.
Replace your jquery.js with the unpacked and carry on!
XDebug (plug-in)
XDebug is a debugger and profiler for PHP. The XDebug plug-in for PHPEclipse can be used to debug Drupal remotely or locally.
http://www.phpeclipse.com/wiki/Howto/XDebugAndPHPEclipse describes how to install XDebug for PHPEclipse.
Be sure to do the following: (Not clear which version of XDebug this applies to.)
- On the XDebug Remote Script configuration, on the Main page you can leave the
Remote Location
blank, and on the Pathmap page set the Remote path as/
to map it to a physical Apache doc root. - Make sure also to disable DBG debugging by deleting the
net.sourceforge.phpeclipse.debug.core
andnet.sourceforge.phpeclipse.debug.ui
jars because the two debuggers cannot coexist at present.
To use XDebug.dll with Eclipse PDT on Windows: https://aaronsaray.com/2008/xdebug-and-eclipse-pdt-on-windows-from-start-to-finish
Note: If you want to use xdebug to debug simpletest tests, the Simpletest reference Tips page has a section at the bottom you will want to read.
Drupal modules for Eclipse
Additional Documentation and Resources
Additional existing documentation in drupal.org. Related Drupal groups, external links with helpful information on Eclipse and Drupal.
- Drupal Coding Standards
- Eclipse Che from The Eclipse Foundation. Is the new generation of Eclipse IDE, in the cloud. Which is community owned and supported, and open source. To get Eclipse Che choose one of the following three options:
- SaaS. Free account.
- Cloud. One click install.
- Local Install. Download.
- Eclipse plug-in for Drupal
- Eclipse IDE Setup for debugging
- use PHPCodeSniffer together with Eclipse to ensure your code meets the coding standards as you write it
- Eclipse and Git with Drupal
- The IDE group on groups.drupals.org -- discussions about using and configuring Eclipse (as well as other IDEs)
- How to Successfully Incorporate Eclipse IDE into a Drupal Workflow -- from the Dojo group on groups.drupal.org
- Setup your computer with Drupal, Ubuntu, Eclipse, LAMP stack -- from the Drubuntu group on groups.drupal.org
- Updated Install Instructions for Eclipse 3.4 on Ubuntu -- from the Drubuntu group on groups.drupal.org
- IBM DeveloperWorks article on setting up Eclipse + Drupal -- an excellent set of articles on how they set up a whole project. It was done with older versions of Eclipse and Drupal, but the processes used are essentially the same and their reasons for choosing the tools and processes are helpful. They include a write-up on how they used the CVS plug-in to manage their module development.
- Tutorial: Setting up a local Drupal multisite in a Vista/Eclipse PDT environment, by Kipp Elliott Watson -- setting up Eclipse for debugging Drupal projects in Vista
- http://www.easyeclipse.org/site/distributions/php.html -- another Eclipse-based IDE; Eclipse distributions for various programming languages (java, php, perl) and operating systems (MAC, Linux, Win)
- http://www.zend.com/de/community/pdt -- Complete distribution for PHP Development (AllInOne) incl. XDebugger, Zend Debugger, PDT, and more.
- Speed up Drupal module development with Eclipse hook templates Small article on drupal hook templates in Eclipse
TODO:
Additional things that might be useful to add here (from http://drupal.org/node/207338 ):
- Indentation, <?php tags in line with the drupal Coding Standards.
Help improve this page
You can:
- Log in, click Edit, and edit this page
- Log in, click Discuss, update the Page status value, and suggest an improvement
- Log in and create a Documentation issue with your suggestion