Implement Split File Editor Functionality for the Eclipse IDE
- 2008-06-23. DOWNLOAD. 1st release of multi editor and split editor implementations. Instructions: Download the plugin jar and place in the dropins directory (compatible with Eclipse 3.4 RC4 or later).
Usage: Open a file in Eclipse, then select Window -> New Split Editor from the main menu to open a split editor of the file.
This implementation is based on Paul Webster's patch, which uses the existing multi-editor architecture in Eclipse.
- does not require custom work for different editor types (java/xml/etc)
- works automatically with new custom editor types
- Split editor opens in a new tab as opposed to appearing within the existing tab
- Activating with the mouse requires going to the main menu (Window->New Split Editor). There is also a keyboard shortcut - Ctrl+6.
- Bound by the limitations of the multi-editor infrastructure
Custom Split Editor Implementation
Usage: Right-click on a file, select Open with -> Other... and select \[Split Text Editor\] from the list of editors.
This implementation is based on a custom editor implementation that dynamically creates a new StyledText control when a sash is dragged within the editor to split it.
- fully replaces existing editors and allows splitting the active editor in-place (as opposed to opening a split editor in a new tab)
- easier activation via the mouse because there is no need to go to the window main menu or editor tab context menu.
- requires customization of every editor class that wants to support split editing (java/xml... etc)
|Feature||Importance||Test Case||Multi Editor||Split Editor||New Editor Tab|
|Save||critical||Select File-> Save from the main menu||works but invokes Save command twice||works||works|
|Save as||critical||Select File-> Save As from the main menu||does not work||works||works|
|Mark dirty editor's tab (star (*) next to file name)||critical||Make a change in the editor||does not mark editor tab as dirty with a * (star)||works||works|
|Mark occurrences (java)||nice-to-have||enable mark occurrences and click over a java element (method/field/class name etc)||works but marks occurrences in both editors||not applicable (java editor not available)||works|
|Mark occurrences of different elements (java)||nice-to-have||enable mark occurrences and click over different java elements in both editors||works but both elements are highlighted in both editors||not applicable (java editor not available)||works but both elements are highlighted in both editors (see bug 64911)|
|Current line highlight within active focused editor||critical||switch the focus (by mouse-clicking) between the two editors||works||fixed does not appear in top editor and cursor is no longer visible in bottom editor after split||works|
|Back/Forward Navigation (Navigate->Back/Forward from menu or Alt-Left/Right Arrow keys)||nice-to-have||click within the one of the two editors; make a change; switch to another editor; use Go Back command (Alt-LeftArrow) to go back||does not always go back to the editor where the change was made||does not always go back to the editor where the change was made||does not always go back to the editor where the change was made|
|Moving around text using Ctrl-? key commands||critical||Use Ctrl+Home/End to move to the beginning/end of the editor; Ctrl+Left/Right to move left/right a word at a time; Ctrl+Shift+Left/Right to move and left/right a word at a time and expand the selection||not tested||always acts on top editor in split mode, regardless of which editor (top or bottom) the cursor is in||works|
|Undo/Redo from menu||critical||open a split editor or multiple editor tabs, type some text in one of the editors and select Edit->Undo from the menu||not tested||works||works|
|Undo/Redo using keyboard||critical||open a split editor or multiple editor tabs, type some text in one of the editors and type Ctrl-Z to undo then Ctrl-Y to redo||not tested||works||works|
|Cut/Copy/Paste from menu||critical||open a split editor or multiple editor tabs, select some text in one of the editors and select Edit->Cut from the menu, then Edit->Paste||not tested||works||works|
|Cut/Copy/Paste using keyboard||critical||open a split editor or multiple editor tabs, select some text in one of the editors and type Ctrl-X to cut, then Ctrl-V to paste||not tested||works||works||Quick-fix shortcut||critical||press Ctrl-1 where a quick-fix is available (misspelled word for example); check at different locations in both editors||not tested||works||works||Incremental find||critical||press Ctrl-J then type some text to look for||not tested||works||works||Find Next/Previous shortcuts||critical||press Ctrl-K; Ctrl-Shift-K to find the next/previous occurrence of the selected text||not tested||works||works||Find Next/Previous shortcuts||critical||press Ctrl-K; Ctrl-Shift-K to find the next/previous occurrence of the selected text||not tested||works||works||Go to line action||critical||Select Navigate-> Go to line... from the menu; type a line that would require the active editor to be scrolled to bring into view||not tested||works||works|