Design of MRU-Navigation wrt. Split-Views
Alexander Dymo
dymo at ukrpost.ua
Sun Feb 15 14:08:20 UTC 2009
I did some research for what is done by other IDE's and editors. Here are the
results:
== Eclipse 3.4.1 ==
- each mainwindow has its own navigation history
- split views share the common navigation history:
- opening file (in another split view) creates an entry in the common history
- switching between files in different split views also creates an entry
- "back"/"forward" function focus corresponding split views as necessary
== IntelliJ Idea 8.1 ==
- you can't open more than one mainwindow, there's only one with a history
- split views share the common navigation history
- opening file (in another split view) always creates an entry in the history
- switching between files in different split views doesn't always create
an entry in the history, instead it tries to changes the "current" pointer
in the history (I didn't grasp all the details of this process actually)
- "back"/"forward" function focus corresponding split views as necessary
== Netbeans 6.5 ==
- you can't open more than one mainwindow, there's only one with a history
- split views share the common navigation history
- opening file (in another split view) always creates an entry in the history
- switching between files in different split views also creates an entry
- there's no "forward" function
- "back" function (Ctrl-`) works like alt-tab in kwin (i.e. if it always
switchesbetween two latest documents, if you want to go deeper in history,
hold "`" key to get a menu, just like with 'alt-tab')
- "back" function focuses corresponding split views as necessary
== Kate ==
- there's no "true" MRU, back/forward work with a document list which is "most
recently opened" rather than "used"
- back/forward never switch between split views, they always use that MRO list
to open document in the same split view
- multiple windows share the same MRO list
== Emacs ==
- like in Kate, there's only MRO list
== VIM ==
- same as Kate and Emacs
====================================================
My Conclusions:
I didn't use split views often before, so my impressions are based totally on
what I saw today.
Eclipse's MRU model with one history per mainwindow worked for me perfectly.
It's logical, understandable and predictable.
Idea's MRU is totally confusing, always giving me unpredictable results even
after I thought I got its logic. We definitely don't want to use this.
Netbean's MRU without "forward" button is ok, but it's rather unusual to see
alt-tab'ish behavior in the editor.
Kate, Emacs and VIM don't have MRU at all, they have only MRO. If we choose to
not implement MRU, then MRO is a way to go. Otherwise, we have nothing to
learn from them.
What's interesting is that the model with separate MRU history for split views
is not really used in practice. Eclipse, Netbeans and Idea have single history
per mainwindow.
More information about the KDevelop-devel
mailing list