Combined JDT Text and JDT UI 3.5 Plan

Combined JDT Text and JDT UI Component 3.5 Plan

Last revised $Date: 2008/08/15 13:03:55 $

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.5 for the JDT Text and the JDT UI component as listed on the Eclipse Project 3.5 Draft 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 fix critical bugs.

[3] Keep Eclipse vibrant and attractive. Deliver new productivity features like richer Java compare editor and easier project setup.


Work Items

This section lists the possible work items for Eclipse 3.5 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]

      None at this point.
  • Refactoring [3]

    • change execution should not happen in the UI thread (bug 175733) 2w
    • add 'Rename' refactoring quick assist (bug 239420) 1d
    • Refactoring Preview should have "Back" button (bug 33737) 1d
    • new refactoring: extract field (bug 52791)
    • new refactoring: convert instance method to static
    • new refactoring: move type to new file (bug 43277)
    • decide on strategy to handle visibility errors after refactorings (and implement it correctly): 2w
      • Increase visibility (with info/warning message)?
      • add delegation if possible (with info/warning message)?
      • offer possibility to "fix" warning on error page?
  • API [2]

    • extension point for the clean up wizard (bug 153755)
  • Usability [3]

    • problem hover enhancements:
      • provide link to help if any
      • provide link to clean up in enhanced problem hover (bug 218595)
    • provide a trim to show number of error/warnings
    • Compiler compliance, Execution Environment, JRE System Library, ... 1w
      • EE should be "normal" case, CC automatically updated (new compliance setting: "From EE") (bug 176516)
      • make EE the default (bug 176517)
    • allow to add class folders to user libraries (bug 115097) 1d
  • Jar Exporter [3]

    • add Jar-in-Jar class loader option (contribution) (bug 219530) 1w
  • Java Search [3]

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

    • shouldn't be stopped by anonymous inner classes (bug 102281)
  • Type Hierarchy [2]

    • compute hierarchy in background (bug 30881)
  • JUnit [2]

    • update JUnit4 to 4.4 (bug 197170, CQ 2027) 2d
    • track rename of org.junit4 bundle to org.junit (bug 186369)
  • Content Assist [2]

    • indicate match in proposal list (similar to Ctrl+3) (depends on Platform UI bug 228397 and JDT Core bug 218605)
    • improve handling of constructor proposals (depends on JDT Core bug 6930)
      → we should either fix this for 3.5 or mark as WONTFIX
    • context information: show parameters should show parameters for all overloaded methods (bug 58719) 1d
  • Code Visualization [3] 1m

    • show horizontal line between methods (bug 13672)
    • [misc] draw vertical lines in control flow statements (bug 84878)
    • visualize code nesting (bug 69455)
  • Quick views [3]

    • allow to open quick views from any Java element from any view (e.g. from the Package Explorer or Outline view)
    • show Javadoc (bug 41334)
    • context menu on its items [experimental]
  • Javadoc view and sticky Javadoc hover [2] 2w

    • support to follow relative links (bug 8112, bug 65310)
    • add better support for the @inheritDoc tag (bug 24227)
  • Performance And Memory Consumption [1]

    • constantly watch performance test results and act when red
    • continue to provide new tests
    • investigate to reduce garbage when typing
    • 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
  • Miscellaneous

    • improve editing support in Java compare editor (depends on Platform Compare) 0.5m
    • document single-click and double-click behavior together with Platform UI and adjust all views in JDT UI (bug 44277) 3d
    • Open Implementation action on methods (bug 44277) 1d
      this could be achieved by a registering a new hyperlink detector
    • BiDi support for input fields/combos (related bugs, depends on SWT bug 230854) 1m
    • add better support for the @inheritDoc tag (content assist, syntax coloring, hyperlinking)
    • structured selection should support brackets (bug 86835)
    • paste patch from clipboard into Package Explorer (bug 170879)
    • investigate using P2 on local build machine to allow update to latest plug-in export 1d
  • General Items [2]

    • 3.4.x maintenance work 1w
    • 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.

  • SWT
    • bug 230854 needs to be fixed in order to provide BiDi support for input fields/combos
  • Platform Compare
    • need to work together in order to provide improved editing support in Java compare editor
  • Platform UI
    • bug 228397 needs to be fixed in order to indicate match in proposal list (similar to Ctrl+3)
  • JDT Core
    • bug 199994 needs to be fixed in order to provide search for text in attached source
    • bug 218605 needs to be fixed in order to indicate match in proposal list (similar to Ctrl+3)
    • bug 6930: improve handling of constructor proposals
      → we should either fix this for 3.5 or mark as WONTFIX
  • JDT Debug
    • bug 236296 could influence the resolution for our EE-related bugs (bug 176516, bug 176517)
Milestone M1 (2008-08-08)
See also the Platform Text 3.5 M1 Plan.

General Items [2]

  • [3.5 M3] 3.4.1 maintenance work 1w
  • 3.5 planning 1d

Javadoc view and sticky Javadoc hover [2] 2w

  • add better support for the @inheritDoc tag
  • support relative URLs links in Javadoc hover and view

JUnit [2]

  • update JUnit4 to 4.4 (bug 197170, CQ 2027) 2d
  • [3.5 M3] track rename of org.junit4 bundle to org.junit (bug 186369)

Jar Exporter [3]

  • [3.5 M3] provide feedback to Jar-in-Jar class loader option (contribution) (bug 219530)

Miscellaneous

  • investigate using P2 on local build machine to allow update to latest plug-in export 1d
    → we are disabling P2's locking of the plugins folder as creating feature patches is too slow and requires that the features are not in source.

Permanent Items

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

Testing

Milestone M2 (2008-09-19)
See also the Platform Text 3.5 M2 Plan.

General Items [2]

  • 3.4.1 maintenance work 1w

Refactoring [3]

  • change execution should not happen in the UI thread (bug 175733) 2w

Jar Exporter [3]

  • provide feedback to Jar-in-Jar class loader option (contribution) (bug 219530) 1w

Miscellaneous

  • resolve cross team issues (get target milestones for required work) 1d
  • [3.5 M3] improve editing support in Java compare editor 0.5m
  • document single-click and double-click behavior together with Platform UI and adjust all views in JDT UI (bug 44277) 3d

Permanent Items

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

Testing

Milestone M3 (2008-10-31)
See also the Platform Text 3.5 M3 Plan.

API

  • extension point for the clean up wizard (bug 153755)

Usability [3]

  • Compiler compliance, Execution Environment, JRE System Library, ... 1w
    • EE should be "normal" case, CC automatically updated (new compliance setting: "From EE") (bug 176516)
    • make EE the default (bug 176517)
  • allow to add class folders to user libraries (bug 115097) 1d

Content Assist [2]

  • context information: show parameters should show parameters for all overloaded methods (bug 58719) 1d

Miscellaneous

  • improve editing support in Java compare editor 0.5m

Permanent Items

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

Testing

Milestone M4 (2008-12-12)
See also the Platform Text 3.5 M4 Plan.

Miscellaneous

  • BiDi support for input fields/combos (related bugs, depends on SWT bug 230854) 1m

Refactoring [3]

  • add 'Rename' refactoring quick assist (bug 239420) 1d
  • Refactoring Preview should have "Back" button (bug 33737) 1d

Permanent Items

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

Testing

Milestone M5 (2009-01-30) - Major/Big Features Done
See also the Platform Text 3.5 M5 Plan.

Code Visualization [3] 1m

  • show horizontal line between methods (bug 13672)
  • [misc] draw vertical lines in control flow statements (bug 84878)
  • visualize code nesting (bug 69455)

Refactoring [3]

  • decide on strategy to handle visibility errors after refactorings (and implement it correctly): 2w
    • Increase visibility (with info/warning message)?
    • add delegation if possible (with info/warning message)?
    • offer possibility to "fix" warning on error page?

Permanent Items

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

Testing

Milestone M6 (2009-03-13) - API Freeze
See also the Platform Text 3.5 M6 Plan.

Permanent Items

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

Testing

Milestone M7 (2009-05-01) - Feature Freeze, Focus on Performance and Polish
See also the Platform Text 3.5 M7 Plan.

Performance 0.5m

See bugs tagged with the 'performance' keyword.

Polish 0.5m

See bugs tagged with the 'polish' keyword.

Permanent Items

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

Testing

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