I use Eclipse for different projects, each with its own workspace. They need quite a different set of plugins (SVN vs hg vs git, AppEngine vs Tomcat vs OSGi, and so on), and I have all those plugins installed and active all the time, which clutters the workspace quite a bit. I'd like to selectively disable plugins for each workspace.
Comments from the peanut gallery You can disable a few plugins at startup via "Window > Preferences" from the menu under "General > Startup and Shutdown". Uncheck the items you don't want to run when you start Eclipse. This needs to be done for every workspace.
A plug-in also typically provides a plug-in manifest file, plugin. xml, that describes how it extends other plug-ins, or what capabilities it exposes to be extended by others (extensions and extension points). A plug-in that provides Java code may specify in the manifest a concrete subclass of org. eclipse. core.
Eclipse (3.6/3.7) has a UI for disabling some plugins. It's under Window->Preferences->General->Startup and Shutdown->Plugins activated on startup. However not all plugins are listed here.
To disable other plugins:
It's possible to have separate configuration (osgi.configuration.area) directories: http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Freference%2Fmisc%2Fruntime-options.html%23osgiconfigurationarea
Simply copy eclipse_dir/configuration to a new location. Make launchers for each of your workspace and add parameters to your workspace specific launcher, for example: -data workspace_location -configuration new_location_for_configuration_dir .
You can disable osgi bundles (not same as plugins) by removing it's line from configuration_directory/org.eclipse.equinox.simpleconfigurator/bundles.info file.
The config.ini file in the custom configuration directory must contain this line:
osgi.configuration.cascaded=false
Another solution would be to define a perspective for each workspace, and customize that perspective.
In each one, you can deactivate menu and commands of plugin you do not want, even though those plugins remains loaded.
That help removing some of the "GUI cluttering" caused by the various plugin.
When you switch workspace, you will restore the perspective you were using with the new workspace.
Eclipse has a notion of local and global configuration that might help you. When you start Eclipse with the -local {localDir} argument, Eclipse uses a writable local configuration in {localDir} and treats the (global) install configuration as read-only. Thus, you can install common features in the global configuration (when not using the -local flag), and install local features into the local configuration. In your case, to get per-workspace configurations, you can adopt the convention that the local configuration is inside or beside your workspace directory (though if inside, not managed as an eclipse resource or project), and then always launch pointing at that directory (e.g., eclipse -data {workspaceDir} -local {workspaceDir}/localConfig).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With