Eclipse Plugins and Features

From Elvanör's Technical Wiki
Jump to navigation Jump to search

Installed plugins and locations

Official Plugins

  • Web Tools Platform, including:
    • JavaScript Development
    • Java EE Development
    • Web Developer Tools
    • XML Editors and Tools
  • C++ Development Tools

Third party Plugins

  • To install Subversion support via the Subclipse plugin, add the http://subclipse.tigris.org/update_1.10.x download site to the list of Eclipse sites. You will need to close and reopen projects using Subversion when you install it for the first time. A simple Refresh on the projects is not enough.
  • To install Python support via the PyDev plugin, add the http://pydev.org/updates download site to the list of Eclipse sites. Another plugin to look for is the DLTK framework (Dynamic Language Toolkit).

Installation Features

  • Under Gentoo and Eclipse 3.2.1, the mirrors for the Update/Install of plugins are apparently not saved. A workaround is to select the "Automatic Mirror Selection" feature in the Preferences.
  • To manually change the download/update URL of a feature, go to features/my_feature/feature.xml. For example with PDT:
nano features/org.eclipse.php_feature_0.7.0.v20070221------9FhPQOPhhd/feature.xml

Then look for the correct XML node (<url></url>).

Java Development Tools

  • If you are using a Java project, a file named ".classpath" will be created in the root directory of your project. It contains the paths to all the external libraries you may be using in your project. This file should not be under version control if you want that each developer maintains these paths separately.

JEE and Web Tools Platform (WTP)

  • In a web project, you may select a servlet container to run on (by default not all containers are available. Tomcat is there but for Jetty you need to install another plugin for example).
  • You cannot use the Gentoo Tomcat install for this purpose, so you should download a simple tar.gz archive of Tomcat. Once extracted, this works very well. However, if you change the directory of the Tomcat installation later manually, this confuses Eclipse which does not offer a GUI dialog for changing it back. You will have to look into the workspace folder for the settings of this container and remove them manually in the XML files.
  • You can change the context path of your web-app (when deploying to Tomcat for development). This is in your project properties, Web Project Settings, Context Root. However you must clean your server and republish for the change to take effect - restarting the server is not enough.
  • If you want to change the port of the Tomcat port, modify the file corresponding to Tomcat configuration (server.xml) in the Eclipse servers project. The GUI seems to have a bug and does not allow you to do it in the configuration dialog.

Deploying files to the development web-application

  • This can be done by editing the file .settings/org.eclipse.wst.common.component. You can then add files to be copied to the development Tomcat web-application directory. There is no GUI for this, but it works well (one use case could be to add development specific files).
  • If you want to deploy a single file with this technique, you have to specify a file path as the destination - a folder won't work and will produce strange results.

Groovy Plugin

  • This currently does not accomplish much except syntax coloring. It lacks notably formating support.
  • The Groovy plugin expects Groovy files into package folders to belong to that package. It will display an error if it's not the case. The plugin considers any folders you specified as "Source Folders" in the build path to contain a hierarchy of packages. Thus if you have some scripts not belonging to any package, it's best to specify the enclosing folder not as a source folder.

PHP Development Tools (PDT)

  • This plugin, as of March 2007, is still in active development. I have lots of stability problems with the current integration build (of February 2007).
  • Things are somehow better now with release 0.7 RC3. Still has problems though.

Egit

Subclipse

  • Warning: do not create a project that is in Subversion, and then another project contained into the first project (in a subdirectory)! This will confuse Subclipse to the point of making Eclipse unusable. This is bug 511 in the Subclipse Bugzilla.
  • There is currently a bug with the keyboard shortcuts. A workaround is to do:
Window -> Customize Perspective -> Command Groups Availability -> Enable SVN
  • In Linux, when using the JavaHL interface, you need to edit the ~/.subversion/config file and add the following line:
password-stores =

FTP Synchronization

  • This is included in the standard mirrors, so installation is easy (probably will be already installed). SFTP support needs to be installed separately.
  • This feature seems useful, it is unmaintained however. The Eclipse Target Management seems to be where development is headed at.
  • To create a new Synchronization, you must first Export your project to a remote server (or import it from a remote server). Then restart Eclipse if it is still not listed in the Team Synchronizing perspective.
  • Two important features seem to be missing: the ability to synchronize a project with more than a single server, and the possibility to exclude certain files from the synchronization. You can exclude files based on certain patterns though.

Target Management, Remote System Explorer

  • This feature allows to perform interesting stuff on remote servers, like running shell commands, automating builds, editing files directly on a remote server and so on.
  • However it does not allow synchronizing with your local project (via FTP or SFTP). This is problematic for what I need.

Aptana

  • This is more a complete IDE than just a simple plugin.
  • It has interesting features (editors for most web related formats: HTML, CSS, JavaScript), and a very good FTP synchronization feature, and editing capabilities directly on the server.
  • However, the synchronization feature is too slow to be used often. This is more something that would be run once in a working day.