Last revised 12:44 CEST June 11, 2007

This plan is under continuous refinement. Please send comments about this draft plan to the platform-text@eclipse.org developer mailing list.

Overall Goals

This section lists the goals for Eclipse 3.3 for the Platform Text and the JDT Text component as listed on the Eclipse Project Draft 3.3 Plan.

Keep the performance. Continue to monitor overall performance and memory consumption. This includes the addition of new performance tests for new features. [Scaling Up, Enterprise Ready][all]

More text editor productivity features. Provide some long awaited productivity features like double-click-drag to select multiple words, triple-click, extensible hyperlink support and spell checking. Some of the items depend on support from Platform UI and Platform SWT [Platform Text, Platform UI, Platform SWT]

Drive quick navigation support to the next level. Use the new SWT custom rendering support to show the items as links, show additional info (e.g. Javadoc), allow to open Quick views from everywhere (e.g. from the Package Explorer or Outline view) and eventually offer a context menu (investigation item). [JDT Text]


Work Items

This section defines the committed and proposed work items for Eclipse 3.3 for the Platform Text and the JDT Text component.

Platform Text

  • Live Annotate

    • support to color by age in addition to color by contributor (bug 147705)
    • fix hover sizing problems (bug 147709)
    • allow the text (user, revision, ...) in the live annotate ruler to become a hyperlink on demand
  • Hyperlinking

    • allow to contribute (extension-point) and configure hyperlinking (bug 88293)
    • allow to present more than one hyperlink target for a given text range
  • Vertical Rulers

    • vertical ruler column extension point (bug 25793)
      • allow contributions for a certain editor (id)
      • allow contributions for a content type
      • allow contributions for a certain editor hierarchy (class)
    • provide toolkit for line-based information (good for coverage information etc.)
      ⇒ the AbstractRulerColumn base class for line-based rulers has been added
  • Spell Checking in Text Editors

    • spelling for text editors
    • make the JDT spell check engine encoding aware
    • provide an English dictionary out of the box
    • [>3.3] push down text spelling engine from JDT Text to Platform Text
    • allow specific editors to install filters, e.g. to filter Javadoc tags
    • open up spell checking for other language stems
    • allow to spell-check a set of resources
  • Rich Hovers [experimental]

    • links support in hovers so that you can navigate to things from there
    • to do this we might first need to finish/cleanup the roll-over annotation work that was kicked off during 3.0
    • investigate better interaction for making hovers sticky (mouse path)
    • allow seamless transition from hover > sticky hover > javadoc view
    • investigate to use hovers as affordance for context sensitive actions (quick assist/fix, surround with...)
  • Typing

    • Insert Spaces for Tabs preference for text editors
    • Smart Home/End preference for text editors
    • triple-click support (bug 14654 - depends on SWT, see bug 23614)
      ⇒ by the end of M6 SWT decided to provide this directly in StyledText during M7 as it would be very hard to implement triple-click + mouse move to select multiple lines on top of it
    • warn if the user types into a derived file (bug 148931)
    • text drag and drop (bug 11624
    • show invisible characters (look at the provided patch) [experimental]
    • add ability to join lines
    • Last Edit Position history
    • restore editor selection on restart (bug 124615, depends on Platform UI bug 44295).
  • Navigation

    • provide correct double-click + drag to select words (bug 5138 - depends on SWT, see bug 138579)
    • provide modifier + mouse wheel support, e.g. allow to
      • scroll by page
      • change font size
      • navigate in the history
      • make above features configurable
    • ability to configure the annotation presentation layer via UI
  • Find/Replace

    • improve Find/Replace dialog: make it resizable
    • find a solution to Find/Replace line breaks, tabs, etc. in regular expressions
    • improve Find/Replace dialog: merge into editor area, ...
  • Miscellaneous

    • open up file buffers to URIs
    • add support for ISaveableModelSource (bug 131068)
    • revisit the text viewer's support for redraw, compound updates, and selection preservation
      • check all setRedraw(on/off) users whether they really need that expensive operation (e.g. undo!)
      • separate selection preservation from redraw and compound command
    • provide save a hook (maybe try out in JDT land first) [experimental]
      ⇒ JDT Text internally it is now possible to register save participants. This is used to do code clean up on save. There are currently no plans to push this to Platform Text.
    • push more JDT quick assist support to Platform Text (e.g. how to show the quick assists and their preview)
    • quick assist extension point
    • support styles (bold, italic) in text editor
    • push down F2 (Show Tooltip Description) feature for hovers to Platform Text
    • provide multi-clipboard for text editors (emacs-style, rolling)

JDT Text

  • Content Assist

    • fix multi-monitor problems
    • automatically add imports (depends on JDT Core bug 44984)
    • enable navigation key bindings in proposal list (bug 140550)
    • indicate match in proposal list
    • [>3.3] improve handling of constructor proposals(bug 6930)
    • code assist for declarations (JDT Core, see JDT Summit document)
    • code assist for references that require static imports (bug 152123)
  • Syntax Highlighting

    • provide import/export
    • add coloring schemes and allow to switch them via toolbar
  • Quick views

    • allow to open Quick Hierarchy on any Java element from any view (e.g. from the Package Explorer or Outline view)
    • [>3.3] show additional info (e.g. Javadoc)
    • context menu on its items [experimental]
  • Declarations and Javadoc view and sticky Javadoc hover

    • allow to pin (in Javadoc view)
    • support to follow links (relative URLs, @see, @link,...)
    • support navigation and history support
    • Declaration and Javadoc view should allow to navigate to other members in hierarchy (bug 82709)
  • Outline and Members view

    • show categories as nodes
    • show properties as nodes (group getter/setter/field) (bug 26618)
    • drag-and-drop when unsorted (drop between elements)
  • Typing

    • solve segmented mode toolbar button usability problem (bug 72354)
    • typed templates: template variables with parameters (e.g. Java type names)
    • goto declaring type:
      F3 + Ctrl+Click go to the declaration - often going to the declared type is desired, see also bug 68144
    • permanent local rename mode [experimental]
      • editing always updates like "Local Rename" (automatically enter linked mode)
      • investigate interplay with "refactoring only" mode
  • NLS Tooling

    • better support for Java properties files (native2ascii conversion)

General Items

  • 3.2.x maintenance work
  • switch to new Assert class from Platform (bug 135136)
  • adopt ICU Collator and use new APIs on StructuredViewer (bug 157093)
  • move web site from CVS to www
  • convert web site to phoenix
  • allow to get a graphical view of our performance tests i.e. fingerprint for all text tests
  • solve outstanding accessibilty problems


Cross Team Issues

This section contains cross team issues that have to be clarified. The concrete outcome affects the plan items listed above.

  • Platform SWT
  • Platform UI
    • we need bug 44295 fixed in order to support restoring of editor selection on restart (bug 124615)
  • JDT Core
RC1 - RC4

Work towards R3.3 will be done according to the end game plan.

The 3.3 two day test pass on RC1 can be found here.

Permanent items

  • bugzilla inbox tracking
  • bug fixing
  • watch performance tests
  • increase correctness test coverage

Absences

  • 3 days vacation
  • 2 public holidays

Previous Milestones

Previous 3.3 milestones can be reviewed here.

Bug Tracking
Legend
item is under development. item is under investigation.
item is finished. ( ) item is time permitted.
[xyz] item is deferred (>) from xyz or continues in xyz. new