You can have the workspace in one directory, and projects in any other directories you'd like (not necessarily sub-directories of the workspace).
The location you specify as "workspace location" is the place where some configuration files (internal to eclipse) will be stored, I believe.
On my (Linux) machine, I have :
- the workspace location in
/home/squale/bin/eclipse-workspaces/1
- projects are in
/home/squale/developpement/
:
aggregator
php-src-5.3
...
On my Windows machine at work, I have :
- workspace location is something like
d:\bin\eclipse-workspaces\pdt-1\
- I have a project on a hard disk (like
d:\projects\project1
)
- And another project on a network drive (which points to a Linux server, through samba)
That way, too, workspace files are in a really separate directory, not deployed to any server, and not in the SVN's checkout structure or even near it.
Putting the workspace inside the docroot is maybe easier, but works only if you have one virtual host, anyway (and not a couple of projects, so).
With older versions of Eclipse, sometimes, when Eclipse crashed, the workspace was totally corrupted, and had to be deleted ; not habing the projects' files in sub-directories of the workspace was really useful, by then.