Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "Implement Split File Editor Functionality for the Eclipse IDE"
(→Multi Editor-based) |
(→Issue Tracker) |
||
Line 35: | Line 35: | ||
== Issue Tracker == | == Issue Tracker == | ||
− | {| | + | '''Legend''' |
− | |- | + | |
+ | [[Image:Glass.gif]] Needs some investigation/research<br> | ||
+ | [[Image:Progress.gif]] Work in progress<br> | ||
+ | [[Image:Ok_green.gif]] Bug fixed / Feature added | ||
+ | |||
+ | {| class="wikitable" | ||
+ | |- style="background:#efefef;" | ||
! Feature | ! Feature | ||
+ | ! Importance | ||
! Test Case | ! Test Case | ||
! Multi Editor | ! Multi Editor | ||
! Split Editor | ! Split Editor | ||
! New Editor Tab | ! New Editor Tab | ||
− | |- | + | |- style="background:lightgrey;" |
− | | Save | + | | '''Save''' |
+ | | critical | ||
| Select File-> Save from the main menu | | Select File-> Save from the main menu | ||
| works but invokes Save command twice | | works but invokes Save command twice | ||
| works | | works | ||
| works | | works | ||
− | |- | + | |- style="background:lightgrey;" |
− | | Save as | + | | '''Save as''' |
+ | | critical | ||
| Select File-> Save As from the main menu | | Select File-> Save As from the main menu | ||
| does not work | | does not work | ||
| works | | works | ||
| works | | works | ||
− | |- | + | |- style="background:lightgrey;" |
− | | | + | | '''Mark dirty editor's tab''' (star (*) next to file name) |
+ | | critical | ||
| Make a change in the editor | | Make a change in the editor | ||
| does not mark editor tab as dirty with a * (star) | | does not mark editor tab as dirty with a * (star) | ||
| works | | works | ||
| works | | works | ||
− | |- | + | |- style="background:lightgrey;" |
− | | Mark occurrences (java) | + | | '''Mark occurrences (java)''' |
+ | | nice-to-have | ||
| enable mark occurrences and click over a java element (method/field/class name etc) | | enable mark occurrences and click over a java element (method/field/class name etc) | ||
| works but marks occurrences in both editors | | works but marks occurrences in both editors | ||
| not applicable (java editor not available) | | not applicable (java editor not available) | ||
| works | | works | ||
− | |- | + | |- style="background:lightgrey;" |
− | | Mark occurrences of different elements (java) | + | | '''Mark occurrences of different elements (java)''' |
+ | | nice-to-have | ||
| enable mark occurrences and click over different java elements in both editors | | enable mark occurrences and click over different java elements in both editors | ||
| works but both elements are highlighted in both editors | | works but both elements are highlighted in both editors | ||
| not applicable (java editor not available) | | not applicable (java editor not available) | ||
| works but both elements are highlighted in both editors (see [http://bugs.eclipse.org/64911 bug 64911]) | | works but both elements are highlighted in both editors (see [http://bugs.eclipse.org/64911 bug 64911]) | ||
− | |- | + | |- style="background:lightgrey;" |
− | | Current line highlight within active focused editor | + | | '''Current line highlight within active focused editor''' |
+ | | critical | ||
| switch the focus (by mouse-clicking) between the two editors | | switch the focus (by mouse-clicking) between the two editors | ||
| works | | works | ||
− | | does not appear in top editor and cursor is no longer visible in bottom editor after split | + | | <font color=green>fixed</font> does not appear in top editor and cursor is no longer visible in bottom editor after split |
| works | | works | ||
− | |- | + | |- style="background:lightgrey;" |
− | | Navigation | + | | '''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 | | 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 | | 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 | ||
+ | |- style="background:lightgrey;" | ||
+ | | '''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 | ||
+ | |- style="background:lightgrey;" | ||
+ | | '''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 | ||
+ | |- style="background:lightgrey;" | ||
+ | | '''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 | ||
+ | |- style="background:lightgrey;" | ||
+ | | '''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 | ||
+ | |- style="background:lightgrey;" | ||
+ | | '''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 | ||
|} | |} |
Revision as of 01:46, 1 July 2008
Contents
Releases
- 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).
Implementations
Multi Editor-based
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.
- Advantages
- does not require custom work for different editor types (java/xml/etc)
- works automatically with new custom editor types
- Disadvantages
- 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.
- Advantages
- 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.
- Disadvantages
- requires customization of every editor class that wants to support split editing (java/xml... etc)
Issue Tracker
Legend
Needs some investigation/research
Work in progress
Bug fixed / Feature added
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 |