3.0 Plan

Overall themes

  • improve navigation support
  • reduce gestures
  • smarter editing
  • improve presentation of editing and browsing related information
  • consolidate preference handling
  • consolidate code

Navigation and interaction

Planned items

  • folding
    • allow user controlled folding structures
    • vertical ruler column as folding control
  • [>3.0] editor view splitting
  • regex in Find/Replace dialog (available, needs 1.4. runtime)
  • enable reducing the number of gestures required to insert a completion proposal and to continue typing
    • e.g., auto activate content assist if completion trigger is also an auto activation trigger
  • interactive status bar
    • change overwrite mode on double click
    • change raw/smart mode on double click (see smart typing section)
    • [>3.0] change read/only flag on double click
  • provide actions to show/hide vertical ruler columns, overview ruler, etc. that can be bound to accelerators

Investigation items

  • navigation control
    • Previous element button, Selector to choose the element type, Next element button
    • navigation hover listing all possible navigation actions as hyper links
    • content assist like lightweight dialog approach listing all possible navigation actions
    • [>3.0] action hovers
  • [>3.0] support gestures

Information presentation

  • generalize hover concept to show context information of elements and allow for configurable presentation
    • control as hover or view part
    • content as text, list, or tree
  • change bar vertical ruler column
    • shows difference to a selected revision/snapshot/saved state
    • ruler hover shows original content
    • context menu offers action to revert the current difference to the original content
  • background highlighting of text to complement squiggles
  • [>3.0] synchronize editor dirty bit and undo manager state

Typing

Planned items

  • smart insert new line before/after cursor line
  • duplicate selection/line
  • [>3.0] transpose lines/words/characters
  • move lines
  • copy lines
  • change selection to upper/lower case
  • smart Backspace/Delete/yank line
    • synchronize with smart semicolon/brace
    • [>3.0] will remove everything inserted by an auto indent strategy
  • [>3.0] delete block of empty lines (keep none or one)
  • introduce "raw" mode in which every key stroke is stripped down to its bare meaning
    • mode is shown in the status line
    • action with key binding to toggle mode
    • adapt all actions to consider the mode setting
  • template support in Default Text Editor

Investigation items

  • [>3.0] investigate macro support (requires command based text infrastructure)

Preference handling

  • support default configurations and preference inheritance
  • [>3.0] introduce UI for setting the Undo manager stack size

Misc

  • [>3.0] allow to specify line terminator for new files
  • editors and none resources
    • open editor on a java.io.file rather than IFile
    • [>3.0] support for more abstract editable source than IFile such as IEditableEditorInput

Architectural and implementation issues

  • [>3.0] merge interfaces with their extensions including cleanup of replaced concepts
  • integrate command based text manipulation with IDocument and related classes
    • unify with the undo manager
    • find policy of partition and position updating that fits compound text manipulation commands
  • extend partitioning
    • handle partitions of length zero
    • [>3.0] introduce nested partitions
  • move templates to text infrastructure layer
item is under development  item is finished  () item is time permitting
3.0 Plan Input M7 onward

Top Five items

  • text folding
  • embedded content enablement
  • semantic syntax coloring
  • consolidation of user preferences / sharing between different editors
  • editor view splitting (coordinated effort with MultiEditor)

Productizing previous achievements

  • spell checking of comments and Javadoc comments
  • usage of SWT Browser widget
  • improved annotation presentation metaphor

Platform consolidation

Integrate functionality already available in higher level components such as JDT UI.

  • templates
  • linked mode
  • control mouse click
  • adoption of basic quick fix infrastructure

Generalize functionality available for text editors

  • handling of validateEdit
  • action contribution and retargeting

Major defects or functional gaps

  • proposal popup for templates
  • frustration items such as missing interactions

Catch up items

  • user settings
  • activities and contexts
  • adapt to dynamic plug-in loading

Investigation items

  • action hovers

Cross team issues

  • GTK/Linux performance
  • key binding support for non-parts such as dialogs and overlays (e.g., hover, content assist)
    • support of a verify command listener
  • JDT Text: improve lightweight outliner to be a full-fledged replacement for the outline view part