Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable Eclipse plugins per workspace

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.

like image 405
Thilo Avatar asked Jan 08 '10 08:01

Thilo


People also ask

How do I disable plugins in Eclipse?

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.

What is plugin in Eclipse?

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.


3 Answers

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
like image 103
Lari Hotari Avatar answered Oct 22 '22 13:10

Lari Hotari


Another solution would be to define a perspective for each workspace, and customize that perspective.

alt text

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.

like image 32
VonC Avatar answered Oct 22 '22 14:10

VonC


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).

like image 26
Harumph Avatar answered Oct 22 '22 13:10

Harumph