| <!doctype html public "-//w3c//dtd html 4.0 transitional//en"> |
| <html> |
| <head> |
| <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> |
| <meta name="GENERATOR" content="Mozilla/4.76 [en] (Windows NT 5.0; U) [Netscape]"> |
| <title>Platform Text Component</title> |
| </head> |
| <body text="#000000" bgcolor="#FFFFFF"> |
| |
| <table BORDER=0 CELLSPACING=5 CELLPADDING=2 WIDTH="100%" > |
| <tr> |
| <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Overall |
| Platform Text 3.1 Plan</font></font></td> |
| </tr> |
| |
| <tr> |
| <td WIDTH="100%"> |
| <p>Last revised 18:30 CET July 19, 2005 |
| |
| |
| <p>This is the final plan.</p> |
| <h2><a NAME="Overall_Planning"></a>Overall goals </h2> |
| <p>This section defines the committed goals for Eclipse 3.1 for the Platform |
| Text and the JDT Text component. Each goal is annotated with the overall |
| 3.1 Eclipse theme it contributes to. </p> |
| <h3>Platform</h3> |
| <ul> |
| <li> <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> |
| Improve overall performance and stabilize on memory consumption. This |
| includes open editor, quick diff, open quick outline, typing speed, |
| redraw behavior, scrolling. Define a set of scenarios and assign to |
| each scenario a concrete performance goal. <b>[Built to last]</b> |
| <ul> |
| <li> |
| <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> define a <a href="performance_scenarios.html">set of scenarios</a>. |
| </li> |
| </ul> |
| </li> |
| <li> |
| <p><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> |
| Write stable and if possible automated performance and memory footprint |
| tests for Text and Java editors and some of its actions. A testing |
| framework should be provided which enables to write stable performance |
| and memory tests. Tests need to be put in place and maintained such |
| that performance and memory consumption of editor related tasks like |
| opening, typing, scrolling and Quick Diff can be monitored.<b> </b>Investigate |
| introspective performance measurement support: Allow users to run |
| performance tests and collect data (open files, preferences) to report |
| performance issues. <b>[Built to last]</b></p> |
| </li> |
| <li> |
| <p><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> |
| Increase correctness test coverage of the text infrastructure. <b>[Built |
| to last] </b></p> |
| </li> |
| <li> <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> |
| Consolidate and extend platform. <b>[Built to last, Rich client platform, |
| Large-scale development] </b> </li> |
| <ul> |
| <li>Consolidate platform based on experience from larger clients such as the Eclipse Web Tools Platform Project.</li> |
| <li>Prepare editor infrastructure for embedding (editors inside editors and views)<br> |
| ⇒ made a feasibilty study and sent feedback about Component framework proposal to Platform UI. |
| </li> |
| <li>Improve code quality.</li> |
| </ul> |
| <li> |
| <p> <img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> |
| Improve overall integration with the workbench. This includes consolidation |
| of preferences and increased preference sharing as well as seamless |
| support for user configurable editor based on content types. Investigate direct |
| access to preferences where useful. <b>[Simple to use, Large-scale |
| development]</b> </p> |
| </li> |
| <li> |
| <p><font class="indexsub" color="#8080ff">[partially >3.1]</font> |
| Provide better text editor support for RCP. The list of functions |
| to add will grow over time. The initial set includes: annotation presentation |
| and navigation, user assigned colors and fonts, pluggable spelling engines (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">), spell checking, user |
| defined, persistent folding, quick diff, templates, URL detection |
| and handling (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">). <b>[Rich client platform]</b></p> |
| </li> |
| <li> |
| <p><font class="indexsub" color="#8080ff">[partially >3.1]</font> |
| Make the Default Text editor your favorite text editor. From time |
| to time users switch to an external text editor. The goal of this |
| plan item is to enhance the Text editor so that there is no longer |
| a need to switch. The list of functions to add will grow over time. |
| The initial set includes: annotation navigation, user assigned colors |
| and fonts, pluggable spelling engines (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">), spell checking, user defined, persistent folding, templates, |
| URL detection and handling (<img src="../images/ok.gif" nosave="" border="0" height="10" width="10">). <b>[Simple to use]</b></p> |
| </li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> |
| Help clients such as the Eclipse Web Tools Platform Project to improve |
| their overall integration with the Platform Text components and the |
| workbench in general. <b>[Broadening the community]</b></li> |
| <ul> |
| </ul> |
| </ul> |
| <h3>JDT</h3> |
| <ul> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> Improve the Java editors. <b>[Simple to use, Large-scale development]</b> |
| <ul> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| Provide additional convenience and productivity text manipulation |
| functions.</li> |
| <li> <img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| Continue the "information at your finger tips" and "non-intrusive |
| UI" themes. |
| <ul> |
| <li>Improve on rich visual modeless feedback.</li> |
| </ul> |
| </li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Investigate direct access to preferences where useful.</li> |
| <li>Provide extension point to allow for useful additions to the reconciling process such as running audits.</li> |
| <li>Provide extension point to allow for useful additions to the content assist and template proposals.</li> |
| </ul> |
| </li> |
| <li><font class="indexsub" color="#8080ff">[partially >3.1]</font> |
| Improve string externalization. Possible work items are collected <a href="../development/String_Externalization_Improvements.html">here</a>. <b>[Simple |
| to use]</b></li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> J2SE 5.0 Support (<a href="http://www.eclipse.org/jdt/ui/r3_1/j2se50/Status.html">JDT UI's overall status</a>) <b>[J2SE 5 support]</b></li> |
| <ul> |
| <li><span style="font-style: italic;">Ensure Java Editor and all its |
| J2SE 1.4 coding features work with new JLS3 AST</span><br> |
| The first priority is to get the same product quality when coding |
| against J2SE 1.4 as we have with Eclipse SDK 3.0. JDT text code needs |
| to be adapted to the new JLS3 AST and ensured that it is not broken |
| by new Java element types and deltas. Affected areas are syntax highlighting, |
| occurrence marking and Java outline page.<br> |
| </li> |
| <li><span style="font-style: italic;">Enable Java coding against J2SE 5.0</span><br> |
| Existing features like syntax highlighting, occurrence marking, auto-indentation, |
| Java Outline page and formatting need to be made J2SE 5.0 aware. |
| </li> |
| <li><span style="font-style: italic;">Add new features for J2SE 5.0</span><br> |
| New features include annotation folding, matching < bracket support, |
| auto insertion of closing >, new keyword and syntax highlighting, |
| e.g. for generics and enums, and new templates. Provide hover support |
| for annotations such as @override.</p> |
| </li> |
| </ul> |
| <li> [investigate] Contribute to the resolution of the "many errors" |
| issue. (cross team issue) |
| <ul> |
| <li> If a project is improperly setup, opening a file of that project |
| can result in lots of temporary problems. On open, the editor could |
| propose to filter all ripple errors and to show only relevant errors.</li> |
| <li>When auto-build is enabled, the editor can warn the user when a |
| file is saved for which temporary errors exist.</li> |
| </ul> |
| </li> |
| </ul> |
| <h2><a NAME="Work_Items"></a>Work items</h2> |
| <p>Work items represent subjects on which the Platform/JDT Text team will |
| work in the course of the 3.1 development. The listed subitems represent |
| initial input based on the current state of knowledge. There might be |
| shifts of focus during the development process. Items that are affected |
| by the concrete resolution of cross team issues are marked as such. Items |
| that are of exploratory nature are tagged with [investigate].</p> |
| <h3>Component independent</h3> |
| <ul> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> code cleanup</li> |
| <ul> |
| <li>cleanup implementation to only use up-to-date concepts</li> |
| <li>cleanup plugin.xml files and code which still uses pre-3.0 extension |
| points and attributes (e.g. actionDefinitionId)</li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> remove AbstractTextEditor dependency on internals of org.eclipse.ui</li> |
| <li>Javadoc |
| <ul> |
| <li>enforce uniform Javadoc style (usage of link, @value tag, etc.)</li> |
| <li>complete Javadoc (internal classes, private methods, etc.)</li> |
| </ul> |
| </li> |
| <li>[investigate] separate backward compatibility code from up-to-date |
| code</li> |
| </ul> |
| <li>dynamic plug-in loading/unloading |
| <ul> |
| <li>describe dynamic capabilities</li> |
| <li>[investigate] prepare for dynamic plug-in deactivation</li> |
| </ul> |
| </li> |
| </ul> |
| <h3>Platform</h3> |
| <ul> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| file buffers |
| <ul> |
| <li>provide file buffer level undo and composite changes</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10""> allow validateEdit on a set of file buffers</li> |
| <li>allow buffers for non-existing files that get automatically created |
| when committing the file buffer</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide setDirty on IFileBuffer</li> |
| <li>provide a disconnect method that automatically calls commit in |
| case the file buffer is dirty and after the call no longer shared</li> |
| <li>allow new implementations to be plugable (RCP does not include |
| the IResource based implementation, IDE does)</li> |
| <li>clarify document creation and document setup extension points</li> |
| <li>provide standard way to modify document provided by a text file |
| buffer in a non-UI thread</li> |
| <li>[investigate] provide implementation for IStorage</li> |
| <li>[investigate] Is it possible to automate validateEdit on the first |
| document change?</li> |
| <li>[investigate] on demand activation of partitioning (created only |
| when somebody asks for it)</li> |
| </ul> |
| </li> |
| <li>reconciler |
| <ul> |
| <li>clarify life cycle (multiple concurrent reconcilers on unconfigure/configure)</li> |
| <li>dirty region management in the incremental reconciler |
| <ul> |
| <li>a reconciling strategy should cross out the dirty regions |
| it consumed</li> |
| <li>dirty regions get only removed from the queue if there is |
| a guarantee that they have been consumed</li> |
| <li>type of change for a dirty region are exploited</li> |
| </ul> |
| </li> |
| <li>provide closer integration of reconciling steps |
| <ul> |
| <li>automatic propagation of the progress monitor to all individual |
| reconciling steps</li> |
| </ul> |
| </li> |
| <li>[investigate] adaptive reconciler timing</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| headless text infrastructure |
| <ul> |
| <li>revisit synchronization issues between annotation model and document |
| <ul> |
| <li>annotation map is synchronized but not the operations on the annotation |
| model itself, leaving a temporal gap in which concurrent modifications |
| can happen</li> |
| </ul> |
| </li> |
| <li>[investigate] time stamped document events</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| encoding (cross team issue) |
| <ul> |
| <li>transfer encoding upon Save As...</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> listen to and handle encoding changes in the encoding UI</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> clarify BOM handling in case of encoding changes</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> folding |
| <ul> |
| <li>introduce structured folding change events</li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> improve annotation summaries |
| <ul> |
| <li>allow for customization of annotation summaries</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide hovers for annotation summaries</li> |
| </ul> |
| </li> |
| <li>improve the in-text folding indicator |
| <ul> |
| <li>provide hovers</li> |
| <li>indicate the amount of collapsed text</li> |
| <li>expand on double or single click</li> |
| </ul> |
| </li> |
| <li>polish presentation |
| <ul> |
| <li>animate collapse/expand</li> |
| <li>change folding icon (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61725">bug 61725</a>)</li> |
| <li>[investigate] when hovering over the end of a foldable region |
| of which the beginning is not visible a hover with the start |
| line is shown </li> |
| </ul> |
| </li> |
| <li>[investigate] enabled folding structure provider for content types</li> |
| <li>[investigate] character based folding UI (cross team issue)</li> |
| <li>[investigate] reordering of code based on direct interaction with |
| the folding control</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| formatter |
| <ul> |
| <li>tackle performance issues for large files |
| <ul> |
| <li>use SequentialRewriteStore</li> |
| <li>check possibility of temporal removing of partitioners</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| Open External File |
| <ul> |
| <li> find a way to open external files also when registered editor |
| does not support file buffers </li> |
| <li>support vertical ruler, overview ruler etc.; provide annotation |
| model that is not resource dependent</li> |
| <li>generalize for non-text files (cross team issue)</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| undo |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> synchronize editor dirty bit with undo state (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21493">bug 21493</a>)</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> allow customization of maximum number of undos (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=21476">bug 21476</a>)</li> |
| <li>introduce UI independent undo manager (see also file buffers)</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> harmonize with potential global undo manager (cross team issue) </li> |
| </ul> |
| </li> |
| <li>navigation |
| <ul> |
| <li>generalize Last Edit Position to Edit History </li> |
| <li> provide access to a light weight "Go to" menu similar |
| to the refactoring menu (cross team issue)</li> |
| <li>improve bookmark usability: allow navigation via key binding (cross team issue)</li> |
| <li>[investigate] improve navigation history |
| <ul> |
| <li> introduce bread crumbs (explicit points of user requested |
| navigation that stick out the normal browsing/navigation history)</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>hovering |
| <ul> |
| <li>allow interactive resizing of text and annotation hover popup |
| windows</li> |
| <li>roll-over hovers |
| <ul> |
| <li> solve single-click/double-click issues </li> |
| <li>polish visual appearance such as asymmetric margins</li> |
| <li>implement delay free appearance when entering vertical ruler</li> |
| <li>solve accessibility issues</li> |
| <li>[investigate] provide roll-overs for overview ruler</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| preferences |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> increase number of sharable editor preferences |
| <ul> |
| <li>eventually there should be no initial need for a preference |
| page when a new type of editor is created </li> |
| </ul> |
| </li> |
| <li>adapt to the core settings API, smoothly integrate with the workbench |
| vision (cross team issue)</li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> always split color settings in foreground/background, always allow |
| system/default color </li> |
| <li style="color: rgb(0, 0, 0);"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> revisit "spaces for tabs" preference |
| (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=19036">bug |
| 19036</a>) |
| <ul> |
| <li>reduce confusion without loosing functionality</li> |
| </ul> |
| </li> |
| <li style="color: rgb(0, 0, 0);"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide direct access |
| to preferences where useful</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> [investigate] add line delimiter preference for workspace and |
| project level (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=3970">bug |
| 3970</a>) (cross team issue)</li> |
| </ul> |
| </li> |
| <li>annotations / annotation presentation |
| <ul> |
| <li>all annotation types should support all presentation types (help |
| other teams porting to the new presentation types)</li> |
| <li>allow annotations to be presented using text foreground/background |
| color (overlaps with syntax highlighting then) |
| <ul> |
| <li>generalize AnnotationPainter and TextPresentation to be broader |
| applicable </li> |
| </ul> |
| </li> |
| <li>move header annotation type management to <font face="Courier New, Courier, mono">SourceViewerDecorationSupport</font> |
| and allow for customization via drop down (similar to Go to annotation)</li> |
| <li>[investigate] allow users to reorder presentation layers |
| <ul> |
| <li>generalize annotation presentation layer mechanism to support |
| relative addressing (e.g., on top/below <annotation type>)</li> |
| </ul> |
| </li> |
| <li>[investigate] introduce selective contribution of annotation types |
| to editor types (must be aligned with preference consolidation as |
| it contradicts)</li> |
| </ul> |
| </li> |
| <li>editor |
| <ul> |
| <li>offer "on save" hook e.g. to allow formatting or organize imports |
| on save (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=22742">bug |
| 22742</a>) |
| <ul> |
| <li>ensure that misbehaving pre-save participants do not cause |
| loss of data</li> |
| </ul> |
| </li> |
| <li>provide visible indication for invisible chars</li> |
| <li>editor splitting à la JEdit (top be aligned with editor embedding, |
| cross team issue) (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8009">bug |
| 8009</a>)</li> |
| <li>editor reuse </li> |
| <ul> |
| <li>unify code path of creating and reusing an editor</li> |
| <li>restructure AbstractTextEditor.createPartControl, consider inversion |
| of control (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=71081">bug |
| 71081</a>)<br> |
| </li> |
| <li>update contributions (e.g. enable state of actions) if editor |
| input type changes (e.g. from IFile to external file)</li> |
| </ul> |
| </ul> |
| </li> |
| <ul> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| action contribution |
| <ul> |
| <li>revisit action contribution (cross team issue) </li> |
| <li>reduce performance impact of current platform architecture</li> |
| <li>unify names and values of<font face="Courier New, Courier, mono"> |
| ITextEditorActionDefintionID</font>s</li> |
| </ul> |
| </li> |
| <li>[investigate] editor status bar |
| <ul> |
| <li><font color="#000000"> lock/pen icon rather than text (need |
| to check with screen readers)</font></li> |
| <li><font color="#000000">show current key binding config name in |
| status line and offer double click to open the key binding dialog</font></li> |
| <li><font color="#000000">show current line delimiter</font></li> |
| </ul> |
| </li> |
| <li>[investigate] investigate chances of a SWT rich text widget</li> |
| <li>[investigate] support for multiple clipboards</li> |
| </ul> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> typing |
| <ul> |
| <li>smart typing |
| <ul> |
| <li>improve smart backspace</li> |
| <li>consolidate smart typing infrastructure</li> |
| </ul> |
| </li> |
| <li>make delete line aware of selection</li> |
| <li>introduce "Remove block of empty lines"</li> |
| <li>revisit "raw" insert mode to be useful and not completely |
| dumb </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> introduce light weight "Surround with" and "Search" |
| menu (cross team issue)</li> |
| <li>[investigate] auto correct on typing</li> |
| <li>[investigate] auto format on typing</li> |
| <li>[investigate] direct interaction with auto edit strategies |
| <ul> |
| <li> interactive placement of closing brackets/parenthesis </li> |
| <ul> |
| <li>show pseudo character that can be moved and committed</li> |
| <li>after commit cursor jumps back after opening bracket</li> |
| </ul> |
| </ul> |
| </li> |
| <li>[investigate] zoom in/out feature (text size changes with mouse |
| wheel)</li> |
| <li>[investigate] automatic reset of non-smart to smart or vice versa</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| text manipulation |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add "Remove Trailing space" command for files, folders, and projects</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> add "Convert line delimiter" command for files, folders, and projects</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> consolidate text manipulation infrastructure</li> |
| <li>[investigate] drag'n drop editing</li> |
| </ul> |
| </li> |
| <li>interaction (mouse, keyboard) |
| <ul> |
| <li>selection modes (line selection, word selection)</li> |
| <li>right button mouse click with empty selection should set selection |
| <ul> |
| <li>works only when clicks happens over useful target (not when |
| right of end of line)</li> |
| </ul> |
| </li> |
| <li>indicate caret location in overview ruler</li> |
| <li>[investigate] revive gestures as action triggers (cross team issue)</li> |
| <li>[investigate] action hovers (hovers with which you can interact) |
| <ul> |
| <li>action hovers offer menus that contain sensible follow-up |
| actions for activities triggering auto format, auto text, or |
| auto correct</li> |
| <li>single click undo of auto correct, for example</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> |
| Quick diff |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide memory efficient quick diff algorithm</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> polish presentation of deleted lines in the line number ruler</li> |
| <li><font class="indexsub" color="#8080ff">[>3.1]</font> [investigate] character level diff in hover<font color="#000000"></font></li> |
| </ul> |
| </li> |
| <li>embedded content |
| <ul> |
| <li> nested partitionings</li> |
| <li>find abstraction that represents editor capabilities for fragments |
| of different content type</li> |
| </ul> |
| </li> |
| <li> [investigate] find/replace |
| <ul> |
| <li>editor status bar: interactive find field with a drop down for |
| the find options (similar to Go to annotation)</li> |
| <li>find all in file (similar to Mark occurrences)</li> |
| <li>interactive Replace all (similar to Rename in file)</li> |
| <li>provide a find/replace view part</li> |
| </ul> |
| </li> |
| <li> [investigate] printing (cross team issue) |
| <ul> |
| <li><font color="#000000">header/footer</font></li> |
| <li><font color="#000000">disable painters when printing</font></li> |
| <li><font color="#000000">allow line numbers</font></li> |
| <li><font color="#000000">allow for separate print font</font></li> |
| </ul> |
| </li> |
| <li>[investigate] templates |
| <ul> |
| <li> tackle scalability issues for template preference page |
| <ul> |
| <li>introduce categories</li> |
| <li>auto hide certain templates (templates with generics are only |
| visible if the compiler is at 1.5 level)</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>[investigate] macro/scripting support (cross team issue) (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=8519">bug |
| 8519</a>)</li> |
| </ul> |
| <h3>JDT </h3> |
| <ul> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> comment formatter</li> |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> improve handling of spaces (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49686">bug 49686<span style="font-family: monospace;"></span></a>)</li> |
| <li>provide support for custom tags</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> provide support link tag</li> |
| <li>improve HTML support<br> |
| </li> |
| <li>split general "comment" into Javadoc and code comments</li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> push down to JDT Core (cross team issue)</li> |
| <li>[investigate] define formatting preference by providing an example</li> |
| </ul> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| hovering |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> support link tag</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> correctly remove on focus change on all platforms<br> |
| <li>support @inherit |
| <ul> |
| <li>support inherited Javadoc even without @inherit</li> |
| </ul> |
| </li> |
| <li>[investigate] extract information from external Javadoc</li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> [investigate] use <code>Browser</code> widget for Javadoc hover</li> |
| <li>[investigate] allow to reach hover via mouse (i.e. F2 via mouse)</li> |
| <li>[investigate] if no hover can be extracted inform user how to |
| correctly setup Javadoc and source hovers?</li> |
| </ul> |
| </li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> folding |
| <ul> |
| <li>folding for Java headers (<a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=61328">bug |
| 61328</a>)</li> |
| </ul> |
| </li> |
| <li>content assist |
| <ul> |
| <li>support case-sensitive filtering</li> |
| <li>introduce content assist processor extension point (already there |
| for Javadoc)</li> |
| <li>consolidate content assist infrastructure to cover the concept |
| of presenting and choosing from parameter proposals</li> |
| <li>auto activate content assist if completion trigger is also an |
| auto activation trigger</li> |
| <li><font color="#000000">support code completion after <code>Te| |
| or <tt>Te|</font></li> |
| <li>improve parameter info shown by content assist |
| <ul> |
| <li>[investigate] show the Javadoc of the highlighted parameter</li> |
| </ul> |
| </li> |
| <li><font color="#000000">[investigate] get support from JDT Core for parameter guessing, e.g. lazy for the selected proposal</font></li> |
| <li><font color="#000000">[investigate] propose textual completion |
| based on file contents</font></li> |
| <li><font color="#000000">[investigate] re-establish linked mode for |
| method calls on Show context info</font></li> |
| <li><font color="#000000">[investigate] code assist remembers previous |
| choices in its rating</font></li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| syntax highlighting |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> semantic coloring of 'deprecated' declaration/reference </li> |
| <li>syntax highlighting preview on the preference page should background |
| highlight all occurrences of the selected type, also support backward |
| coupling</li> |
| <li><font class="indexsub" color="#8080ff">[>3.1]</font> improve integration with the color and font preferences provided by the workbench (cross team issue)</li> |
| <li>[investigate] support coloring schemes, scheme switch on tool bar (cross team issue)</li> |
| <li>[investigate] semantic highlighting should use annotations instead of its own model and listener</li> |
| <li>[investigate] generalization of semantic highlighting model to be pushed down to Platform Text </li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> spell checking |
| <ul> |
| <li>improve spell checking to ignore defined Java symbols or mark |
| spelling errors in symbols differently</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> generalize spell checking for Platform Text |
| <ul> |
| <li>dictionaries can be shared between different editor types</li> |
| <li>enable more advanced checking such as grammar checking</li> |
| </ul> |
| </li> |
| <li>rerun spell checking on dictionary change</li> |
| <li>provide spell checking on file, folder, projects</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| editor |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> revisit out of the box colors including which syntax highlightings are enabled and also consider those for J2SE 5.0</li> |
| <li>double click in outliner should transfer focus to editor (to be |
| aligned with the active Open Strategy)</li> |
| <li><font color="#000000">matching delimiter highlighting for html |
| tags <code> </code></font></li> |
| <li>generalize current scope indication and updating to be pushed |
| down to Platform Text</li> |
| <li>[investigate] indicate current block in vertical ruler |
| <ul> |
| <li>option for replacing the magnet; outliner synchronization |
| stays the same</li> |
| </ul> |
| </li> |
| <li>[investigate] method separator line</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> |
| navigation |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> show URLs in comments as underlined text and allow to open such |
| links in a browser</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> generalize hyperlink navigation to become part of Platform Text</li> |
| <li>generalize annotation navigation support to become part of Platform Text </li> |
| <li>[investigate] support Move to next parameter (see content assist: re-establish linked mode)</li> |
| </ul> |
| </li> |
| <li>info views |
| <ul> |
| <li>Javadoc view |
| <ul> |
| <li>support links and link navigation</li> |
| <li>support back and forward (tool bar and/or context menu)</li> |
| </ul> |
| </li> |
| <li>introduce new info/quick views (investigate user configurability) |
| <ul> |
| <li>references in workspace</li> |
| <li>implementers</li> |
| <li>references methods</li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li>reconciling |
| <ul> |
| <li>provide extension point to allow for useful additions to the reconciling |
| process such as running audits</li> |
| <li>[investigate] generalize handling of temporary annotations implemented |
| in the CompilationUnitAnnotationModel to become part of Platform |
| Text</li> |
| </ul> |
| </li> |
| <li>[investigate] Quick fix |
| <ul> |
| <li>generalize QuickFix infrastructure to become part of Platform |
| Text</li> |
| </ul> |
| </li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> [investigate] Mark occurrences |
| <ul> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> highlight implemented methods when clicking on implemented interface</li> |
| </ul> |
| </li> |
| </ul> |
| <h2>Cross team issues</h2> |
| <p>This section contains cross team issues that have to be clarified. The |
| concrete outcome effects the dependent work items listed above.</p> |
| <ul> |
| <li>synchronized blocks compared to ILock</li> |
| <li>reveal file types in preferences, define editors for file types rather |
| than extensions etc.</li> |
| <li>editor splitting (to be synchronized with the Component Framework and multipage editor efforts)</li> |
| <li>simplification/harmonizing of action contribution</li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> harmonize with potential global undo manager</li> |
| <li><font class="indexsub" color="#8080ff">[>3.1]</font> colors and fonts |
| <ul> |
| <li>syntax color schemes</li> |
| <li>integration with the colors and fonts preference page</li> |
| </ul> |
| </li> |
| <li>gesture support/selection modes/hover configuration |
| <ul> |
| <li>mouse/keyboard interaction is just a different kind of "key" |
| binding, i.e. a different kind of activating a command. We should |
| only provide the actions (command implementations) and the rest |
| should be user configurable.</li> |
| </ul> |
| </li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> JDT Core |
| <ul> |
| <li>check for <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=72234">bug 72234</a></li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> adoption of comment formatting</li> |
| </ul> |
| </li> |
| <li> text independent editor layer implementing validateEdit</li> |
| <li>predefined line terminator for new files (to be specified similar |
| to encoding)</li> |
| <li><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"> light weight menus: |
| <ul> |
| <li>Go to</li> |
| <li><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"> Search</li> |
| <li>Surround with</li> |
| <li>...</li> |
| </ul> |
| <li>SWT |
| <ul> |
| <li>SWT rich text widget providing different fonts, font styles, and |
| font sizes</li> |
| <li>StyledText: allow for rendering of custom glyphs (needed for character |
| based folding)</li> |
| </ul> |
| </li> |
| <li>scripting strategy of the platform</li> |
| <li><font class="indexsub" color="#8080ff">[>3.1]</font> compatibility layer for commands moved to LTK UI plug-in</li> |
| </ul> |
| </td> |
| </tr> |
| |
| <tr> |
| <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">3.1 |
| Platform Text Milestone Plans</font></font></td> |
| </tr> |
| |
| <tr> |
| <td WIDTH="100%"> |
| |
| <h3>Previous milestones</h3> |
| <p>Previous 3.1 milestones can be reviewed <a href="previous_plans.html">here</a>.</p> |
| </td> |
| </tr> |
| |
| <tr> |
| <td ALIGN=LEFT VALIGN=TOP COLSPAN="2" WIDTH="100%" BGCOLOR="#595791"><font face="Arial,Helvetica"><font color="#FFFFFF">Bug |
| Tracking</font></font></td> |
| </tr> |
| |
| <tr> |
| <td> |
| <ul> |
| <li> |
| <a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=NEW&bug_status=REOPENED&email1=platform-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Platform&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BNew&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">newly |
| reported PRs</a></li> |
| |
| <li> |
| <a href="http://dev.eclipse.org/bugs/buglist.cgi?bug_status=ASSIGNED&email1=platform-text-inbox@eclipse.org&emailtype1=exact&emailassigned_to1=1&email2=&emailtype2=substring&emailreporter2=1&bugidtype=include&bug_id=&changedin=&votes=&chfieldfrom=&chfieldto=Now&chfieldvalue=&product=Platform&component=Text&short_desc=&short_desc_type=allwordssubstr&long_desc=&long_desc_type=allwordssubstr&keywords=&keywords_type=anywords&field0-0-0=noop&type0-0-0=noop&value0-0-0=&namedcmd=All&newqueryname=Text%2BInbox&tofooter=1&order=Reuse%2Bsame%2Bsort%2Bas%2Blast%2Btime">assigned |
| PRs</a></li> |
| </ul> |
| </td> |
| </tr> |
| </table> |
| <table border="0" cellpadding="2" cellspacing="5" width="100%"><tbody><tr><td colspan="4" align="left" bgcolor="#595791" valign="top" width="100%"><font face="Arial,Helvetica"><font color="#ffffff">Legend |
| </font></font></td> |
| </tr> |
| <tr> |
| <td valign="center"><img src="../images/progress.gif" nosave="" border="0" height="5" width="14" align="middle"></td> |
| <td width="50%">item is under development.</td> |
| <td valign="top"><img src="../images/glass.gif" nosave="" border="0" height="10" width="10"></td> |
| <td width="50%">item is under investigation.</td> |
| </tr> |
| <tr> |
| <td valign="center"><img src="../images/ok.gif" nosave="" border="0" height="10" width="10"></td> |
| <td width="50%">item is finished.</td> |
| <td valign="top">( )</td> |
| <td width="50%">item is time permitted.</td> |
| </tr> |
| <tr> |
| <td valign="center"><font class="indexsub" color="#8080ff">[xyz]</font></td> |
| <td width="50%">item is deferred to or continues in xyz.</td> |
| <td valign="top"><font class="indexsub"><img src="../images/new.gif" border="0"></font></td> |
| <td width="50%">new</td> |
| </tr> |
| </tbody> |
| </table> |
| |
| <br> |
| </body> |
| </html> |