blob: e59342281d12f72f34bc98f681c2645a70d3293a [file]
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>JDT UI 3.0.x</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="stylesheet" href="http://dev.eclipse.org/default_style.css"
type="text/css">
</head>
<body style="background-color: rgb(255, 255, 255); color: rgb(0, 0, 0)">
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<tbody>
<tr>
<td align="left" width="72%"><font class="indextop"> jdt ui R3.0.x</font>
<br>
<font class="indexsub"> java development tooling ui </font></td>
<td style="vertical-align: top"><br>
</td>
<td width="28%"><img src="http://dev.eclipse.org/images/Idea.jpg"
height="86" width="120"></td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<tbody>
<tr>
<a NAME="Overall_Planning">
<td align="left" valign="top" colspan="2" bgcolor="#0080c0"
width="100%"><b><font face="Arial,Helvetica"><font color="#ffffff">
Overall 3.0 Plan</font></font></b></td>
</a>
</tr>
<tr>
<td colspan="2">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 <a
href="main_M1_M6.html">here</a>.</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Top Five Items</b>
<ul>
<li>Improve support for Java like languages
<ul>
<li>allow other plug-ins to contribute and participate in search,
refactoring as well as code generation and templates</li>
</ul>
</li>
<li>Improved Java Search
<ul>
<li>searching in background</li>
<li>tree based result presentation</li>
</ul>
</li>
<li>Abstract syntax tree rewriting</li>
<li>Surface JDK 1.5 features</li>
<li>Polish and performance work</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Architectural Issues</b>
<ul>
<li><font class="indexsub"></font><font class="indexsub"
color="#8080ff">[&gt;3.0]</font> Support an IJavaElement adapter in
all actions and filters in the same way as the workspace supports an
IResource adapter (IAdapter.getAdapter(IJavaElement.class)).</li>
<li><font class="indexsub"></font><font class="indexsub"
color="#8080ff">[&gt;3.0]</font> Support reusing Java editor
actions (source and refactoring) in other plug-ins.</li>
<li><font class="indexsub" color="#8080ff">[&gt;3.0]</font>
Investigate in IActionFilter support for Java elements (see bug
30948). This is obsolete with the new expression language</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Investigate to use platform's decorator mechanism for
error ticks and running man decoration.</li>
<li><font class="indexsub" color="#8080ff">[&gt;3.0]</font> Remove
separation between source manipulation actions, refactorings and
quick assists.</li>
<li><img border="0" src="../images/new.gif"> Adapt to dynamic
plug-in loading (new runtime)</li>
<li>Allow non-Java partitions in the Java editors.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Introduce concept of a reconciling pipeline:
<ul>
<li>each element of the pipeline uses the result of the previous</li>
<li>mapping between editor content and the several intermediate
formats.</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Improve User Experience</b>
<ul>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Investigate in customizable hovers in views (like in
editor) to show java doc, implementors of method, etc.</li>
<li><img src="../images/progress.gif" nosave="" height="5"
width="14" border="0"> Investigate how to "quick access" source,
refactoring and quick assist actions (e.g. not via cascading context
menus).</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Simplify filter management in JDT views.</li>
<li><img border="0" src="../images/new.gif"> Investigate use of
activities in JDT/UI</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Code Manipulation</b>
<ul>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Improve comment handling in AST rewriter.</li>
<li><font class="indexsub"><font class="indexsub" color="#8080ff">[&gt;3.0]</font></font>
Improve sorting capability for compilation units (by visibility, by
defining type, ...).</li>
<li>Enable contributions to code generation templates.</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Typing</b>
<ul>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0">Smart semicolon, braces, parenthesis in Java code.</li>
<li><font class="indexsub"><font class="indexsub" color="#8080ff">[&gt;3.0]</font></font>
Investigate auto correct in Java code.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0">Allow typing actions to be executed in "raw" mode.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Improve commenting/uncommenting of code.</li>
<li><font color="#000000"> <font class="indexsub"><font
class="indexsub" color="#8080ff">[&gt;3.0]</font></font> S</font><font
color="#000000">upport code completion after &lt;code&gt;Te| or
&lt;tt&gt;Te.</font></li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Navigation</b>
<ul>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Type hierarchy pop-up for a method. It allows to
navigate up and down in the type hierarchy (overrides/
implementors).</li>
<li>Generalize Type hierarchy pop-up to structured selections in
Java views</li>
<li><font color="#000000"><img src="../images/ok.gif" nosave=""
height="10" width="10" border="0"> Investigate Tab navigator
contributions</font>&nbsp;</li>
<li>Introduce code folding.</li>
<li><font class="indexsub"><font class="indexsub" color="#8080ff">[&gt;3.0]</font></font>
Present URLs in Javadoc as interactive links.</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Presentation</b>
<ul>
<li>Show more outliner information directly in the Java editors.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Show inherited members in the light-weight outline</li>
<li><font class="indexsub"><font class="indexsub" color="#8080ff">[&gt;3.0]</font></font>
Generalize matching delimiter highlighting to Javadoc tags such as
&lt;code&gt; ... &lt;/code&gt;.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Use syntax coloring in source hover.</li>
<li>Introduce semantic syntax highlighting</li>
<li><font class="indexsub"><font class="indexsub" color="#8080ff">[&gt;3.0]</font></font>
Investigate method separator lines.</li>
<li><img src="../images/progress.gif" nosave="" height="5"
width="14" border="0"> Leverage Platform Text mechanisms to show
more information about elements such as all referenced types, call
sit<font color="#000000">es, overriders, implementors, declaration</font>
(see also Navigation section).</li>
<li><img src="../images/progress.gif" nosave="" height="5"
width="14" border="0"> Support spell checking comments</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Quick Fix / Assist</b>
<ul>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Enable the contribution of quick fixes and quick
assists.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Additional quick fixes, e.g., add parameter to existing
method, remove unused parameters, convert unused parameter to field.</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Refactoring</b>
<ul>
<li><img src="../images/progress.gif" nosave="" height="5"
width="14" border="0"> Enable other plug-ins to participate in
rename, move and delete refactorings.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Make refactorings Javadoc aware (@see, @link, etc.).</li>
<li><img src="../images/progress.gif" nosave="" height="5"
width="14" border="0"> Enable other plug-ins to contribute new
refactorings.</li>
<li><img src="../images/progress.gif" nosave="" height="5"
width="14" border="0"> Publish change infrastructure as API.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Reduce memory consumption.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Investigate using type constraints for type related
refactorings (extract interface, user supertype, ....).</li>
<li><img src="../images/progress.gif" nosave="" border="0"> Add new
refactorings, e.g., add parameter, convert constructor to factory
method, extract super class, migrate packages and Java 1.5 specific
refactorings.</li>
<ul>
</ul>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0">Rearchitecture rename, move, delete, cut, copy and paste
functionality.</li>
<li><img border="0" src="../images/new.gif"> Improve NLS refactoring</li>
</ul>
</td>
</tr>
<tr>
<td style="vertical-align: top"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td style="vertical-align: top"><b>Search</b>
<ul>
<li><img src="../images/progress.gif" nosave="" height="5"
width="14" border="0"> Allow other plug-ins to participate in Java
element searches to find matches in non-Java files (for example
JSPs, plugin.xml).</li>
<li><font class="indexsub"><font class="indexsub" color="#8080ff">[&gt;3.0]</font></font>
Add option on the Java Search page to use regular expressions.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Add option to search in "current" project.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Improve global search/replace.</li>
</ul>
</td>
</tr>
<tr>
<td style="vertical-align: top"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td style="vertical-align: top"><b>Build Path</b>
<ul>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Investigate in user configurable containers.</li>
</ul>
</td>
</tr>
<tr>
<td style="vertical-align: top"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td style="vertical-align: top"><b>JUnit</b>
<ul>
<li>Participate in refactoring operations and update test
class/package references.</li>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Enable transition of pde.junit to pde.</li>
</ul>
</td>
</tr>
<tr>
<td style="vertical-align: top"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td style="vertical-align: top"><b>Java Browsing</b>
<ul>
<li>Use of containers to group Java archives in Projects view.</li>
</ul>
</td>
</tr>
<tr>
<td style="vertical-align: top"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td style="vertical-align: top"><b>Type Hierarchy</b>
<ul>
<li><img src="../images/ok.gif" nosave="" height="10" width="10"
border="0"> Support type hierarchy presentation scoped to a working
set.</li>
</ul>
</td>
</tr>
<tr>
<td style="vertical-align: top"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td style="vertical-align: top"><b>Preferences</b>
<ul>
<li>Adapt to user-oriented preferences.</li>
<li><font class="indexsub"><font class="indexsub" color="#8080ff">[&gt;3.0]</font></font>
Syntax highlighting preview on the preference page should background
highlight all occurrences of the selected type.</li>
</ul>
</td>
</tr>
<tr>
<td style="vertical-align: top"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td style="vertical-align: top"><b>Articles</b>
<ul>
<li>How to contribute a quick assist/quick fix</li>
</ul>
</td>
</tr>
<tr>
<td style="vertical-align: top"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td style="vertical-align: top"><b>Dependencies</b>
<ul>
<li>Regular expression search depends on JDT Core support: <a
href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=36897">36897</a></li>
<li>Javadoc support for refactoring depends on Java doc support in
AST.</li>
<li>Track Changes in other plug-ins</li>
<ul>
<li>Platform: templates, consolidated action contribution, snap
shotting, background activities, and named sharable preference
sets, encoding.</li>
<li>Platform: Generic navigator</li>
<li>JDT/Core: JDK 1.5, working copy support, tags in Javadoc, Java
elements for local types, and new formatter.</li>
</ul>
</ul>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<tbody>
<tr>
<td align="left" valign="top" colspan="4" bgcolor="#0080c0"
width="100%"><b><font face="Arial,Helvetica"><font color="#ffffff">Legend
</font></font></b></td>
</tr>
<tr>
<td valign="top"><img src="../images/progress.gif" nosave=""
height="5" width="14" border="0"></td>
<td width="50%">item is under development.</td>
<td valign="top"><img src="../images/glass.gif" nosave="" height="10"
width="10" border="0"></td>
<td width="50%">item is under investigation.</td>
</tr>
<tr>
<td valign="top"><img src="../images/ok.gif" nosave="" height="10"
width="10" border="0"></td>
<td width="50%">item is finished.</td>
<td valign="top">( )</td>
<td width="50%">item is time permitted.</td>
</tr>
<tr>
<td valign="top"><font class="indexsub" color="#8080ff">[&gt;3.0]</font></td>
<td width="50%">item is deferred.</td>
<td valign="top"><font class="indexsub"><img border="0"
src="../images/new.gif"></font></td>
<td width="50%">new</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<tbody>
<tr>
<a name="Milestone_Planning"> </a>
<td align="left" valign="top" colspan="2" bgcolor="#0080c0"><b><font
face="Arial,Helvetica"><font color="#ffffff"> M9 Milestone Plan
(under construction)</font></font></b></td>
<a></a>
</tr>
<tr>
<td valign="top" width="23"><img
src="http://dev.eclipse.org/images/Adarrow.gif" nosave="" border="0"
height="16" width="16"></td>
<td width="848"><b>Overall goals for M9</b>
<ul>
<li>Polish work</li>
<li>Finish Java search participants</li>
<li>Finish refactoring participant API</li>
<li>Introduce folding</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Overhead Items</b>
<ul>
<li>Inbox tracking (12 days)</li>
<li>Testing (8 days)</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>General</b>
<ul>
<li>NLS pass (3 days)</li>
<li>Provide Javadoc for new API classes (3 days)</li>
<li>Investigate where we can use more specific scheduling rules to
avoid blocking dialogs (2 days)</li>
<li>Make ZRH components activities aware (2 days)</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Type Hierarchy</b>
<ul>
<li>Use label decorators to compute override/implements indicator (1
day)</li>
<li>View initialization in background (1 day)</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Refactoring</b>
<ul>
<li>Make common expression language dynamic plug-in loadiung aware
(2 days)</li>
<li>Move refactoring into new plug-in org.eclipse.ltk.*.refactoring
(10 days)</li>
<li>Make refactorings more responsive to cancel (1 day)</li>
<li>Provide code assist in local and field name entry fields (1 day)</li>
<li>Extract Method: allow destination to be outer class if outer
class in non-static (1 day)</li>
<li>Investigate in better import handling (2 days)
<ul>
<li>remove unused imports for move and inline refactoring</li>
<li>don't generate .* imports on move</li>
</ul>
</li>
<li>Rename (3 days)
<ul>
<li>imporve ripple method computation</li>
<li>investigate in hierarchical package rename</li>
</ul>
</li>
<li>Move (2 days)
<ul>
<li>only show resonable targets in move destination dialog</li>
<li>disable reorg moves via refactoring move dialog</li>
</ul>
</li>
<li>Pull Up (2 days)
<ul>
<li>investigate to run use super type where possible after pull up
has completed</li>
<li>support pulling up into interfaces</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Quick Fix</b>
<ul>
<li>Use common expression language for Quick fix extension point (1
day)</li>
<li>New quick fixes: change compiler preferences, add interface to
class, change field &amp; method return type (4 days)</li>
<li>Improve quick fixes for Javadoc errors (1 day)</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Code Manipulation</b>
<ul>
<li>Support code generation at cursor location (1 day)</li>
<li>Investigate in import aware copy &amp; paste (2 days)</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Build path</b>
<ul>
<li>Provide inclusion filter user interface (1 day)</li>
<li>Investigate moving user library container support into JDT/Core
(1 day)</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Search</b>
<ul>
<li>Finish search participants (3 days)</li>
<li>Migrate find occurrences to new Search (2 days)</li>
<li>Provide read/write indication for fields (1.5 days)</li>
<li>Provide filters for matches in imports, Javadoc, read and write
access (3 days)</li>
<li>Provide an occurrences finder to mark method exit points (1 day)</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Compare</b> (8 days)
<ul>
<li>Allow headless diff and merge (#54091)</li>
<li>Allow binding filenames to compare viewers (#51791)</li>
<li>improve compare support for new sync viewer (#55081, #41564,
#52261)</li>
<li>Show word level diffs using a background color (#54822)</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td>
<p><b>Typing, Presentation, and Source Manipulation</b></p>
<ul>
<li>Provide reconcile with AST support (3 days)</li>
<li>Override indicators in vertical ruler (3 days)</li>
<li>Introduce semantic syntax highlighting (10 days)</li>
<li>Introduce folding in Java editor (10 days)</li>
<li>Integrate spelling dictionary (3 days)</li>
<li>Provide proposals for Java template completions (2 days)</li>
<li>Polish incremental completion mode (1 day)</li>
<li>Improve Mark Occurrences (3 days)</li>
<li>Smart typing improvements (5 days) </li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Miscellaneous</b> <ul>
<li>Non uniform file encodings (2 days)
<ul>
<li>Provide UI for setting default encoding for files, folders, and
projects</li>
</ul>
</li>
<li>Progress View: (8 days)
<ul>
<li>Improved progress view</li>
<li>Local progress indicator for Search</li>
</ul>
</li>
</ul>
</td>
</tr>
<tr>
<td valign="top"><img src="http://dev.eclipse.org/images/Adarrow.gif"
nosave="" border="0" height="16" width="16"></td>
<td><b>Conferences/Vacations</b>
<ul>
<li>vacation: 10 days</li>
</ul>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="5" cellpadding="2" width="100%">
<tbody>
<tr>
<td align="left" valign="top" colspan="2" bgcolor="#0080c0"
width="100%"><b><font face="Arial,Helvetica"><font color="#ffffff">
Getting the sources</font></font></b></td>
</tr>
<tr>
<td>
<ul>
<li>Define a CVS connection to server <code>pserver:anonymous@dev.eclipse.org:/home/eclipse,</code>
</li>
<li>Check out <a
href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.ui"><code>HEAD</code></a>
branch of the project <code>org.eclipse.jdt.ui</code>.</li>
<li>Make sure to import the prerequisite plug-ins (usually from the
latest SDK R2.1.x <a
href="http://www.eclipse.org/downloads/index.php" target="newbuild">build</a>).
Prerequisite plug-ins are already referenced on the project build
path ( <code>.classpath</code> file).</li>
<li>The sources of this project require JDK 1.4.</li>
</ul>
</td>
</tr>
</tbody>
</table>
</body>
</html>