The Eclipse Workspace Mechanic is back

2 minute read

Every new Eclipse workspace starts with the same ritual: enable save actions, adjust the print margin, turn on auto refresh, fix the key bindings. The Workspace Mechanic does this for you. Originally written at Google and later maintained by alfsch, the plug-in keeps an Eclipse installation and its workspaces in a defined state. It had not seen a release in years, so we modernized it in vogellacompany/workspacemechanic.

How it works

The Mechanic periodically evaluates a set of tasks and offers to repair the ones that fail. A task can be an .epf preference file, a .kbd key binding file or a Java class. Put the tasks into a shared folder or on a web server and every team member gets the same setup. A fresh workspace is configured in seconds.

When tasks fail, a notification appears and the status bar shows a warning icon.

Notification of the Workspace Mechanic about failing tasks

The repair dialog lists the failing tasks and lets you fix them now, later or never.

Repair dialog of the Workspace Mechanic

A task is a plain exported preference file with a few header comments. This one turns on the workspace auto refresh:

# @title Workspace Auto Refresh
# @description Refreshes the workspace automatically when files change outside Eclipse, for example through Git or Maven.
# @task_type RECONCILE
file_export_version=3.0
/instance/org.eclipse.core.resources/refresh.enabled=true

By default the Mechanic reads tasks from ~/.eclipse/mechanic. The preference page configures additional task sources, how often they are checked and which tasks are blocked.

Preference page of the Workspace Mechanic

The repository contains sample tasks for save actions, the print margin, auto refresh, content assist favorites and more.

What changed

The build moved from Tycho 0.25 to Tycho 5.0.4 in pomless mode, so the root pom.xml is the only POM left. The code now targets Java 25 instead of Java 1.7 and builds against the Eclipse 2026-09 release. Guava is gone in favour of JDK APIs, Gson is consumed as an OSGi bundle, and no jars are embedded anymore. The tests moved from JUnit 3 and 4 to JUnit 5, and all 91 of them run in the GitHub Actions build. The code is now licensed under EPL 2.0 instead of EPL 1.0.

Deprecated APIs were replaced, for example the old Preferences API by the preference store and SubProgressMonitor by SubMonitor. Task sources are now restricted: task URLs must use https: or file:, remote task fetching times out after 30 seconds, and executable .class tasks are only loaded from local files.

The UI got attention too. The hand-drawn popup was replaced by the JFace NotificationPopup API, and the repair dialog and the preference page wrap their text instead of cutting it off. Everything works well in the dark theme, and the plug-in has a new icon.

Install it

Every push to main builds, PGP-signs and publishes the newest version. Add the update site via Help > Install New Software:

https://vogellacompany.github.io/workspacemechanic/

A new Eclipse Marketplace listing for Eclipse 2026-06 and 2026-09 is waiting for moderation. The old Marketplace listing still points to the previous, unmaintained update site, so please use the update site above.

Feedback and contributions are welcome on GitHub.

Updated: