Jul 08, 2009

Ten Tips for Installing Plugins in Eclipse Galileo

Eclipse Galileo (3.5) has a shiny new plugin installation dialog box. In fact, the whole process went through a complete re-factoring. This has become a tradition in Eclipse: 3.3 and 3.4 each had a completely different plugin installation routines.

While the process itself is simpler in Galileo, there are still some issues you should be aware of. Here are some pitfalls to avoid and tips to make the process smoother. Most of these tips are around the Install dialog box found under Help → Install New Software.

1. Do not "contact all update sites" unless you have to

There's a small check box in the Install dialog box labeled "Contact all update sites during install to find required software". On the face of it, it sounds like a very good idea: if you install a plugin and your platform does not have all required plugins, it will simply find them and install automatically.

In reality this has some unwanted side-effects: first, the process may be slower because Eclipse may contact more update sites then you intended. Some sites may not be that fast for you (especially if you are not in North America). This is not the worse part, though. In this process, Eclipse may find other tidbits which are not entirely related (see the next point).

Clearly, this process needs perfecting. My suggestion: uncheck this box. If some dependencies are missing you will be notified at the next step and you will not be able to proceed without it. In that case, turn it on and... (read the next section)

2. Carefully review what you are about to install

After you select the plugins to install and click next, Eclipse performs several checks. The next dialog box is very important. Do not dismiss it automatically by clicking next. Read the messages and make sure you understand what you are signing.

In some cases, there may be added plugins which are unrelated to what you are about to install and you may choose to remove those (which may not always work).

3. Be wary of "grouping items by category"

The next check box to tackle is "Group items by category". This seemingly harmless button does more than you think. True, it will group the items you see by categories, which is something you want. However, if the items on the site are not categorized they will not appear at all, thus, you will not be able to install it.

Newer sites are supposed to be categorized (supposed being the key word here). Older sites may be uncategorized. This is very confusing for novice users, so be careful. It is also an important note to people building update sites: make sure you categorize your plugins, even if you have just one.

4. A lot is going on in the background

The update sites are contacted in the background. You can see the progress in the lower right corner of your screen. Fortunately, in Galileo you can actually cancel this process (which used to hang in Ganymede). The background fetch may continue after you close the Install dialog box, even if you didn't install a thing.

5. Installing EPP packages

This tip should be in a completely separate article because it is very important and many people are not familiar with it. EPP stands for Eclipse Packaging Project. It is the project responsible for creating the Eclipse download packages.

When you first download Eclipse, you need to select your package: "Eclipse IDE for Java Developers", "Eclipse IDE for PHP Developers", etc. These packages are created as part of the EPP.

What if you want an Eclipse IDE for Java & PHP Developers? Very simple. Start by downloading one of the packages and add the other package from the update site. You can download the Java package first and once it is running, do the following:

Go to Help → Install new software.

From the sites drop-down, select the site titled "EPP Package Repository"

Select the "EPP PHP Feature" and follow the rest of the installation process.

This is a very easy way of getting the entire package into your IDE. The same technique can be used to install a 64-bit Mac OS X package, although such option is not available on the main downloads page. See more details here.

6. Drag and drop archives

If you have an archive which contains an update site, you may simply drop it inside the Install dialog box to add it to your site list. This works on Windows and does not work on Mac OS X.

7. All sites are kept

Keep in mind, that Eclipse does not "forget" update sites, unless you specifically ask. For example, if you entered a wrong URL or a temporary archive, it will always be there. To remove it, you must go to the "Available Software Sites" preferences page and specifically remove it. You can access this page directly from the Install dialog box by clicking the link "Available Software Sites".

The preferences page will show enabled and disabled sites. You can disable a site without deleting it. Disabled sites will not be searched when looking for updates or missing plugins. However, you can still find them by typing part of their name in the address box of the Install dialog box. There's no need to enable the sites first: once you find the site and select it, it will be enabled automatically.

8. Restart after installing a plugin

Eclipse is based on a powerful framework called OSGi which enables reloading dependencies and plugins. Yet, from my experience, there's a chance it won't work. So, although it is possible to continue without restarting, please don't.

9. Uninstalling

Uninstalling plugins can be done from About Eclipse → Installation Details → Installed Software. Just pick a feature and click Uninstall. You can get to the same dialog box from the Install dialog box by clicking on "What is already installed?".

Note that Eclipse may still contact update sites and install updates while uninstalling plugins. This is a bug which will hopefully be fixed in future versions. To avoid that, you may disable the update sites in the "Available Software Sites" preferences page.

10. There are other options

The sheer complexity of the plugin installation process created a need and it was clear that this need could be filled by 3rd party tools. Personally, I use Pulse, which has a free edition, but there are several other good and free options out there.

These tools will replace the standard plugin installation procedure with a more simplified one. They often offer a catalog of plugins which you can just select and install with a simple drag and drop operation and faster servers. It's the end of the infamous "plugin hunt".

Specifically in Pulse, you can also build and maintain your own configuration which you can install and reinstall with one click. You can also share it with your team. I really recommend looking into these options for novice users and power users alike.

Comments

Ten Tips for Installing Plugins in Eclipse Galileo

Eclipse Galileo (3.5) has a shiny new plugin installation dialog box. In fact, the whole process went through a complete re-factoring. This has become a tradition in Eclipse: 3.3 and 3.4 each had a completely different plugin installation routines.

While the process itself is simpler in Galileo, there are still some issues you should be aware of. Here are some pitfalls to avoid and tips to make the process smoother. Most of these tips are around the Install dialog box found under Help → Install New Software.

1. Do not "contact all update sites" unless you have to

There's a small check box in the Install dialog box labeled "Contact all update sites during install to find required software". On the face of it, it sounds like a very good idea: if you install a plugin and your platform does not have all required plugins, it will simply find them and install automatically.

In reality this has some unwanted side-effects: first, the process may be slower because Eclipse may contact more update sites then you intended. Some sites may not be that fast for you (especially if you are not in North America). This is not the worse part, though. In this process, Eclipse may find other tidbits which are not entirely related (see the next point).

Clearly, this process needs perfecting. My suggestion: uncheck this box. If some dependencies are missing you will be notified at the next step and you will not be able to proceed without it. In that case, turn it on and... (read the next section)

2. Carefully review what you are about to install

After you select the plugins to install and click next, Eclipse performs several checks. The next dialog box is very important. Do not dismiss it automatically by clicking next. Read the messages and make sure you understand what you are signing.

In some cases, there may be added plugins which are unrelated to what you are about to install and you may choose to remove those (which may not always work).

3. Be wary of "grouping items by category"

The next check box to tackle is "Group items by category". This seemingly harmless button does more than you think. True, it will group the items you see by categories, which is something you want. However, if the items on the site are not categorized they will not appear at all, thus, you will not be able to install it.

Newer sites are supposed to be categorized (supposed being the key word here). Older sites may be uncategorized. This is very confusing for novice users, so be careful. It is also an important note to people building update sites: make sure you categorize your plugins, even if you have just one.

4. A lot is going on in the background

The update sites are contacted in the background. You can see the progress in the lower right corner of your screen. Fortunately, in Galileo you can actually cancel this process (which used to hang in Ganymede). The background fetch may continue after you close the Install dialog box, even if you didn't install a thing.

5. Installing EPP packages

This tip should be in a completely separate article because it is very important and many people are not familiar with it. EPP stands for Eclipse Packaging Project. It is the project responsible for creating the Eclipse download packages.

When you first download Eclipse, you need to select your package: "Eclipse IDE for Java Developers", "Eclipse IDE for PHP Developers", etc. These packages are created as part of the EPP.

What if you want an Eclipse IDE for Java & PHP Developers? Very simple. Start by downloading one of the packages and add the other package from the update site. You can download the Java package first and once it is running, do the following:

Go to Help → Install new software.

From the sites drop-down, select the site titled "EPP Package Repository"

Select the "EPP PHP Feature" and follow the rest of the installation process.

This is a very easy way of getting the entire package into your IDE. The same technique can be used to install a 64-bit Mac OS X package, although such option is not available on the main downloads page. See more details here.

6. Drag and drop archives

If you have an archive which contains an update site, you may simply drop it inside the Install dialog box to add it to your site list. This works on Windows and does not work on Mac OS X.

7. All sites are kept

Keep in mind, that Eclipse does not "forget" update sites, unless you specifically ask. For example, if you entered a wrong URL or a temporary archive, it will always be there. To remove it, you must go to the "Available Software Sites" preferences page and specifically remove it. You can access this page directly from the Install dialog box by clicking the link "Available Software Sites".

The preferences page will show enabled and disabled sites. You can disable a site without deleting it. Disabled sites will not be searched when looking for updates or missing plugins. However, you can still find them by typing part of their name in the address box of the Install dialog box. There's no need to enable the sites first: once you find the site and select it, it will be enabled automatically.

8. Restart after installing a plugin

Eclipse is based on a powerful framework called OSGi which enables reloading dependencies and plugins. Yet, from my experience, there's a chance it won't work. So, although it is possible to continue without restarting, please don't.

9. Uninstalling

Uninstalling plugins can be done from About Eclipse → Installation Details → Installed Software. Just pick a feature and click Uninstall. You can get to the same dialog box from the Install dialog box by clicking on "What is already installed?".

Note that Eclipse may still contact update sites and install updates while uninstalling plugins. This is a bug which will hopefully be fixed in future versions. To avoid that, you may disable the update sites in the "Available Software Sites" preferences page.

10. There are other options

The sheer complexity of the plugin installation process created a need and it was clear that this need could be filled by 3rd party tools. Personally, I use Pulse, which has a free edition, but there are several other good and free options out there.

These tools will replace the standard plugin installation procedure with a more simplified one. They often offer a catalog of plugins which you can just select and install with a simple drag and drop operation and faster servers. It's the end of the infamous "plugin hunt".

Specifically in Pulse, you can also build and maintain your own configuration which you can install and reinstall with one click. You can also share it with your team. I really recommend looking into these options for novice users and power users alike.