Bug 438356 - Cleanup contextual menu
Summary: Cleanup contextual menu
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.4   Edit
Hardware: All All
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 438918 438887 438920
Blocks:
  Show dependency tree
 
Reported: 2014-06-27 05:06 EDT by Mickael Istria CLA
Modified: 2014-07-07 09:27 EDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mickael Istria CLA 2014-06-27 05:06:17 EDT
While comparing NetBeans and Eclipse, I realized that Eclipse context menu on Project Explorer isn't much contextual, so that it looks polluted by irrelevant items. There are some entries that are present that don't make any sense according to the selection. For example:
* On any resource, I can find a "New > Project" context menu. it doesn't in the context of a resource
* On a Java class, I can find a "New -> Package" context menu, it doesn't make sense in the context of a class.
* On any resource, I can find the "Import..." menu, which doesn't seem to have anything to do with the selected resource.
* On any resource, I can find the "Export..." menu, which seems to only make sense for projects.

We should probably refine the VisibleWhen of these commands to make it more contextual.
Comment 1 Dani Megert CLA 2014-06-27 07:05:30 EDT
(In reply to Mickael Istria from comment #0)
> While comparing NetBeans and Eclipse, I realized that Eclipse context menu
> on Project Explorer isn't much contextual, so that it looks polluted by
> irrelevant items. There are some entries that are present that don't make
> any sense according to the selection. For example:
> * On any resource, I can find a "New > Project" context menu. it doesn't in
> the context of a resource
> * On a Java class, I can find a "New -> Package" context menu, it doesn't
> make sense in the context of a class.
> * On any resource, I can find the "Import..." menu, which doesn't seem to
> have anything to do with the selected resource.


> * On any resource, I can find the "Export..." menu, which seems to only make
> sense for projects.

Sometime one wants to just put some files or folders into a ZIP. Hence, does make sense.


A smaller context menu might look nicer at the beginning, but for people using the mouse it will cause more work. E.g., if currently a class is selected I can just go and create a package. When removing some of the menu items, the user will have to first select a valid element to do this.
Comment 2 Mickael Istria CLA 2014-06-27 07:37:35 EDT
(In reply to Dani Megert from comment #1)
> Sometime one wants to just put some files or folders into a ZIP. Hence, does
> make sense.

If this is the only use-case, what about replacing the Export menu as a "Create zip".
Also, I don't think usability should be driven by "sometimes", but more by "usually". For "sometimes" use-cases, it's acceptable to require a few more clicks. See recent talk from Tracy Miranda about "Lean Design Critique" at EclipseCon France.

> A smaller context menu might look nicer at the beginning, but for people
> using the mouse it will cause more work. E.g., if currently a class is
> selected I can just go and create a package. When removing some of the menu
> items, the user will have to first select a valid element to do this.

Creating a package when you are on a class isn't really a contextual operation. Instead, people willing to create a package from a class should go to "File > New > Package", which is contextual to the current activity (aka perspective) instead of current selection.
Comment 3 David Williams CLA 2014-06-27 10:19:43 EDT
(In reply to Mickael Istria from comment #0)

> * On any resource, I can find the "Export..." menu, which seems to only make 
> sense for projects.

I frequently export files and folders -- far more often than I export a project. 
Its usually XML/HTML/PHP files ... if that's a factor ... but was surprised to see "it only makes sense for projects".
Comment 4 Mickael Istria CLA 2014-06-27 10:34:34 EDT
(In reply to David Williams from comment #3)
> I frequently export files and folders -- far more often than I export a
> project. 

Thanks for this usage scenario David.
When you say "Export" do you implicitly mean "Export as archive" or do you use other export operations?
Comment 5 Max Rydahl Andersen CLA 2014-07-01 08:26:42 EDT
Export does make sense on other things than a project but the problem is that the export dialog that pops up does not actually filter itself based on the current selection - that is only done later when you actually have chosen a specific export wizard.

When you install JavaEE - the menu is actually not that crowded. its when you add 3rd party plugins it goes really bad imo.

for the specifics in here:

I disagree that New > Package is not relevant on any resource when the context is something java related.

New Project - yeah, that one seem an easy one to remove and just leave that in File > New.

The biggest issue I see with the context menu is the 3rd party plugins that believe they need to add themself to the root context of everything to become visible - many of these should be moved to Configure for enabling their specific functionallity instead of being in the root of all menus.
Comment 6 Martin Oberhuber CLA 2014-07-07 09:27:12 EDT
When we looked at cleaning up the project explorer context menus for our commercial product in the past, we noticed that some menu contributions were programmatic and could not be hidden ... we filed a request against Platform/UI but it never got anywhere:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=402509

Perhaps things have improved in Eclipse 4.x and even programmatic contributions could now be hidden ?