Combined JDT Text and JDT UI 3.4 Plan

Combined JDT Text and JDT UI Component 3.4 Plan

Last revised 11:15 CEST July 2, 2008

This plan is under continuous refinement. Please send comments about this plan to the jdt-ui-dev@eclipse.org developer mailing list.

Note: This plan depends on the Platform Text Plan.

Overall Goals

This section lists the goals for Eclipse 3.4 for the JDT Text and the JDT UI component as listed on the Eclipse Project 3.4 Plan.

[1] Performance. Monitor overall performance and memory consumption which includes the addition of new performance tests for new features.

[2] Reliability. Provide APIs for clients where needed and make various improvements to Type Hierarchy and Call Hierarchy.

[3] Keep Eclipse vibrant and attractive. Deliver new productivity features like rich hovers and additional semantic highlightings. Make the Quick view more prominent and let them display Javadoc like the content assistant does.


Work Items

This section lists the possible work items for Eclipse 3.4 for the JDT Text and the JDT UI component with the [corresponding theme]. Some of those items have a higher priority than others.

  • Adopt New Platform Features [2]

    • [>3.4] Use new JFace cell editors and content assist
  • Refactoring [3]

    • change method signature refactorings should support participants (bug 89422)
    • [>3.4] change execution should not happen in the UI thread (bug 175733)
    • extract class (bug 185338)
    • [>3.4] new refactoring: extract field (bug 52791)
    • refactoring should report affected binary references (bug 182346)
    • [>3.4] new refactoring: convert instance method to static
  • API [2]

    • API to access the shared AST (bug 199992)
    • API to add pages to the Javadoc wizard (bug 139818)
    • make functionality of JavaProjectWizardFirstPage API (bug 160985)
    • add extension point for 'add library' quick fix (bug 196141)
    • [>3.4] extension point for the clean up wizard (bug 153755)
  • API to be moved to other components [2]

    • colored labels (bug 188333)
    • make new projects WorkingSetConfigurationBlock API and push down to platform (bug 199904)
    • Move/Rename and Delete resource to LTK so the can be used by Plaform/UI (bug 206064)
    • FilteredTypesSelectionDialog mixes 2 versions of SearchPattern (bug 176017)
  • Usability [3]

    • leverage rich hovers from Platform Text, e.g.:
      • enrich the problem hover:
        • add a tool bar button or command link(s) when quick fixes are available
        • add a tool bar button or command link to change the compiler options
        • [>3.4] add a tool bar button or command link to change clean up on save options
      • to provide links to preference pages
      • provide hint where quick assist/fix is available
      • [>3.4] provide link to help if any
      • add/enable links in Javadoc hovers
      • allow to open element out of Javadoc hover
      • allow to open Javadoc view out of Javadoc hover
    • [>3.4] provide a trim to show number of error/warnings
    • improve drag and drop in Java views: drop between, not onto (where applicable)
    • add UI support for external class folders (see JDT Core bug 182537)
  • Jar Exporter [3]

    • export Java application (bug 83258)
    • [>3.4] sign JAR (bug 11485)
    • create Ant file from Runnable JAR file exporter (bug 213638)
  • Java Search [3]

    • [>3.4] search for text in attached source (bug 199994)
  • Call Hierarchy [2]

    • provide more starting points: start on fields, types, constructors (default for anonymous, e.g Runnables), static methods
  • Type Hierarchy [2]

    • [>3.4] compute hierarchy in background (bug 30881)
  • Clean Up [3]

    • fix indentation on save (bug 164324)
    • only format edited lines on save (bug 201063)
  • Quick Fix [2]

    • improve cursor jumping on quick fix invocation (bug 201878)
  • JUnit [2]

    • show test running time (bug 102236)
    • double clicking a failed JUnit test should show the failing JUnit assertion (bug 68738)
    • [>3.4] update JUnit4 to 4.4 (bug 197170)
    • [3.5] track rename of org.junit4 bundle to org.junit (bug 186369)
  • Content Assist [2]

    • [>3.4] indicate match in proposal list (similar to Ctrl+3)
    • enable navigation key bindings in proposal list (bug 140550)
    • [>3.4] improve handling of constructor proposals (depends on JDT Core bug 6930)
    • offer API for simpler access to proposal computers preferences (bug 140886)
    • improve content assist after instanceof ( bug 193909)
    • support code assist for static members when import missing (bug 205723)
  • Quick views [3]

    • [>3.4] allow to open on any Java element from any view (e.g. from the Package Explorer or Outline view)
    • [>3.4] show Javadoc (bug 41334)
  • Javadoc view and sticky Javadoc hover [2]

    See also the Rich Hovers item.

    • support to follow links (relative URLs, @see, @link,...)
    • support navigation and history support
    • allow to pin i.e. link with editor button in Javadoc view

  • Miscellaneous

    • [3.5] add better support for the @inheritDoc tag (hover, content assist, syntax coloring)
    • revisit showing markers and temporary problems together in rulers
      ⇒ we might want to only show the actual temporary problems (if this feature is enabled)
    • emphasize write access over read access in mark occurrences with a different color
    • improve template mechanism and offer a set of SWT templates
    • [>3.4] different semantic highlighting for read and write access of fields and local variables
    • [>3.4] Declaration and Javadoc view should allow to navigate to other members in hierarchy (bug 82709)
    • [>3.4] goto declaring type: often going to the declared type is desired, see also bug 44277
      this could be achieved by a registering a new hyperlink detector either on a new modifier or the default one (Ctrl). Second approach depends on the Hyperlinking plan item
    • [>3.4] editing always updates like "Local Rename" (automatically enter linked mode)
  • General Items [2]

    • 3.3.x maintenance work
    • look at bugs with patches and review those


Cross Team Issues

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

TBD
Milestone Planning

Previous 3.4 milestones can be reviewed here.

See also the Platform Text 3.4 Milestone Plans.

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