6 comments

Hello Sergei,

Plugins can contain components that are initialized at application startup,
before you open a project. Such plugins obviously cannot be enabled on a
per-project basis. Because of that, it's not possible to implement this request
without rewriting all such plugins (many of which are our own).

Just thought that I'd finally create a ticket for one of my favourite
pet annoyances:
http://youtrack.jetbrains.net/issue/IDEA-60841?projectKey=IDEA

Opinions? Suggestions? Rotten tomatoes?


--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

Dmitry,

What I need is probably the opposite: an ability to disable (or suppress) some of the available plugins for the project. I don't mind if they are still loaded (even though it would be a waste of resources), as long as they remove all their actions, menu items, side panels, toolbar buttons.

Consider the following example:

Project 1 needs:
- Spring
- Maven
- Clearcase

Project 2 needs:
- Spring
- Ant
- IvyIDEA
- SVN

That means that on the IDE level I need to enable (at least) a superset of plugins:
- Spring
- Maven
- Clearcase
- Ant
- IvyIDEA
- SVN

...which in turn means that all six plugins will be enabled in both projects. Project 1 thus will have totally irrelevant Ant and Ivy side panels, and Subversion actions, whereas Project 2 will have an unwanted Maven side panel and Clearcase actions.

Ideally, I'd like to be able to do the following:

...for Project 1, turn off the following plugins:
- Ant
- IvyIDEA
- SVN

...and for Project 2, turn off the following plugins:
- Maven
- Clearcase

...which would reduce the set of active plugins in each project to a subset of enabled plugins.

Does it make more sense now?

0

Hello Sergei,

I certainly understand what you want to achieve, but I'd like to reiterate
that it's not possible to implement in the current architecture. Just as
one example: the action system is entirely application scope, so all actions
registered by a plugin will be visible for all open projects. And it's not
feasible to implement a parallel suppression mechanism for every extension
mechanism that's provided by our plugin API.

What I need is probably the opposite: an ability to disable (or
suppress) some of the available plugins for the project. I don't
mind if they are still loaded (even though it would be a waste of
resources), as long as they remove all their actions, menu items, side
panels, toolbar buttons.

Consider the following example:

Project 1 needs:
- Spring
- Maven
- Clearcase
Project 2 needs:
- Spring
- Ant
- IvyIDEA
- SVN
That means that on the IDE level I need to enable (at least) a
superset of plugins:
- Spring
- Maven
- Clearcase
- Ant
- IvyIDEA
- SVN
..which in turn means that all six plugins will be enabled in both
projects. Project 1 thus will have totally irrelevant Ant and Ivy side
panels, and Subversion actions, whereas Project 2 will have an
unwanted Maven side panel and Clearcase actions.

Ideally, I'd like to be able to do the following:

..for Project 1, turn off the following plugins:
- Ant
- IvyIDEA
- SVN
..and for Project 2, turn off the following plugins:
- Maven
- Clearcase
..which would reduce the set of active plugins in each project to a
subset of enabled plugins.

Does it make more sense now?

---
Original message URL:
http://devnet.jetbrains.net/message/5277062#5277062


--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

Is it possible or would it be posible to have multiple settings directories for per-projects and then just start idea with the different settings location. Something like, idea.sh -p foo.properties or something like that? Where foo.properties is a separate idea.properties file that specifies the different parameters. In this case, might want to separate out the the properties that would be relevant. This way, the plugin architecture doesn't have to change.This might also have other benefits for people running completely different environments instead of always having to manually edit all these files before starting IDEA (which I do now). Sort of a different feature, but should accomplish the above request easily.

0

Hello Charles,

If you're willing to pay the cost of indexing and storing the caches for
each project separately, then yes, you can configure multiple IDEA installations
with separate config and system directories and use them for working on different
projects with different sets of plugins. This is supported right now and
doesn't need any new features to be implemented.

Is it possible or would it be posible to have multiple settings
directories for per-projects and then just start idea with the
different settings location. Something like, idea.sh -p foo.properties
or something like that? Where foo.properties is a separate
idea.properties file that specifies the different parameters. In this
case, might want to separate out the the properties that would be
relevant. This way, the plugin architecture doesn't have to
change.This might also have other benefits for people running
completely different environments instead of always having to manually
edit all these files before starting IDEA (which I do now). Sort of a
different feature, but should accomplish the above request easily.

---
Original message URL:
http://devnet.jetbrains.net/message/5277104#5277104


--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"


0

Dmitry,

I understand that it must be a non-trivial issue, and something with a potential to wreck the entire plugin architecture as it stands at the moment. Let's leave it in the backlog for now (frankly, I did not even expect it to be considered for IDEA 10, as the release deadline looms closer). However, I believe that one day it will be addressed somehow.

Kind regards,

Sergei

0

Please sign in to leave a comment.