Creating an extension location works under both the 3.0.x and 3.1.x releases of eclipse, under both linux and windows (and I assume all others). The steps to accomplish this under linux are as follows:
- As root, I install eclipse to /opt/eclipse
- As myuser, I create the directories
- I edit ~/eclipse-config/eclipse/.eclipseextension to contain:
name=My Eclipse Configuration
- As myuser I install plugins/feature to ~/eclipse-config/eclipse (manually or through eclipse update mechanism after step 6 completed)
- As myuser, I start eclipse like "/opt/eclipse/eclipse -data /home/conway/eclipse-config/workspace -vmargs -Xmx512M"
- In Help->Software Updates->Manage Configuration... I "Add an Extension Location" to ~/eclipse-config/eclipse. The setting for this ends up being stored in ~/.eclipse
The thing I really like about this method is that aside from installing the eclipse runtime as root, I never have to do anything else as root again - I can install all my plugins as myself in my home directory, and when it comes time to upgrade eclipse, I don't have to deal with moving my plugins to a new install - I simply install the new eclipse into it own directory, run it, perform step 6, and all my plugins are present (assuming they work across eclipse versions =)
Also, for large multi-feature/multi-plugin extensions like the eclipse WebTools Project, I'll create a new extension location just for that extension so that I can treat it as a single unit for enable/disable/upgrade.
The process under windows is identical except you don't have to worry about user permissions, and you need to choose windows paths that make sense to you. I use c:\devtools\eclipse for my eclipse install and c:\devtools\eclipse-config for all my configuration.