|
Overall 3.0 Plan |
| The 3.0 plan below is a revised plan for the
milestones M7 - M9 and still under development. Input from the
community is very welcome. The original 3.0 plan can be found here. |
 |
Top Five Items
- Improve support for Java like languages
- allow other plug-ins to contribute and participate in search,
refactoring as well as code generation and templates
- Improved Java Search
- searching in background
- tree based result presentation
- Abstract syntax tree rewriting
- Surface JDK 1.5 features
- Polish and performance work
|
 |
Architectural Issues
- [>3.0] Support an IJavaElement adapter in
all actions and filters in the same way as the workspace supports an
IResource adapter (IAdapter.getAdapter(IJavaElement.class)).
- [>3.0] Support reusing Java editor
actions (source and refactoring) in other plug-ins.
- [>3.0]
Investigate in IActionFilter support for Java elements (see bug
30948). This is obsolete with the new expression language
Investigate to use platform's decorator mechanism for
error ticks and running man decoration.
- [>3.0] Remove
separation between source manipulation actions, refactorings and
quick assists.
Adapt to dynamic
plug-in loading (new runtime)
- Allow non-Java partitions in the Java editors.
Introduce concept of a reconciling pipeline:
- each element of the pipeline uses the result of the previous
- mapping between editor content and the several intermediate
formats.
|
 |
Improve User Experience
Investigate in customizable hovers in views (like in
editor) to show java doc, implementors of method, etc.
Investigate how to "quick access" source,
refactoring and quick assist actions (e.g. not via cascading context
menus).
Simplify filter management in JDT views.
Investigate use of
activities in JDT/UI
|
 |
Code Manipulation
Improve comment handling in AST rewriter.
- [>3.0]
Improve sorting capability for compilation units (by visibility, by
defining type, ...).
- Enable contributions to code generation templates.
|
 |
Typing
Smart semicolon, braces, parenthesis in Java code.
- [>3.0]
Investigate auto correct in Java code.
Allow typing actions to be executed in "raw" mode.
Improve commenting/uncommenting of code.
- [>3.0] Support code completion after <code>Te| or
<tt>Te.
|
 |
Navigation
Type hierarchy pop-up for a method. It allows to
navigate up and down in the type hierarchy (overrides/
implementors).
- Generalize Type hierarchy pop-up to structured selections in
Java views
Investigate Tab navigator
contributions
- Introduce code folding.
- [>3.0]
Present URLs in Javadoc as interactive links.
|
 |
Presentation
- Show more outliner information directly in the Java editors.
Show inherited members in the light-weight outline
- [>3.0]
Generalize matching delimiter highlighting to Javadoc tags such as
<code> ... </code>.
Use syntax coloring in source hover.
- Introduce semantic syntax highlighting
- [>3.0]
Investigate method separator lines.
Leverage Platform Text mechanisms to show
more information about elements such as all referenced types, call
sites, overriders, implementors, declaration
(see also Navigation section).
Support spell checking comments
|
 |
Quick Fix / Assist
Enable the contribution of quick fixes and quick
assists.
Additional quick fixes, e.g., add parameter to existing
method, remove unused parameters, convert unused parameter to field.
|
 |
Refactoring
Enable other plug-ins to participate in
rename, move and delete refactorings.
Make refactorings Javadoc aware (@see, @link, etc.).
Enable other plug-ins to contribute new
refactorings.
Publish change infrastructure as API.
Reduce memory consumption.
Investigate using type constraints for type related
refactorings (extract interface, user supertype, ....).
Add new
refactorings, e.g., add parameter, convert constructor to factory
method, extract super class, migrate packages and Java 1.5 specific
refactorings.
Rearchitecture rename, move, delete, cut, copy and paste
functionality.
Improve NLS refactoring
|
 |
Search
Allow other plug-ins to participate in Java
element searches to find matches in non-Java files (for example
JSPs, plugin.xml).
- [>3.0]
Add option on the Java Search page to use regular expressions.
Add option to search in "current" project.
Improve global search/replace.
|
 |
Build Path
Investigate in user configurable containers.
|
 |
JUnit
- Participate in refactoring operations and update test
class/package references.
Enable transition of pde.junit to pde.
|
 |
Java Browsing
- Use of containers to group Java archives in Projects view.
|
 |
Type Hierarchy
Support type hierarchy presentation scoped to a working
set.
|
 |
Preferences
- Adapt to user-oriented preferences.
- [>3.0]
Syntax highlighting preview on the preference page should background
highlight all occurrences of the selected type.
|
 |
Articles
- How to contribute a quick assist/quick fix
|
 |
Dependencies
- Regular expression search depends on JDT Core support: 36897
- Javadoc support for refactoring depends on Java doc support in
AST.
- Track Changes in other plug-ins
- Platform: templates, consolidated action contribution, snap
shotting, background activities, and named sharable preference
sets, encoding.
- Platform: Generic navigator
- JDT/Core: JDK 1.5, working copy support, tags in Javadoc, Java
elements for local types, and new formatter.
|