Bug 325422 - [EditorMgmt] Eclipse 4.0 tab rendering should be improved
Summary: [EditorMgmt] Eclipse 4.0 tab rendering should be improved
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.5.2   Edit
Hardware: PC Windows XP
: P3 enhancement with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords: helpwanted
Depends on:
Blocks:
 
Reported: 2010-09-16 05:36 EDT by Deepak Azad CLA
Modified: 2016-04-22 05:50 EDT (History)
9 users (show)

See Also:


Attachments
firefox screenshot (593.08 KB, image/bmp)
2010-09-16 06:30 EDT, Deepak Azad CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Deepak Azad CLA 2010-09-16 05:36:49 EDT
The editor area always shows the most recently used editors (and views as well in Eclipse 4.0), this way the ordering of the editors/views is lost. I would like eclipse to preserve the order of editors/views in a way similar to how modern browsers manage tabs. For example in Firefox the tab order remains the same and if all tabs cannot be shown together you can scroll through the tabs, but the order is still preserved. 

The reason I want the order to be preserved is sometimes I just remember that a particular editor was 'there' and tend to forget the file name. Its just to do with how you remember stuff - visually or textually.

Fixed position of editors and views will help people who remember stuff visually, while Ctrl+E is already there for someone who remembers stuff textually.
Comment 1 Remy Suen CLA 2010-09-16 05:51:40 EDT
(In reply to comment #0)
> The editor area always shows the most recently used editors (and views as well
> in Eclipse 4.0), this way the ordering of the editors/views is lost. I would
> like eclipse to preserve the order of editors/views in a way similar to how
> modern browsers manage tabs.

This should already be happening in 4.x for both editors and views. If you are seeing behaviour that indicates otherwise, please provide a reproducible scenario.
Comment 2 Hitesh CLA 2010-09-16 06:25:05 EDT
The behaviour resembles a circular list and comes across as confusing when presented on a tab-list with a drop-down on one end. In contrast to this, firefox displays a linear list like behaviour with the ability to scroll to next tab or the previous tab which is certainly is easier to remember visually (on LHS or RHS).This would be a great feature for 3.x as well.  

I could not see the filter for the drop-down as opposed to 3.x.
Comment 3 Deepak Azad CLA 2010-09-16 06:30:08 EDT
Created attachment 179017 [details]
firefox screenshot

To be specific, I want the 3 things highlighted in the screenshot.
- a scroller to the left of the tab bar
- a scroller to the right of the tab bar
- a drop down list at the right with *all* the open editors/views in it, and the current editor/view in bold. Highlighting the current tab in the list is an easy way of seeing where you are in the list. and yes the filter we have in 3.x at the top of the list would also be nice.
Comment 4 Remy Suen CLA 2010-09-16 07:15:23 EDT
(In reply to comment #3)
> Created an attachment (id=179017) [details]
> firefox screenshot
> 
> To be specific, I want the 3 things highlighted in the screenshot.

Firefox's UI has been brought in the past. This should be technically feasible with an alternate renderer.
Comment 5 Deepak Azad CLA 2010-10-12 09:13:07 EDT
> This should already be happening in 4.x for both editors and views. If you are
> seeing behaviour that indicates otherwise, please provide a reproducible
> scenario.
4.x does remember the order of editors and views and having used it for a while now, I think MRU is more useful but I would still want the ability to *pin* an editor or a view in a particular position in the stack. For instance if I am making (most of the) code changes in say 2 files, I would like to be able to pin these and make them always visible in one position. The rest of the editors which are opened to just view some code (quite often only once) can be managed with an MRU policy.
Comment 6 Hitesh CLA 2010-10-12 09:54:15 EDT
(In reply to comment #5)
(In reply to comment #4)

IMO, the linear order is still better than MRU or some other order - Firefox's tabbing still remains one of easiest to use. As for MRU, yes it is likely I would want the more frequently accessed editors to be suggested, but that is already done by the Quick Access, is it not ? Yes , it maybe possible with another renderer, but why not make it the default if it is one of the popular schemes - or maybe have a preference ?

If it involved comparing or modifying one set from another, or accessing some particular files rather frequently , then creating a new stack and maximizing it can help. But I guess this still leaves uncovered the problem of few-to-many and others, so pinning sounds like a good additional feature.
Comment 7 Boris Bokowski CLA 2010-10-12 09:55:28 EDT
(In reply to comment #3)
> Created an attachment (id=179017) [details]
> firefox screenshot
> 
> To be specific, I want the 3 things highlighted in the screenshot.
> - a scroller to the left of the tab bar
> - a scroller to the right of the tab bar
> - a drop down list at the right with *all* the open editors/views in it, and
> the current editor/view in bold. Highlighting the current tab in the list is an
> easy way of seeing where you are in the list. and yes the filter we have in 3.x
> at the top of the list would also be nice.

+1 from me for doing something like this (if it can be done with the currently allocated resources).

This might even be something that someone from the community could work on.
Comment 8 Deepak Azad CLA 2010-10-12 10:16:24 EDT
(In reply to comment #6)
> If it involved comparing or modifying one set from another, or accessing some
> particular files rather frequently , then creating a new stack and maximizing
> it can help. But I guess this still leaves uncovered the problem of few-to-many
> and others, so pinning sounds like a good additional feature.

I thought about creating a new stack, but I dont think I want to keep minimizing and maximizing the stacks.

What I would ideally want is probably a combination of 'Most recently used', 'Most frequently used', and 'Most edited' policies :-)

Pinning an editor/view can still probably be an additional option...
Comment 9 Hitesh CLA 2010-10-12 10:43:12 EDT
(In reply to comment #8)

Yep!! Like in my previous comment, I mentioned that some use-cases are left uncovered and, also, there will always be some more. What I was hinting at is such things may evolve if there is need and force. I've to agree that such opinions or work are best documented & achieved via community.
Comment 10 Deepak Azad CLA 2010-10-30 14:30:53 EDT
We open an editor for
1 Editing code
a) in large amount - you are writing a few classes from scratch
b) in a very small amount - maybe change just a method call

2a) Copying code :)
2b) refer to an existing implementation

3) to understand the code 
a) you see a type in the code and you F3 to see what that type is about and then never return to it. 
b) you open the Call Hierarchy on a method and then try to understand what all places this method is called from - few more open editors
c) same can happen with Type Hierarchy

Now type 1 editors are most important followed by type 2. Type 3 editors become useless very quickly but cause the most clutter. I often end up with 30-40 editors and then have to close all and start afresh. Out of these 30-40 editors generally 5-10 are of interest and I open them again. So Eclipse needs to somehow keep track of these type 3 editors and maybe get rid of them after a while or at least keep them separate from type 1 and type 2 editors.

Maybe this could be done...
- Show editor tabs in 2 lines instead of the current 1 (something like Bug 28722 - I am not too concerned about all editor tabs to be visible at the same time)
- The first line of editor tabs would contain all edited editors (type 1) and all the 'pinned' (or 'special' un-edited editors - type 2). We can possibly follow fixed position or even MRU here - or maybe this can be configurable ?
- The second line of tabs contains all the type 3 editors. We can simply follow MRU here, and maybe even automatically close editors which have not been used for say the past hour.
- The user should be able to close all tabs in a single line.
Comment 11 Dani Megert CLA 2010-11-02 07:49:23 EDT
See also bug 68684 for a very lengthy discussion about tab ordering.
Comment 12 Deepak Azad CLA 2010-11-02 10:13:11 EDT
(In reply to comment #11)
> See also bug 68684 for a very lengthy discussion about tab ordering.
Thanks Dani! This bug led me to bug 168379 comment 4, which is quite similar to what I said in comment 10. 

bug 168379 talks about autopinning a non-dirty editor
I think *pinning* a non-dirty editor needs to be done explicitly by a 'pin the editor' button

It also talks about
"- Opening an editor either replaces the editor in the current tab, or opens a
new tab.  A new tab is opened when the current editor is pinned."
This means I have to decide whether to pin an editor or not before I open another editor. I am not too sure if this is a good idea...
Comment 13 Deepak Azad CLA 2010-11-18 21:46:18 EST
(In reply to comment #10)
> Maybe this could be done...
> - Show editor tabs in 2 lines instead of the current 1 (something like Bug #
> 28722 - I am not too concerned about all editor tabs to be visible at the same
> time)
> - The first line of editor tabs would contain all edited editors (type 1) and
> all the 'pinned' (or 'special' un-edited editors - type 2). We can possibly
> follow fixed position or even MRU here - or maybe this can be configurable ?
> - The second line of tabs contains all the type 3 editors. We can simply follow
> MRU here, and maybe even automatically close editors which have not been used
> for say the past hour.
> - The user should be able to close all tabs in a single line.

Maybe this would be a simpler/smaller change:
Currently we have a dropdown list on the right of the editor tabs which lists all the editors. We could add a dropdown list on the left which will list only the dirty and pinned tabs. (We will also need an action to close all the non dirty non pinned tabs)
Comment 14 Patrik Suzzi CLA 2016-04-22 05:50:39 EDT
This is a bug for Platform UI. 

Current operation with an MRU list it is not intuitive, and often I am puzzled because I do not find the tabs.

I like the idea of having a circular list with fixed order; this is intuitive for whoever is used to browsers' tabbed interface.