Workspace and Workbench

Work

Workspace and workbench are different terms for different concepts, however they sound quite similar to be mistakenly interchanged. The “work” prefix has a tendency to make us lose the interest, so I guess we don’t get to hear clearly the “space” or “bench” that follow, hence both workspace and workbench collapse under the annoying “something about work”.

Workspace

One of the first things you specify when you start Eclipse is the workspace location. The workspace is a directory that holds information about the projects you work on, as well as the Eclipse preferences (from layout to behavior). We can say that the workspace “holds” the Integrated Development Environment: the data you work on (organized in projects) and how you work with it (preferences). It is your “space of work” or “working space” or “working universe”.

Depending on your style, you can do all your work in a single workspace, no matter how different projects in your life, for example a Web project to publish your photos, a Verification project and a Java project where you learn how to program. Or you can chose to have several workspaces, each one dedicated to a specific state of mind or universe of thinking.

Workbench

The workbench is practically the Eclipse main window. It is the bench where you organize your instruments, except that now you don’t have power supplies, signal generators or oscilloscopes, but different views and editors. Views and editors are your instruments to manipulate sources and data. You arrange them at hand for a specific task (exploring, debugging, coding etc.).

What instruments you use and how you lay them out on your bench (workbench) is known as a perspective: with what and from what angles you look at your data. Eclipse allows you quickly to reorganize your workbench, by choosing a different perspective. Don’t have to spend time moving the signal generator away, just switch to another perspective.

Workspace Again

The projects (your data) are not necessarily physically located in the workspace directory. They can be simple pointers to other locations on the disk. However the workspace aggregates all your “relevant” projects for a specific development universe.

When you create a new empty project in the workspace, it is located in the actual workspace directory. When you create a project from existing source, the workspace keeps a pointer to the project folder. When you import a project in your workspace, again the workspace keeps a pointer to the project folder. (Importing is an interesting concept, documented separately).

Note

You can switch at any time from one workspace to another (menu File > Switch workspace…).

You can start several Eclipse instances looking at various workspaces (chose when prompted at start or in batch mode “eclipse -d <workspace location>”). However, you cannot have two Eclipse instances looking at the same workspace at once. Eclipse locks the workspace, as indicated by the .metadata/.lock file in the workspace directory.