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]

    • adopt new Platform UI constants0.5d
    • investigate using new PixelConverter0.5d
    • investigate using new ListDialog0.5d
  • 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)
    • provide JUnit API for test searching (bug 243294)
    • make RefactoringSaveHelper API (bug 255932)
    • [>3.5] make WorkbenchRunnableAdapter API (bug 255934)
      → removed from plan as there was no response/feedback from the original requestor
  • 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 delete working sets from Package Explorer hover enhancements
    • [>3.5] allow to add class folders to user libraries (bug 115097) 1d
    • [>3.5] adapt to JDT/Core support for ".." in build path (bug 248583)
    • [>3.5] allow to mark source folders as containing test source code (see bug 224708)
      → this got removed from the 3.5 plan by JDT Core
    • [>3.5 M4] BiDi support for input fields/combos (related bugs, depends on SWT bug 230854) 1m
    • enable styled strings when running in BiDi (depends on Platform UI bug 227559)1d
    • [>3.5] allow to ignore problems per source folder (depends on JDT Core bug 220928)1w
      → this got removed from the 3.5 plan by JDT Core
    • add 'Show in Properties File' action to NLS key hover (bug 220002) 1d
    • indicate match in Open Type dialog (similar to Ctrl+3) (depends on Platform UI bug 228397 and JDT Core bug 218605) 2d
  • Jar Exporter [3]

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

    • [>3.5] search for text in attached source (bug 247503, depends on JDT Core bug 199994)
      → will be solved via text search participant support (bug 23341)
      → JDT Core tried to support to find constant references in .class files with attached source (bug 12044) but deferred this from 3.5
  • 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
    • update JUnit4 to 4.5 (bug 244423, CQ 2583) 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 parameter hints for multi-line method calls
    • out of the box we should not call JDT Core code assist twice for each request (bug 164449) 0.25d
    • leverage JDT Core threshold support for code completion, show in editor or proposal popup status line (bug 247433) 1d
    • improve handling of constructor proposals (depends on JDT Core bug 6930) 1d
    • 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

    • help to improve editing support in Java compare editor (code reviews, provide new APIs) 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) 5d
      this could be achieved by a registering a new hyperlink detector
    • 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
    • [>3.5] adopt NodeFinder API (see bug 53024) 1d
    • adopt improved NamingConventions (see bug 38111) 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)
    • bug 227559 needs to be fixed in order to enable styled strings when running in BiDi
  • JDT Core
    • [>3.5] bug 199994 needs to be fixed in order to provide search for text in attached source (bug 247503)
      → will be solved via text search participant support (bug 23341)
    • bug 218605 needs to be fixed in order to indicate match in proposal list (similar to Ctrl+3)
    • bug 247941 needs to be fixed in order to add threshold support for code completion (bug 247433)
    • make NodeFinder API (bug 53024)
    • improve NamingConventions (bug 38111)
    • [>3.5] allow to mark source folders as containing test source code (bug 224708)
      → this got removed from the 3.5 plan by JDT Core
    • support '..' in classpath entries (bug 57732)
    • [>3.5] allow to ignore problems per source folder (bug 220928)
      → this got removed from the 3.5 plan by JDT Core
  • 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 M2] 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 M2] track rename of org.junit4 bundle to org.junit (bug 186369)

Jar Exporter [3]

  • 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
  • 3.5 milestone level planning 1d

JUnit [2]

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

Jar Exporter [3]

  • [>3.5 M2] add Jar-in-Jar class loader option (contribution) (bug 219530) 1w
    → we are waiting for IP review from eclipse.org

Content Assist [2]

  • improve handling of parameter hints for multi-line method calls

Miscellaneous

  • resolve cross team issues (get target milestones for required work) 1d
  • [3.5 M3] help to improve editing support in Java compare editor (code reviews, provide new APIs) 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.

General Items [2]

  • [3.5 M4] 3.4.2 maintenance work 1w

JUnit [2]

  • [3.5 M4] track rename of org.junit4 bundle to org.junit (bug 186369)

Jar Exporter [3]

  • [>3.5 M3] add Jar-in-Jar class loader option (contribution) (bug 219530) 1w
    → we are still waiting for IP review from eclipse.org

API

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

Usability [3]

  • enable styled strings when running in Bidi (depends on Platform UI bug 227559)1d
  • adapt to JDT/Core support for ".." in build path: part 1: make sure existing dialogs don't crash (bug 248583) 0.5d
  • [>3.5 M3] 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)
  • [>3.5 M3] allow to add class folders to user libraries (bug 115097) 1d

Refactoring [3]

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

Content Assist [2]

  • out of the box we should not call JDT Core code assist twice for each request (bug 164449) 0.25d
  • leverage JDT Core threshold support for code completion, show in editor or proposal popup status line (bug 247433) 1d
  • [>3.5 M3] context information: show parameters should show parameters for all overloaded methods (bug 58719) 1d

Miscellaneous

  • [3.5 M4] help to improve editing support in Java compare editor (code reviews, provide new APIs) 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.

General Items [2]

  • 3.4.2 maintenance work 1w

JUnit [2]

  • [>3.5] track rename of org.junit4 bundle to org.junit (bug 186369)
    → removing from plan. Will most likely not happen for 3.5.

Jar Exporter [3]

  • [3.5 M5] add Jar-in-Jar class loader option (contribution) (bug 219530) 1w
    → IP review from eclipse.org is done but we are still negotiating details
    → plan is to release this feature early M5

Usability [3]

  • allow to delete working sets from Package Explorer hover enhancements
  • [>3.5 M4] allow to mark source folders as containing test source code (see bug 224708)
    → deferring to M5 as JDT Core is not ready yet
  • [>3.5 M4] 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)
  • [>3.5 M4] allow to add class folders to user libraries (bug 115097) 1d

Content Assist [2]

  • [>3.5 M4] improve handling of constructor proposals (depends on JDT Core bug 6930) 1d
    → deferring to M5 as JDT Core is not ready yet
  • [>3.5 M4] context information: show parameters should show parameters for all overloaded methods (bug 58719) 1d

Refactoring [3]

  • change execution should not happen in the UI thread (bug 175733) 2w
  • [>3.5 M4] add 'Rename' refactoring quick assist (bug 239420) 1d
  • [>3.5 M4] Refactoring Preview should have "Back" button (bug 33737) 1d

Miscellaneous

  • [>3.5 M4] adopt NodeFinder API (see bug 53024) 1d
  • adopt improved NamingConventions (see bug 38111) 1d
  • [3.5 M5] help to improve editing support in Java compare editor (code reviews, provide new APIs) 0.5m

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.

General Items [2]

  • 3.4.2 maintenance work 1w
  • 3.4.2 one day test pass (test plan)

Jar Exporter [3]

  • add Jar-in-Jar class loader option (contribution) (bug 219530) 1w

Content Assist [2]

  • improve handling of constructor proposals (depends on JDT Core bug 6930) 1d
  • [>3.5 M5] context information: show parameters should show parameters for all overloaded methods (bug 58719) 1d

Usability [3]

  • [>3.5 M5] 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)
  • [>3.5 M5] add 'Show in Properties File' action to NLS key hover (bug 220002) 1d

Code Visualization [3] 1m

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

Refactoring [3]

  • Refactoring Preview should have "Back" button (bug 33737) 1d
  • add 'Rename' refactoring quick assist (bug 239420) 1d
  • [>3.5 M5] 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?

Miscellaneous [3]

  • [>3.5 M5] adopt NodeFinder API (see bug 53024) 1d
  • [3.5 M5] help to improve editing support in Java compare editor (code reviews, provide new APIs) 0.5m

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.

API [2]

  • provide JUnit API for test searching (bug 243294)
  • make RefactoringSaveHelper API (bug 255932)
  • [>3.5] allow to mark source folders as containing test source code (see bug 224708)
    → this got removed from the 3.5 plan by JDT Core

Content Assist [2]

  • [>3.5 M6] context information: show parameters should show parameters for all overloaded methods (bug 58719) 1d

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)
  • [3.5 M6]add 'Show in Properties File' action to NLS key hover (bug 220002) 1d
  • indicate match in Open Type dialog (similar to Ctrl+3) (depends on Platform UI bug 228397 and JDT Core bug 218605) 2d

Code Visualization [3] 1m

  • [>3.5] show horizontal line between methods (bug 13672)
  • [>3.5] ([misc] draw vertical lines in control flow statements (bug 84878))
  • [>3.5] (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?

Miscellaneous

  • [>3.5 M6] adopt NodeFinder API (see bug 53024) 1d
  • Open Implementation action on methods (bug 44277) 1d
  • help to improve editing support in Java compare editor (code reviews, provide new APIs) 0.5m
  • [>3.5] (adapt to JDT/Core support for ".." in build path (bug 248583))
  • [>3.5](allow to add class folders to user libraries (bug 115097)) 1d

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.

Adopt New Platform Features [2]

  • adopt new Platform UI constants0.5d
  • investigate using new PixelConverter0.5d
  • investigate using new ListDialog0.5d

Content Assist [2]

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

Usability [3]

  • add 'Show in Properties File' action to NLS key hover (bug 220002) 1d

Call Hierarchy [2]

  • shouldn't be stopped by anonymous inner classes (bug 102281)

Miscellaneous

  • [>3.5] adopt NodeFinder API (see bug 53024) 1d

Performance 0.5m

Work on bugs tagged with the 'performance' keyword.

Polish 0.5m

Fix all 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